:root {
    --ink: #201e1f;
    --muted: #5f6f7a;
    --line: #dce4e8;
    --brand: #cc0000;
    --accent: #669999;
    --pale: #99cccc;
    --paper: #ffffff;
    --soft: #f5f7f4;
    --champagne: #c8bda7;
}

.mini-form {
    display: grid;
    gap: 12px;
    margin: 16px 0 0;
}
.mini-form input,
.mini-form textarea {
    width: 100%;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.72);
}
.mini-form textarea {
    min-height: 92px;
    resize: vertical;
}
.mini-form button {
    width: 100%;
}
.save-card {
    border-color: var(--champagne);
}
.admin-table-wrap {
    overflow-x: auto;
    margin: 18px 0 34px;
    border: 1px solid var(--line);
}
.admin-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    background: white;
}
.admin-table th,
.admin-table td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}
.admin-table th {
    color: var(--brand);
    font-size: .74rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.admin-table small {
    color: var(--muted);
}
.admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}
.admin-actions a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    color: var(--ink);
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background: var(--paper);
    line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 18px clamp(18px, 4vw, 56px);
    border-bottom: 1px solid var(--line);
}
.brand { font-weight: 800; font-size: 1.05rem; }
.brand-logo { height: 58px; width: auto; object-fit: contain; }
.hero-logo { width: min(360px, 80vw); margin-bottom: 28px; }
nav { display: flex; gap: 18px; align-items: center; }
nav a, .footer a { color: var(--muted); font-weight: 700; }
.site-header nav a {
    color: var(--ink);
    font-weight: 600;
}
.site-header nav a:hover,
.site-header nav a:focus-visible {
    color: var(--brand);
}
.nav-dropdown { position: relative; }
.nav-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 240px;
    display: none;
    padding: 14px;
    background: var(--paper);
    border: 1px solid var(--line);
    box-shadow: 0 22px 60px rgba(0,0,0,.12);
    z-index: 50;
}
.nav-menu a {
    color: var(--ink);
}
.nav-dropdown:hover .nav-menu,
.nav-dropdown:focus-within .nav-menu {
    display: grid;
    gap: 10px;
}
.hero {
    min-height: 620px;
    display: grid;
    align-items: end;
    padding: 80px clamp(18px, 5vw, 72px);
    color: white;
    background:
        linear-gradient(90deg, rgba(13, 29, 33, .86), rgba(13, 29, 33, .42)),
        url("https://images.unsplash.com/photo-1605146769289-440113cc3d00?auto=format&fit=crop&w=1800&q=80") center/cover;
}
.hero > div { max-width: 860px; }
.eyebrow {
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--accent);
    font-size: .78rem;
    font-weight: 800;
}
h1, h2, h3 { line-height: 1.08; margin: 0 0 14px; letter-spacing: 0; }
h1 { font-size: clamp(2.4rem, 6vw, 5rem); max-width: 940px; }
h2 { font-size: clamp(1.8rem, 3vw, 2.8rem); }
.lead { font-size: clamp(1.05rem, 2vw, 1.3rem); max-width: 720px; }
.hero-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
.hero-links a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 10px 13px;
    border: 1px solid rgba(255,255,255,.44);
    color: white;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.search-bar, .filters {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-top: 28px;
    max-width: 960px;
}
input, textarea, select, button, .button {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 13px 14px;
    font: inherit;
}
button, .button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: auto;
    border: 0;
    background: var(--brand);
    color: white;
    font-weight: 800;
    cursor: pointer;
}
.section, .page-title, .admin-panel, .article {
    padding: 64px clamp(18px, 5vw, 72px);
}
.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 16px;
    margin-bottom: 24px;
}
.section-heading a { color: var(--brand); font-weight: 800; }
.intro-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: end;
    padding-bottom: 28px;
}
.intro-panel h2 {
    max-width: 780px;
}
.intro-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}
.service-grid {
    padding-top: 0;
}
.service-card {
    min-height: 100%;
    border-top: 4px solid var(--accent);
}
.service-card h3,
.post-card h3 {
    font-size: 1.3rem;
}
.grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}
.listing-card, .post-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
    background: white;
}
.listing-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: var(--soft);
}
.listing-body, .post-card { padding: 18px; }
.listing-body strong, .price { color: var(--brand); font-size: 1.35rem; font-weight: 900; }
.type-pill {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 10px;
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--pale);
    color: #000;
    font-style: normal;
    font-size: .78rem;
    font-weight: 900;
}
.listing-body small { display: block; margin-top: 10px; color: var(--muted); }
.listing-body span {
    display: inline-block;
    margin: 8px 10px 0 0;
    color: var(--muted);
    font-size: .92rem;
}
.band {
    margin: 24px clamp(18px, 5vw, 72px);
    padding: 42px;
    background: var(--soft);
    border-left: 6px solid var(--accent);
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
}
.filters { padding: 0 clamp(18px, 5vw, 72px) 36px; max-width: none; }
.listing-detail {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: 38px;
    padding: 42px clamp(18px, 5vw, 72px);
}
.detail-photo {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 8px;
}
.facts { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.facts span { background: var(--soft); padding: 9px 12px; border-radius: 8px; font-weight: 800; }
.agent-box, .mortgage-box {
    margin: 18px 0;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: white;
}
.mortgage-box label { display: grid; gap: 6px; margin-top: 10px; font-weight: 800; }
.payment { color: var(--brand); font-size: 1.6rem; font-weight: 900; margin: 8px 0; }
.map { width: 100%; min-height: 280px; border: 0; border-radius: 8px; margin: 12px 0 18px; }
.article { max-width: 880px; margin: auto; }
.article-body { font-size: 1.08rem; }
.post-form { display: grid; gap: 14px; max-width: 760px; }
.post-form label, .admin-panel label { display: grid; gap: 6px; font-weight: 800; margin-bottom: 14px; }
.notice, .empty { padding: 16px; background: var(--soft); border: 1px solid var(--line); border-radius: 8px; }
.footer {
    margin-top: 50px;
    border-top: 1px solid var(--line);
    border-bottom: 0;
    color: var(--muted);
    align-items: start;
}

@media (max-width: 860px) {
    .site-header, .footer, .section-heading, .band { align-items: flex-start; flex-direction: column; }
    .search-bar, .filters, .grid, .listing-detail { grid-template-columns: 1fr; }
    .hero { min-height: 560px; }
    .brand-logo { height: 52px; }
    .site-header nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        width: 100%;
    }
    .nav-menu { position: static; display: grid; box-shadow: none; margin-top: 10px; }
}

/* Luxury editorial refinement */
:root {
    --muted: #6f7477;
    --line: #e8e5df;
    --paper: #fbfaf7;
    --soft: #f4f1eb;
    --champagne: #c8bda7;
}
body {
    font-family: "Helvetica Neue", Arial, sans-serif;
    background: var(--paper);
    font-weight: 300;
}
.site-header {
    padding-top: 22px;
    padding-bottom: 22px;
    background: rgba(251, 250, 247, .96);
    border-bottom-color: rgba(32, 30, 31, .12);
}
.brand { font-weight: 400; letter-spacing: .08em; text-transform: uppercase; }
nav a, .footer a {
    font-size: .78rem;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.site-header nav a {
    color: #201e1f;
    font-weight: 500;
}
.site-header nav a:hover,
.site-header nav a:focus-visible {
    color: var(--brand);
}
.hero {
    min-height: 720px;
    align-items: center;
    padding-top: 120px;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, .72), rgba(0, 0, 0, .18)),
        url("https://images.unsplash.com/photo-1605146769289-440113cc3d00?auto=format&fit=crop&w=1800&q=80") center/cover;
}
.hero > div { max-width: 980px; }
.eyebrow {
    color: var(--champagne);
    font-size: .72rem;
    font-weight: 400;
    letter-spacing: .24em;
}
h1, h2, h3 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}
h1 { font-size: clamp(2.8rem, 6.8vw, 6.4rem); max-width: 1080px; }
h2 { font-size: clamp(2rem, 3.4vw, 3.5rem); }
.lead { font-weight: 300; color: rgba(255,255,255,.86); max-width: 650px; }
.search-bar, .filters {
    gap: 0;
    background: rgba(255,255,255,.96);
    border: 1px solid var(--line);
    box-shadow: 0 24px 70px rgba(0,0,0,.12);
}
.filters {
    margin-inline: clamp(18px, 5vw, 72px);
    padding: 0;
    box-shadow: none;
}
.results-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin: -16px clamp(18px, 5vw, 72px) 34px;
    color: var(--muted);
}
.results-toolbar div {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
.results-toolbar p { margin: 0; }
.results-toolbar a {
    color: var(--brand);
    font-size: .78rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}
input, textarea, select {
    min-height: 56px;
    border: 0;
    border-right: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    font-weight: 300;
}
button, .button {
    min-height: 56px;
    border-radius: 0;
    background: #201e1f;
    font-weight: 400;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: .78rem;
}
.section, .page-title, .admin-panel, .article {
    padding-top: 92px;
    padding-bottom: 92px;
}
.section-heading { margin-bottom: 36px; }
.section-heading a {
    color: var(--brand);
    font-weight: 400;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .78rem;
}
.grid { gap: 34px; }
.listing-card, .post-card {
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}
.listing-card img {
    aspect-ratio: 1 / 1.05;
    transition: transform .5s ease, filter .5s ease;
}
.listing-card a:hover img { transform: scale(1.015); filter: saturate(.94); }
.listing-body, .post-card { padding: 18px 0 0; }
.listing-body strong, .price {
    color: var(--ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.45rem;
    font-weight: 400;
}
.listing-body span, .listing-body p, .listing-body small {
    color: var(--muted);
    font-weight: 300;
}
.type-pill {
    background: transparent;
    color: var(--brand);
    padding: 0;
    border-radius: 0;
    font-size: .7rem;
    font-weight: 400;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.band {
    background: #201e1f;
    color: white;
    border-left: 0;
    padding: 58px;
}
.band p { color: rgba(255,255,255,.76); }
.listing-detail {
    background: #ebe7df;
    gap: 58px;
}
.detail-photo, .map { border-radius: 0; }
.facts span {
    background: transparent;
    border: 1px solid var(--line);
    border-radius: 0;
    font-weight: 300;
}
.agent-box, .mortgage-box {
    border-radius: 0;
    background: rgba(255,255,255,.72);
}
.mortgage-box label, .post-form label, .admin-panel label { font-weight: 300; }
.payment {
    font-family: Georgia, "Times New Roman", serif;
    color: var(--ink);
    font-weight: 400;
}

/* Full IDX property detail page */
.property-page {
    max-width: 1180px;
    margin: 0 auto;
    padding: 28px clamp(18px, 4vw, 42px) 72px;
}
.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 14px 0 26px;
    color: var(--muted);
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.breadcrumbs strong { color: var(--brand); font-weight: 400; }
.property-hero {
    display: flex;
    justify-content: space-between;
    gap: 32px;
    align-items: end;
    margin-bottom: 24px;
}
.property-hero h1 {
    font-size: clamp(2.2rem, 4.5vw, 4.8rem);
    margin-bottom: 8px;
}
.property-hero p { margin: 0; color: var(--muted); }
.listing-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}
.listing-badges span {
    border: 1px solid var(--line);
    padding: 6px 9px;
    font-size: .68rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted);
}
.property-price {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    color: var(--ink) !important;
    white-space: nowrap;
}
.property-gallery { margin-bottom: 34px; }
.property-gallery,
.gallery-wrap {
    position: relative;
}
.gallery-main {
    width: 100%;
    aspect-ratio: 16 / 7.6;
    object-fit: cover;
    cursor: zoom-in;
}
.gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
    align-items: stretch;
}
.gallery-thumb,
.gallery-thumbs img,
.gallery-thumbs span,
.gallery-more {
    aspect-ratio: 1.25 / 1;
    object-fit: cover;
    border: 1px solid var(--line);
}
.gallery-thumb {
    width: 100%;
    min-height: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
}
.gallery-thumb img {
    width: 100%;
    height: 100%;
    border: 0;
}
.gallery-thumb.is-active {
    border-color: var(--brand);
}
.gallery-thumb.is-hidden {
    display: none;
}
.gallery-thumbs span,
.gallery-more {
    display: grid;
    place-items: center;
    background: white;
    color: var(--muted);
    font-size: .8rem;
}
.gallery-more {
    width: 100%;
    min-height: 0;
    cursor: pointer;
}
.gallery-arrow {
    position: absolute;
    top: calc((100vw - 80px) * .238);
    transform: translateY(-50%);
    width: 44px;
    min-height: 44px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.7);
    background: rgba(32,30,31,.54);
    color: white;
    font-size: 1.8rem;
    line-height: 1;
    z-index: 2;
}
.gallery-prev { left: 18px; }
.gallery-next { right: 18px; }
.gallery-lightbox {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 32px;
    background: rgba(0,0,0,.9);
    z-index: 1000;
}
.gallery-lightbox.is-open { display: flex; }
.gallery-lightbox img {
    max-width: min(1200px, 92vw);
    max-height: 86vh;
    object-fit: contain;
}
.lightbox-close,
.lightbox-prev,
.lightbox-next {
    position: absolute;
    border: 1px solid rgba(255,255,255,.55);
    background: rgba(255,255,255,.08);
    color: white;
    cursor: pointer;
}
.lightbox-close {
    top: 22px;
    right: 22px;
    width: 46px;
    min-height: 46px;
    border-radius: 999px;
    font-size: 1.8rem;
}
.lightbox-prev,
.lightbox-next {
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
    min-height: 52px;
    border-radius: 999px;
    font-size: 2rem;
}
.lightbox-prev { left: 22px; }
.lightbox-next { right: 22px; }
.property-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 32px;
    align-items: start;
}
.property-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-bottom: 28px;
    color: var(--ink);
}
.property-facts span {
    border-bottom: 1px solid var(--champagne);
    padding-bottom: 8px;
}
.property-section { margin-bottom: 34px; }
.property-section h2,
.side-card h2 {
    font-size: 1.15rem;
    margin-bottom: 14px;
}
.detail-card,
.side-card {
    border: 1px solid var(--line);
    background: rgba(255,255,255,.68);
    padding: 22px;
}
.detail-card p:first-child { margin-top: 0; }
.muted { color: var(--muted); }
.expanded-mortgage {
    display: grid;
    gap: 14px;
}
.expanded-mortgage label {
    display: grid;
    gap: 8px;
}
.payment-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding-top: 16px;
    border-top: 1px solid var(--line);
}
.property-actions,
.side-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.load-more-wrap {
    display: flex;
    justify-content: center;
    padding: 34px clamp(18px, 5vw, 72px) 0;
}
.map-results {
    margin: 0 clamp(18px, 5vw, 72px) 34px;
}
.lead-panel {
    display: grid;
    gap: 12px;
    padding: 24px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.72);
}
.lead-panel input,
.lead-panel select,
.lead-panel textarea {
    width: 100%;
    border: 1px solid var(--line);
    background: white;
}
.lead-panel textarea {
    min-height: 118px;
    resize: vertical;
}
.inline-lead {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.inline-lead button {
    width: 100%;
}
.saved-search-section {
    padding-top: 54px;
}
.contact-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr);
    gap: 42px;
    align-items: start;
}
.contact-split > div > p:not(.eyebrow) {
    max-width: 640px;
    color: var(--muted);
}
.contact-points {
    display: grid;
    gap: 12px;
    margin-top: 24px;
}
.contact-points p {
    margin: 0;
    padding-left: 18px;
    border-left: 3px solid var(--accent);
}
.seller-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr);
    gap: 42px;
    align-items: start;
}
.seller-hero {
    min-height: 560px;
}
.mls-disclaimer {
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: .82rem;
}
.button.secondary,
.side-actions a {
    background: transparent;
    color: var(--ink);
    border: 1px solid var(--line);
}
.property-sidebar {
    display: grid;
    gap: 18px;
    position: sticky;
    top: 92px;
}
.agent-help-card {
    background: #201e1f;
    color: white;
}
.agent-help-card .muted,
.agent-help-card p {
    color: rgba(255,255,255,.72);
}
.agent-help-card .eyebrow {
    color: var(--champagne);
}
.agent-help-card .button {
    width: 100%;
    background: white;
    color: #201e1f;
}
.inquiry-card form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.sample-lead-form,
.quick-lead-form {
    display: grid;
    gap: 12px;
    margin: 16px 0;
}
.sample-lead-form input,
.quick-lead-form input {
    width: 100%;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.72);
}
.sample-lead-form .button,
.quick-lead-form .button {
    width: 100%;
}
.inquiry-card textarea,
.inquiry-card button {
    grid-column: 1 / -1;
}
.inquiry-card textarea { min-height: 110px; resize: vertical; }
.contact-card .button,
.consultation-card .button,
.inquiry-card button {
    width: 100%;
}
.detail-list {
    display: grid;
    gap: 0;
    margin: 0;
}
.detail-list div {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 11px 0;
    border-bottom: 1px solid var(--line);
}
.detail-list div:last-child { border-bottom: 0; }
.detail-list dt {
    color: var(--brand);
    font-size: .78rem;
}
.detail-list dd {
    margin: 0;
    text-align: right;
}
.property-detail-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.property-detail-group h3 {
    font-size: 1rem;
    margin-bottom: 12px;
}
.detail-list-wide div {
    align-items: start;
}
.detail-list-wide dd {
    max-width: 62%;
}
.consultation-card {
    text-align: center;
    background: #201e1f;
    color: white;
}
.consultation-card p { color: rgba(255,255,255,.72); }
.mobile-sticky-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
    grid-template-columns: 1fr 1fr;
    z-index: 900;
    border-top: 1px solid var(--line);
    background: var(--paper);
}
.mobile-sticky-cta a {
    padding: 14px 12px;
    text-align: center;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-size: .76rem;
}
.mobile-sticky-cta a:last-child {
    background: #201e1f;
    color: white;
}
.section-heading.compact h2 {
    font-size: clamp(1.6rem, 2.2vw, 2.25rem);
}
.related-section {
    margin-top: 54px;
}
.related-carousel {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(280px, 32%);
    gap: 24px;
    overflow-x: auto;
    padding-bottom: 16px;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
}
.related-carousel .listing-card {
    scroll-snap-align: start;
}
.footer {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
    background: #201e1f;
    color: rgba(255,255,255,.68);
    border-top: 0;
    overflow: hidden;
}
.footer-inner {
    width: min(1180px, calc(100% - 36px));
    margin: 0 auto;
    display: grid;
    gap: 28px;
    padding: 54px 0 28px;
}
.footer-top,
.footer-bottom {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(260px, .9fr);
    gap: 28px;
    align-items: start;
}
.footer-brand {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    min-width: 0;
}
.footer-brand img {
    width: clamp(120px, 16vw, 170px);
    flex: 0 0 auto;
    height: auto;
    filter: brightness(0) invert(1);
}
.footer strong {
    display: block;
    color: white;
    font-weight: 400;
    margin-bottom: 8px;
}
.footer h2 {
    color: var(--champagne);
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: .74rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-bottom: 14px;
}
.footer p {
    margin: 0 0 10px;
}
.footer-statement {
    max-width: 540px;
    margin: 0;
    text-align: right;
    justify-self: end;
}
.footer-nav {
    display: grid;
    grid-template-columns: minmax(180px, .9fr) minmax(220px, 1fr) minmax(240px, 1.1fr);
    gap: clamp(22px, 4vw, 48px);
    padding: 30px 0;
    border-top: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(255,255,255,.12);
}
.footer-column {
    display: grid;
    gap: 8px;
    align-content: start;
    min-width: 0;
}
.footer a {
    color: rgba(255,255,255,.7);
    overflow-wrap: anywhere;
}
.footer a:hover {
    color: white;
}
.footer-contact a {
    text-transform: none;
    letter-spacing: 0;
    font-size: .95rem;
}
.footer-bottom {
    color: rgba(255,255,255,.48);
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    grid-template-columns: auto auto minmax(240px, 1fr);
}
.footer-bottom span:last-child {
    text-align: right;
}

@media (max-width: 980px) {
    .site-header {
        align-items: flex-start;
        flex-direction: column;
    }
    .site-header nav {
        width: 100%;
        flex-wrap: wrap;
        gap: 10px 16px;
    }
    .site-header nav a,
    .nav-dropdown > a {
        display: inline-flex;
        align-items: center;
        min-height: 38px;
    }
    .nav-dropdown {
        width: 100%;
    }
    .nav-menu {
        position: static;
        display: grid;
        margin-top: 8px;
        box-shadow: none;
        background: rgba(255,255,255,.72);
    }
    .property-hero,
    .property-grid {
        grid-template-columns: 1fr;
        display: grid;
    }
    .property-sidebar { position: static; grid-template-columns: 1fr; }
    .property-detail-groups { grid-template-columns: 1fr; }
    .detail-list-wide dd { max-width: none; }
    .gallery-main { aspect-ratio: 4 / 3; }
    .gallery-thumbs { grid-template-columns: repeat(4, 1fr); }
    .inquiry-card form { grid-template-columns: 1fr; }
    .mobile-sticky-cta { display: grid; }
    .related-carousel { grid-auto-columns: minmax(240px, 82%); }
    .footer-inner { width: min(100% - 32px, 760px); }
    .footer-top,
    .footer-bottom { grid-template-columns: 1fr; }
    .footer-statement {
        text-align: left;
        justify-self: start;
    }
    .footer-nav {
        grid-template-columns: 1fr;
    }
    .footer-bottom span:last-child { text-align: left; }
    .results-toolbar { align-items: flex-start; flex-direction: column; }
    .inline-lead,
    .seller-layout,
    .intro-panel,
    .contact-split {
        grid-template-columns: 1fr;
    }
    .intro-actions {
        justify-content: flex-start;
    }
    .search-bar {
        grid-template-columns: 1fr;
    }
    .filters,
    .grid {
        grid-template-columns: 1fr;
    }
    .admin-actions {
        justify-content: flex-start;
    }
    .admin-panel {
        padding-left: 16px;
        padding-right: 16px;
    }
}

@media (max-width: 560px) {
    .site-header {
        padding-left: 16px;
        padding-right: 16px;
    }
    .brand-logo {
        height: 48px;
    }
    .site-header nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 12px;
    }
    .nav-dropdown,
    .nav-menu {
        grid-column: 1 / -1;
    }
    .property-page {
        padding-left: 16px;
        padding-right: 16px;
    }
    .property-hero {
        align-items: start;
    }
    .footer-inner {
        width: min(100% - 28px, 760px);
    }
    .footer-brand {
        flex-direction: column;
    }
    .detail-list div {
        display: grid;
        gap: 4px;
    }
    .detail-list dd {
        text-align: left;
    }
}


/* =========================================================
   HARD MOBILE FIX — header, hamburger, and mobile gutters
   Keep this block at the very bottom of app.css.
   ========================================================= */

.nav-toggle {
    position: absolute;
    left: -9999px;
    opacity: 0;
}

.nav-toggle-label {
    display: none;
}

@media (max-width: 760px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .site-header {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        align-items: center !important;
        justify-content: normal !important;
        gap: 14px !important;
        padding: 18px 24px !important;
        flex-direction: initial !important;
    }

    .site-header .brand {
        display: block !important;
        min-width: 0 !important;
    }

    .site-header .brand-logo {
        width: auto !important;
        height: 50px !important;
        max-width: 190px !important;
    }

    .site-header .nav-toggle-label {
        display: inline-flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        cursor: pointer !important;
    }

    .site-header .nav-toggle-label span {
        display: block !important;
        width: 26px !important;
        height: 2px !important;
        border-radius: 0 !important;
        background: #201e1f !important;
    }

    .site-header .main-nav {
        display: none !important;
    }

    .site-header .nav-toggle:checked ~ .main-nav {
        display: grid !important;
        grid-column: 1 / -1 !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        gap: 0 !important;
        padding: 16px 0 0 !important;
        margin: 0 !important;
        border-top: 1px solid var(--line) !important;
    }

    .site-header .main-nav > a,
    .site-header .main-nav .nav-dropdown > a,
    .site-header .main-nav .nav-menu a {
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
        padding: 14px 0 !important;
        margin: 0 !important;
        border-bottom: 1px solid var(--line) !important;
        font-size: .82rem !important;
        line-height: 1.25 !important;
        letter-spacing: .12em !important;
    }

    .site-header .main-nav .nav-dropdown {
        display: block !important;
        width: 100% !important;
    }

    .site-header .main-nav .nav-menu {
        position: static !important;
        display: grid !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 0 0 18px !important;
        margin: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        z-index: auto !important;
    }

    .hero,
    .section,
    .page-title,
    .article,
    .admin-panel,
    .saved-search-section,
    .property-page {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .page-title {
        padding-top: 54px !important;
        padding-bottom: 54px !important;
    }

    .page-title h1 {
        font-size: clamp(2.55rem, 13vw, 4.2rem) !important;
        line-height: .98 !important;
    }

    .page-title p {
        font-size: 1.05rem !important;
        line-height: 1.6 !important;
    }

    .filters {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 24px 26px !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .filters input,
    .filters select,
    .filters button {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 56px !important;
        border-right: 0 !important;
        border-bottom: 1px solid var(--line) !important;
        box-sizing: border-box !important;
    }

    .filters button {
        border-bottom: 0 !important;
    }

    .results-toolbar {
        width: auto !important;
        max-width: none !important;
        margin: 0 24px 28px !important;
        padding: 0 !important;
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .grid,
    .map-results,
    .load-more-wrap {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: auto !important;
        max-width: none !important;
        margin-left: 24px !important;
        margin-right: 24px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .listing-card,
    .listing-card a,
    .listing-card img {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .listing-body {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .property-hero {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        align-items: start !important;
    }

    .property-price {
        white-space: normal !important;
    }

    .property-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }
}

/* Reduce oversized desktop/mobile spacing */
.intro-panel {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
}

.section {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
}

@media (max-width: 760px) {
    .intro-panel,
    .section,
    .page-title {
        padding-top: 36px !important;
        padding-bottom: 36px !important;
    }
}

/* Desktop layout cleanup */

.filters,
.results-toolbar,
.results-toolbar + .grid,
.map-results,
.load-more-wrap {
    width: min(1180px, calc(100% - 72px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.filters {
    padding: 0 !important;
    margin-bottom: 22px !important;
    grid-template-columns: 1.2fr 1fr 1fr 1fr .8fr 1fr 160px !important;
}

.results-toolbar {
    margin-top: 0 !important;
}

.property-actions {
    margin: 28px 0 !important;
    gap: 18px !important;
    align-items: center !important;
}

.property-actions .button {
    width: auto !important;
    min-width: 180px !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
    white-space: nowrap !important;
}

@media (max-width: 980px) {
    .filters,
    .results-toolbar,
    .results-toolbar + .grid,
    .map-results,
    .load-more-wrap {
        width: calc(100% - 48px) !important;
    }

    .filters {
        grid-template-columns: 1fr !important;
    }
}
/* Archived listing status */
.archive-notice {
    margin: 0 0 28px;
    padding: 18px 22px;
    border: 1px solid rgba(143, 92, 48, .28);
    background: #fff8ef;
    color: #3a2a1d;
}
.archive-notice strong {
    display: block;
    margin-bottom: 6px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: .78rem;
}
.archive-notice p {
    margin: 0;
    line-height: 1.55;
}

/* =========================================================
   WOW LUXURY TEMPLATE — July 2026
   Upload with app/Views/layout/main.php so the cache-buster changes.
   ========================================================= */
:root {
    --lux-ink: #12100d;
    --lux-black: #0c0b09;
    --lux-cream: #f6f0e7;
    --lux-ivory: #fffaf1;
    --lux-taupe: #c9bca8;
    --lux-gold: #b8955d;
    --lux-bronze: #765a35;
    --lux-muted: #81786d;
    --lux-line: rgba(18,16,13,.13);
    --brand: #8f1d18;
    --accent: #b8955d;
    --champagne: #c9bca8;
    --paper: #f6f0e7;
    --soft: #eee5d8;
    --ink: #12100d;
    --muted: #756f66;
    --line: rgba(18,16,13,.14);
}

html { scroll-behavior: smooth; }
body.luxury-template {
    color: var(--lux-ink);
    background:
        radial-gradient(circle at top left, rgba(184,149,93,.14), transparent 32rem),
        linear-gradient(180deg, #fbf7ef 0%, #f2eadf 38%, #fbf7ef 100%);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.luxury-template:before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    opacity: .34;
    background-image:
        linear-gradient(rgba(18,16,13,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(18,16,13,.035) 1px, transparent 1px);
    background-size: 78px 78px;
}

body.luxury-template .site-header {
    position: sticky;
    top: 0;
    z-index: 700;
    padding: 16px clamp(18px, 4vw, 54px);
    background: rgba(246,240,231,.88);
    border-bottom: 1px solid rgba(18,16,13,.12);
    backdrop-filter: blur(18px);
    box-shadow: 0 18px 46px rgba(18,16,13,.05);
}
body.luxury-template .brand-logo { height: 54px; }
body.luxury-template .main-nav { gap: clamp(12px, 2vw, 26px); }
body.luxury-template .main-nav a {
    position: relative;
    color: var(--lux-ink);
    font-size: .7rem;
    letter-spacing: .18em;
    font-weight: 650;
    opacity: .82;
}
body.luxury-template .main-nav a:after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -7px;
    height: 1px;
    background: var(--lux-gold);
    transition: right .25s ease;
}
body.luxury-template .main-nav a:hover:after { right: 0; }
body.luxury-template .main-nav .nav-contact {
    padding: 12px 16px;
    border: 1px solid rgba(18,16,13,.16);
    background: rgba(255,250,241,.56);
}
body.luxury-template .main-nav .nav-contact:after { display: none; }

body.luxury-template h1,
body.luxury-template h2,
body.luxury-template h3,
body.luxury-template .property-price,
body.luxury-template .listing-body strong,
body.luxury-template .payment {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    letter-spacing: -.035em;
}
body.luxury-template .eyebrow {
    color: var(--lux-gold);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .24em;
}

.luxury-hero {
    position: relative;
    min-height: calc(100vh - 87px);
    isolation: isolate;
    overflow: hidden;
    color: white;
    background: var(--lux-black);
}
.luxury-hero-bg {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(12,11,9,.93) 0%, rgba(12,11,9,.78) 43%, rgba(12,11,9,.25) 100%),
        url("https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=2200&q=86") center/cover;
    transform: scale(1.02);
}
.luxury-hero:after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 38%;
    z-index: -1;
    background: linear-gradient(180deg, transparent, rgba(12,11,9,.94));
}
.luxury-hero-inner {
    width: min(1280px, calc(100% - 48px));
    min-height: calc(100vh - 87px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 430px);
    gap: clamp(32px, 5vw, 70px);
    align-items: center;
    padding: clamp(64px, 8vw, 118px) 0;
}
.luxury-hero-copy h1 {
    max-width: 900px;
    margin-bottom: 20px;
    font-size: clamp(3.6rem, 8vw, 8.2rem);
    line-height: .86;
    text-wrap: balance;
}
.luxury-hero-copy .lead {
    max-width: 660px;
    color: rgba(255,255,255,.78);
    font-size: clamp(1.08rem, 1.65vw, 1.38rem);
    line-height: 1.65;
}
.luxury-search {
    width: min(980px, 100%);
    margin-top: 34px;
    border: 1px solid rgba(255,255,255,.20);
    background: rgba(255,250,241,.94);
    box-shadow: 0 35px 90px rgba(0,0,0,.35);
}
.luxury-search input,
.luxury-search select {
    color: var(--lux-ink);
    border-right: 1px solid rgba(18,16,13,.12);
}
.luxury-search button { background: var(--lux-gold); color: var(--lux-black); }
.luxury-tabs { margin-top: 22px; }
.luxury-tabs a {
    border-color: rgba(255,255,255,.25);
    background: rgba(255,255,255,.05);
    backdrop-filter: blur(10px);
}
.luxury-hero-panel {
    display: grid;
    gap: 16px;
    align-self: end;
}
.hero-feature-card {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(18px);
    box-shadow: 0 28px 70px rgba(0,0,0,.26);
}
.hero-feature-card img {
    width: 100%;
    aspect-ratio: 4 / 4.6;
    object-fit: cover;
}
.hero-feature-card span,
.hero-feature-card small {
    color: rgba(255,255,255,.72);
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: .68rem;
}
.hero-feature-card strong {
    color: white;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 400;
}
.placeholder-card { min-height: 420px; align-content: end; }
.hero-stat-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.hero-stat-row div {
    padding: 18px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.07);
}
.hero-stat-row strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.45rem;
    font-weight: 400;
}
.hero-stat-row span { color: rgba(255,255,255,.62); font-size: .85rem; }

body.luxury-template .section,
body.luxury-template .page-title,
body.luxury-template .admin-panel,
body.luxury-template .article {
    width: min(1280px, calc(100% - 48px));
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}
.luxury-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .72fr);
    gap: clamp(32px, 6vw, 86px);
    align-items: end;
    border-bottom: 1px solid rgba(18,16,13,.12);
}
.luxury-intro h2 { max-width: 760px; font-size: clamp(2.4rem, 4.6vw, 5.4rem); line-height: .95; }
.luxury-intro > p { color: var(--lux-muted); font-size: 1.08rem; line-height: 1.8; }
.luxury-services {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: rgba(18,16,13,.12);
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 76px;
    margin-bottom: 76px;
}
.luxe-service-card {
    min-height: 360px;
    display: grid;
    align-content: end;
    padding: clamp(28px, 4vw, 46px);
    background: rgba(255,250,241,.74);
    border: 0;
}
.luxe-service-card > span {
    align-self: start;
    color: rgba(18,16,13,.24);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 4rem;
    line-height: 1;
}
.luxe-service-card h3 { font-size: clamp(1.7rem, 2.5vw, 2.55rem); }
.luxe-service-card p:not(.eyebrow) { color: var(--lux-muted); }

.luxury-heading { align-items: flex-end; }
.luxury-heading h2 { font-size: clamp(2.35rem, 4.2vw, 5rem); }
.luxury-heading a {
    color: var(--lux-bronze);
    border-bottom: 1px solid rgba(118,90,53,.35);
    padding-bottom: 6px;
}
body.luxury-template .grid { gap: clamp(22px, 3vw, 38px); }
.luxury-listing-card {
    position: relative;
    background: #fffaf1;
    box-shadow: 0 22px 60px rgba(18,16,13,.08);
    transition: transform .32s ease, box-shadow .32s ease;
}
.luxury-listing-card:hover { transform: translateY(-7px); box-shadow: 0 34px 90px rgba(18,16,13,.14); }
.luxury-listing-card .listing-media-wrap { position: relative; overflow: hidden; background: #17130f; }
.luxury-listing-card img {
    width: 100%;
    aspect-ratio: 1 / 1.05;
    object-fit: cover;
    transition: transform .7s ease, filter .7s ease;
}
.luxury-listing-card:hover img { transform: scale(1.045); filter: contrast(1.04) saturate(.94); }
.luxury-listing-card .type-pill {
    position: absolute;
    left: 14px;
    bottom: 14px;
    padding: 9px 11px;
    background: rgba(12,11,9,.74);
    color: white;
    backdrop-filter: blur(10px);
}
.luxury-listing-card .listing-body { padding: 20px 20px 22px; }
.luxury-listing-card .listing-body strong { font-size: 1.72rem; color: var(--lux-black); }
.luxury-listing-card .listing-body h3 { font-size: 1.25rem; letter-spacing: -.02em; }
.listing-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}
.listing-stats span {
    margin: 0 !important;
    padding: 7px 9px;
    border: 1px solid rgba(18,16,13,.12);
    color: var(--lux-muted);
    font-size: .78rem;
}

.luxury-band {
    width: min(1280px, calc(100% - 48px));
    margin: 72px auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 36px;
    align-items: end;
    padding: clamp(42px, 6vw, 82px);
    color: white;
    background:
        linear-gradient(120deg, rgba(12,11,9,.96), rgba(12,11,9,.78)),
        url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1800&q=82") center/cover;
    box-shadow: 0 34px 90px rgba(18,16,13,.18);
}
.luxury-band h2 { max-width: 780px; font-size: clamp(2.4rem, 5vw, 5.4rem); line-height: .95; }
.luxury-band p:not(.eyebrow) { max-width: 680px; color: rgba(255,255,255,.74); }
.luxury-band-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.luxury-band .button { background: var(--lux-gold); color: var(--lux-black); }
.luxury-band .button.secondary { background: transparent; color: white; border-color: rgba(255,255,255,.28); }

.area-card {
    min-height: 360px;
    display: grid;
    align-content: end;
    padding: 26px !important;
    color: white;
    position: relative;
    overflow: hidden;
    background: #111;
}
.area-card:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: center/cover;
    transition: transform .7s ease;
}
.area-card:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, transparent, rgba(0,0,0,.82));
}
.area-card:hover:before { transform: scale(1.05); }
.area-brownsville:before { background-image: url("https://images.unsplash.com/photo-1600047509807-ba8f99d2cdde?auto=format&fit=crop&w=1200&q=82"); }
.area-harlingen:before { background-image: url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1200&q=82"); }
.area-spi:before { background-image: url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1200&q=82"); }
.area-card p { color: rgba(255,255,255,.76); }
.area-card h3 { font-size: 1.8rem; }

.journal-card {
    padding: 28px !important;
    border: 1px solid rgba(18,16,13,.12);
    background: rgba(255,250,241,.56);
}
.journal-card h3 { font-size: 1.65rem; }
.journal-card p { color: var(--lux-muted); }

.luxury-contact {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(380px, .7fr);
    gap: clamp(34px, 6vw, 92px);
    align-items: start;
    padding-top: 90px !important;
    border-top: 1px solid rgba(18,16,13,.12);
}
.luxury-contact h2 { font-size: clamp(2.2rem, 4vw, 4.6rem); line-height: .96; }
body.luxury-template .lead-panel {
    border: 1px solid rgba(18,16,13,.14);
    background: rgba(255,250,241,.74);
    box-shadow: 0 24px 70px rgba(18,16,13,.08);
}
body.luxury-template .lead-panel input,
body.luxury-template .lead-panel select,
body.luxury-template .lead-panel textarea,
body.luxury-template .mini-form input,
body.luxury-template .mini-form textarea,
body.luxury-template .post-form input,
body.luxury-template .post-form textarea,
body.luxury-template .post-form select {
    border: 1px solid rgba(18,16,13,.13);
    background: rgba(255,255,255,.68);
}
body.luxury-template button,
body.luxury-template .button {
    background: var(--lux-black);
    color: white;
    transition: transform .24s ease, background .24s ease, color .24s ease;
}
body.luxury-template button:hover,
body.luxury-template .button:hover { transform: translateY(-2px); background: var(--lux-gold); color: var(--lux-black); }
body.luxury-template .button.secondary { background: transparent; color: var(--lux-black); border-color: rgba(18,16,13,.18); }
body.luxury-template .button.secondary:hover { background: var(--lux-black); color: white; }

body.luxury-template .page-title {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(70px, 9vw, 120px) clamp(24px, 6vw, 72px) !important;
    color: white;
    background:
        linear-gradient(120deg, rgba(12,11,9,.92), rgba(12,11,9,.56)),
        url("https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=1900&q=82") center/cover;
}
body.luxury-template .page-title h1 { font-size: clamp(3.2rem, 7vw, 7rem); max-width: 1080px; }
body.luxury-template .page-title p { color: rgba(255,255,255,.74); max-width: 720px; font-size: 1.13rem; }
body.luxury-template .filters {
    margin-top: -32px !important;
    background: rgba(255,250,241,.97);
    box-shadow: 0 24px 70px rgba(18,16,13,.12);
    border: 1px solid rgba(18,16,13,.12);
    position: relative;
    z-index: 4;
}
body.luxury-template .results-toolbar { color: var(--lux-muted); }

body.luxury-template .property-page {
    width: min(1280px, calc(100% - 48px));
}
body.luxury-template .property-gallery,
body.luxury-template .detail-card,
body.luxury-template .side-card {
    box-shadow: 0 22px 70px rgba(18,16,13,.07);
}
body.luxury-template .gallery-main { box-shadow: 0 28px 80px rgba(18,16,13,.12); }
body.luxury-template .agent-help-card,
body.luxury-template .consultation-card {
    background:
        linear-gradient(135deg, rgba(18,16,13,.98), rgba(18,16,13,.88)),
        radial-gradient(circle at top right, rgba(184,149,93,.35), transparent 22rem);
}

body.luxury-template .footer {
    margin-top: 80px;
    background:
        radial-gradient(circle at top right, rgba(184,149,93,.18), transparent 34rem),
        #0c0b09;
}
body.luxury-template .footer-brand img { filter: brightness(0) invert(1); }

@media (max-width: 980px) {
    .luxury-hero-inner,
    .luxury-intro,
    .luxury-services,
    .luxury-band,
    .luxury-contact {
        grid-template-columns: 1fr;
    }
    .luxury-hero-panel { align-self: start; }
    .hero-feature-card img { aspect-ratio: 16 / 10; }
    .luxury-band-actions { justify-content: flex-start; }
    body.luxury-template .grid { grid-template-columns: 1fr; }
    .luxury-services { gap: 1px; }
}

@media (max-width: 760px) {
    body.luxury-template .site-header { padding: 16px 20px !important; }
    body.luxury-template .nav-toggle-label span { background: var(--lux-black) !important; }
    body.luxury-template .main-nav a { color: var(--lux-black) !important; }
    .luxury-hero-inner {
        width: calc(100% - 40px);
        min-height: auto;
        padding: 62px 0 44px;
    }
    .luxury-hero-copy h1 { font-size: clamp(3.25rem, 15vw, 5.3rem); }
    .luxury-search { grid-template-columns: 1fr !important; }
    .luxury-search input,
    .luxury-search select { border-right: 0; border-bottom: 1px solid rgba(18,16,13,.12); }
    body.luxury-template .section,
    body.luxury-template .page-title,
    body.luxury-template .admin-panel,
    body.luxury-template .article,
    body.luxury-template .property-page,
    .luxury-band {
        width: calc(100% - 40px) !important;
    }
    body.luxury-template .page-title {
        width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .luxury-services { margin-top: 44px; margin-bottom: 44px; }
    .luxe-service-card { min-height: 290px; }
    .luxury-band { padding: 32px 24px; margin-top: 44px; margin-bottom: 44px; }
    .area-card { min-height: 300px; }
    body.luxury-template .filters { margin-top: -22px !important; }
}


/* =========================================================
   LUXURY WOW V2 — wider layout, rectangular IDX media,
   Starbase/Cameron County positioning, latest homes carousel
   ========================================================= */
:root {
    --site-max: 1480px;
    --content-max: 1400px;
}

.site-header {
    padding-left: clamp(28px, 4.5vw, 82px) !important;
    padding-right: clamp(28px, 4.5vw, 82px) !important;
}

.luxury-hero {
    min-height: 780px !important;
    padding: 74px clamp(28px, 4.5vw, 82px) 70px !important;
}

.luxury-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 82% 20%, rgba(255,255,255,.14), transparent 24%),
        linear-gradient(90deg, rgba(0,0,0,.86), rgba(0,0,0,.54) 48%, rgba(0,0,0,.22));
    pointer-events: none;
    z-index: 1;
}

.luxury-hero-inner {
    position: relative;
    z-index: 2;
    width: min(var(--site-max), 100%) !important;
    max-width: none !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(520px, .96fr) minmax(520px, .86fr) !important;
    gap: clamp(42px, 5vw, 86px) !important;
    align-items: center !important;
}

.luxury-hero-copy h1 {
    max-width: 900px !important;
    font-size: clamp(3.4rem, 5.8vw, 7.6rem) !important;
    line-height: .9 !important;
    letter-spacing: -.045em !important;
}

.luxury-hero-copy .lead {
    max-width: 760px !important;
    font-size: clamp(1.03rem, 1.28vw, 1.28rem) !important;
}

.luxury-search {
    max-width: 940px !important;
}

.luxury-market-panel {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.market-panel-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
    color: white;
}

.market-panel-heading h2 {
    margin: 0;
    max-width: 420px;
    color: white;
    font-size: clamp(1.55rem, 2vw, 2.5rem);
    line-height: .98;
}

.hero-listing-carousel {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(390px, 72%);
    gap: 18px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 0 4px 16px 0;
}

.hero-listing-carousel::-webkit-scrollbar,
.related-carousel::-webkit-scrollbar {
    height: 8px;
}

.hero-listing-carousel::-webkit-scrollbar-track,
.related-carousel::-webkit-scrollbar-track {
    background: rgba(255,255,255,.16);
}

.hero-listing-carousel::-webkit-scrollbar-thumb,
.related-carousel::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.45);
}

.hero-carousel-card {
    scroll-snap-align: start;
    display: grid;
    grid-template-columns: 1fr;
    border: 1px solid rgba(255,255,255,.24);
    background: rgba(22,20,19,.62);
    box-shadow: 0 28px 80px rgba(0,0,0,.34);
    backdrop-filter: blur(10px);
    color: white;
    min-width: 0;
}

.hero-carousel-card img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.hero-carousel-card div {
    display: grid;
    gap: 8px;
    padding: 18px;
}

.hero-carousel-card span {
    color: var(--champagne);
    font-size: .68rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-style: normal;
}

.hero-carousel-card strong {
    color: white;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.7rem, 2.1vw, 2.5rem);
    font-weight: 400;
    line-height: 1;
}

.hero-carousel-card small {
    color: rgba(255,255,255,.92);
    text-transform: uppercase;
    letter-spacing: .11em;
    font-size: .72rem;
}

.hero-carousel-card em {
    display: block;
    padding-top: 8px;
    border-top: 1px solid rgba(255,255,255,.14);
    color: rgba(255,255,255,.64);
    font-size: .78rem;
    font-style: normal;
    line-height: 1.45;
}

.hero-service-row {
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: 14px;
}

.hero-service-row div {
    min-height: 112px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.08);
    color: white;
    backdrop-filter: blur(8px);
}

.hero-service-row strong {
    display: block;
    margin-bottom: 6px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25rem;
    font-weight: 400;
}

.hero-service-row span {
    color: rgba(255,255,255,.7);
    font-size: .88rem;
    line-height: 1.45;
}

.section,
.page-title,
.admin-panel,
.article {
    padding-left: max(28px, calc((100% - var(--content-max)) / 2)) !important;
    padding-right: max(28px, calc((100% - var(--content-max)) / 2)) !important;
}

.filters,
.results-toolbar,
.results-toolbar + .grid,
.map-results,
.load-more-wrap {
    width: min(var(--content-max), calc(100% - 56px)) !important;
}

.luxury-listing-grid,
.grid {
    gap: clamp(28px, 2.3vw, 42px) !important;
}

.listing-media-wrap {
    position: relative;
    overflow: hidden;
    background: #ddd5ca;
}

.listing-card img,
.luxury-listing-card img {
    aspect-ratio: 16 / 10 !important;
    width: 100% !important;
    object-fit: cover !important;
}

.luxury-listing-card .type-pill {
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 2;
    display: inline-flex;
    padding: 8px 11px;
    background: rgba(32,30,31,.9);
    color: white;
    letter-spacing: .16em;
}

.luxury-listing-card .listing-body {
    padding-top: 22px !important;
}

.luxury-listing-card .listing-body h3 {
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: 1.08rem;
    letter-spacing: -.01em;
}

.luxury-listing-card .listing-stats span {
    border: 1px solid var(--line);
    margin-right: 6px;
    padding: 8px 10px;
    font-size: .78rem;
}

.luxury-intro {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(320px, .65fr);
    gap: clamp(34px, 5vw, 80px);
    align-items: end;
}

.luxury-services .luxe-service-card h3 {
    max-width: 360px;
}

.footer-bottom span:last-child {
    color: rgba(255,255,255,.7);
}

@media (min-width: 1500px) {
    .grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1120px) {
    .luxury-hero-inner {
        grid-template-columns: 1fr !important;
        gap: 42px !important;
    }

    .luxury-hero-copy h1 {
        max-width: 980px !important;
    }

    .hero-listing-carousel {
        grid-auto-columns: minmax(320px, 46%);
    }
}

@media (max-width: 760px) {
    .luxury-hero {
        min-height: 0 !important;
        padding: 48px 24px 42px !important;
    }

    .luxury-hero-inner {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .luxury-hero-copy h1 {
        font-size: clamp(2.8rem, 13vw, 4.6rem) !important;
    }

    .hero-listing-carousel {
        grid-auto-columns: minmax(260px, 86%);
    }

    .hero-service-row,
    .luxury-intro {
        grid-template-columns: 1fr;
    }

    .section,
    .page-title,
    .admin-panel,
    .article {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .filters,
    .results-toolbar,
    .results-toolbar + .grid,
    .map-results,
    .load-more-wrap {
        width: calc(100% - 48px) !important;
    }
}


/* Juan personal real estate story + listing contact card */
.juan-story-section {
    width: min(1760px, calc(100% - 64px)) !important;
    max-width: none !important;
    margin: 34px auto 90px !important;
    padding: clamp(46px, 5vw, 86px) clamp(34px, 5vw, 82px) 0 !important;
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(420px, .72fr);
    gap: clamp(44px, 7vw, 120px);
    align-items: end;
    background: linear-gradient(135deg, #ffffff 0%, #f7f1e8 100%);
    border: 1px solid rgba(32,30,31,.08);
    overflow: hidden;
}

.juan-story-copy {
    padding-bottom: clamp(42px, 5vw, 82px);
}

.juan-story-copy h2 {
    max-width: 980px;
    font-size: clamp(2.65rem, 5vw, 6.4rem) !important;
    line-height: .92 !important;
    letter-spacing: -.065em;
    margin: 0 0 28px;
}

.juan-story-copy p {
    max-width: 860px;
    color: var(--lux-muted, #6f675d);
    font-size: clamp(1rem, 1.25vw, 1.18rem);
    line-height: 1.8;
    margin: 0 0 18px;
}

.juan-story-copy .juan-signature {
    margin-top: 30px;
    color: var(--lux-black, #201e1f);
    font-weight: 700;
}

.juan-story-photo-wrap {
    position: relative;
    min-height: 520px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.juan-story-photo-wrap:before {
    content: "";
    position: absolute;
    inset: auto 4% 0 4%;
    height: 66%;
    background: rgba(197, 158, 93, .18);
    border: 1px solid rgba(197, 158, 93, .22);
}

/* Meet Juan / Juan story section - make portrait larger */
body.luxury-template .juan-story-section,
.juan-story-section {
    width: min(1780px, calc(100% - 96px)) !important;
    grid-template-columns: minmax(0, .72fr) minmax(620px, .95fr) !important;
    gap: clamp(42px, 5vw, 90px) !important;
    align-items: end !important;
    padding: clamp(70px, 6vw, 118px) clamp(54px, 5vw, 108px) 0 !important;
    background: linear-gradient(135deg, rgba(255,255,255,.74), rgba(247,241,232,.88)) !important;
    overflow: hidden !important;
}

body.luxury-template .juan-story-copy h2,
.juan-story-copy h2 {
    font-size: clamp(3.6rem, 5vw, 7.4rem) !important;
    max-width: 980px !important;
}

body.luxury-template .juan-story-copy p,
.juan-story-copy p {
    max-width: 820px !important;
    font-size: clamp(1.05rem, 1.08vw, 1.28rem) !important;
}

body.luxury-template .juan-story-photo-wrap,
.juan-story-photo-wrap {
    min-height: 820px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    background: transparent !important;
    overflow: visible !important;
}

body.luxury-template .juan-story-photo-wrap:before,
.juan-story-photo-wrap:before {
    inset: auto 0 0 0 !important;
    height: 58% !important;
    background: radial-gradient(circle at center bottom, rgba(184,149,93,.26), rgba(184,149,93,.08) 42%, transparent 70%) !important;
    border: 0 !important;
}

body.luxury-template .juan-story-photo,
.juan-story-photo {
    width: min(980px, 135%) !important;
    max-width: none !important;
    max-height: 1040px !important;
    height: auto !important;
    margin-bottom: -2px !important;
    background: transparent !important;
    object-fit: contain !important;
    object-position: bottom center !important;
    transform: scale(1.18) !important;
    transform-origin: bottom center !important;
    filter: drop-shadow(0 38px 44px rgba(32,30,31,.22)) !important;
}

@media (max-width: 1180px) {
    body.luxury-template .juan-story-section,
    .juan-story-section {
        grid-template-columns: 1fr !important;
    }

    body.luxury-template .juan-story-photo-wrap,
    .juan-story-photo-wrap {
        min-height: 560px !important;
    }

    body.luxury-template .juan-story-photo,
    .juan-story-photo {
        width: min(680px, 118%) !important;
        transform: scale(1.08) !important;
    }
}

@media (max-width: 720px) {
    body.luxury-template .juan-story-photo-wrap,
    .juan-story-photo-wrap {
        min-height: 400px !important;
    }

    body.luxury-template .juan-story-photo,
    .juan-story-photo {
        width: min(520px, 128%) !important;
        transform: scale(1.04) !important;
    }
}

.juan-listing-card {
    overflow: hidden;
    padding-top: 0 !important;
}

.juan-agent-photo-frame {
    margin: -1px -1px 24px;
    background: linear-gradient(135deg, #fffaf1, #e9dfd0);
    border-bottom: 1px solid rgba(32,30,31,.08);
    min-height: 260px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
}

.juan-agent-photo-frame img {
    width: 100%;
    max-height: 360px;
    object-fit: contain;
    object-position: bottom center;
    display: block;
}

.juan-listing-card .eyebrow,
.juan-listing-card h2,
.juan-listing-card p,
.juan-listing-card .button {
    margin-left: 0;
    margin-right: 0;
}

.juan-listing-card .button {
    width: 100%;
    justify-content: center;
}

@media (max-width: 980px) {
    .juan-story-section {
        grid-template-columns: 1fr;
        width: calc(100% - 48px) !important;
        padding: 42px 28px 0 !important;
    }

    .juan-story-photo-wrap {
        min-height: 360px;
    }
}

@media (max-width: 640px) {
    .juan-story-section {
        width: calc(100% - 32px) !important;
        margin-top: 20px !important;
    }

    .juan-story-copy h2 {
        font-size: clamp(2.35rem, 12vw, 3.8rem) !important;
    }

    .juan-story-photo-wrap {
        min-height: 280px;
    }
}


/* =========================================================
   LUXURY WOW V4 — WIDE RESULTS FIX
   This intentionally comes last and overrides older constrained rules.
   ========================================================= */
:root {
    --site-max: 1840px;
    --content-max: 1720px;
}

.site-header {
    padding-left: clamp(28px, 3.2vw, 72px) !important;
    padding-right: clamp(28px, 3.2vw, 72px) !important;
}

body.luxury-template .filters,
body.luxury-template .results-toolbar,
body.luxury-template .results-toolbar + .grid,
body.luxury-template .map-results,
body.luxury-template .load-more-wrap,
.filters,
.results-toolbar,
.results-toolbar + .grid,
.map-results,
.load-more-wrap {
    width: min(1720px, calc(100% - 92px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.luxury-template .results-toolbar + .grid,
.results-toolbar + .grid,
.grid.luxury-listing-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(28px, 2vw, 42px) !important;
    align-items: stretch !important;
}

body.luxury-template .listing-card,
body.luxury-template .luxury-listing-card {
    width: 100% !important;
    min-width: 0 !important;
}

body.luxury-template .listing-card img,
body.luxury-template .luxury-listing-card img {
    aspect-ratio: 16 / 9 !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

body.luxury-template .filters {
    grid-template-columns: minmax(260px, 1.5fr) minmax(150px, .95fr) minmax(135px, .9fr) minmax(135px, .9fr) minmax(105px, .72fr) minmax(140px, .9fr) 170px !important;
}

body.luxury-template .luxury-hero-inner,
.luxury-hero-inner {
    width: min(1760px, calc(100% - 92px)) !important;
    max-width: none !important;
}

body.luxury-template .luxury-search,
.luxury-search {
    max-width: 1040px !important;
}

body.luxury-template .section,
body.luxury-template .page-title,
body.luxury-template .admin-panel,
body.luxury-template .article,
.section,
.page-title,
.admin-panel,
.article {
    padding-left: max(46px, calc((100% - 1720px) / 2)) !important;
    padding-right: max(46px, calc((100% - 1720px) / 2)) !important;
}

@media (max-width: 1540px) {
    body.luxury-template .results-toolbar + .grid,
    .results-toolbar + .grid,
    .grid.luxury-listing-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1060px) {
    body.luxury-template .filters,
    .filters {
        grid-template-columns: 1fr 1fr !important;
    }

    body.luxury-template .results-toolbar + .grid,
    .results-toolbar + .grid,
    .grid.luxury-listing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    body.luxury-template .filters,
    body.luxury-template .results-toolbar,
    body.luxury-template .results-toolbar + .grid,
    body.luxury-template .map-results,
    body.luxury-template .load-more-wrap,
    .filters,
    .results-toolbar,
    .results-toolbar + .grid,
    .map-results,
    .load-more-wrap {
        width: calc(100% - 32px) !important;
    }

    body.luxury-template .filters,
    .filters,
    body.luxury-template .results-toolbar + .grid,
    .results-toolbar + .grid,
    .grid.luxury-listing-grid {
        grid-template-columns: 1fr !important;
    }

    body.luxury-template .section,
    body.luxury-template .page-title,
    body.luxury-template .admin-panel,
    body.luxury-template .article,
    .section,
    .page-title,
    .admin-panel,
    .article {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* =========================================================
   LUXURY WOW V5 — HOME + FEATURED WIDTH CORRECTION
   This comes last so it wins over earlier width rules.
   ========================================================= */
:root {
    --site-max: 1900px;
    --content-max: 1780px;
}

body.luxury-template .luxury-home-hero-v5 {
    min-height: 760px !important;
    padding: clamp(54px, 5vw, 86px) clamp(34px, 4.8vw, 92px) clamp(54px, 5vw, 86px) !important;
}

body.luxury-template .luxury-home-hero-v5 .luxury-hero-inner {
    width: min(1900px, calc(100% - 24px)) !important;
    grid-template-columns: minmax(620px, .95fr) minmax(640px, .9fr) !important;
    gap: clamp(46px, 5vw, 96px) !important;
}

body.luxury-template .luxury-home-hero-v5 .luxury-hero-copy h1 {
    max-width: 1080px !important;
    font-size: clamp(4.2rem, 6.6vw, 8.8rem) !important;
    line-height: .88 !important;
}

body.luxury-template .luxury-home-hero-v5 .luxury-hero-copy .lead {
    max-width: 860px !important;
    font-size: clamp(1.08rem, 1.2vw, 1.32rem) !important;
}

body.luxury-template .luxury-home-hero-v5 .luxury-search {
    max-width: 1120px !important;
}

body.luxury-template .luxury-home-hero-v5 .hero-listing-carousel {
    grid-auto-columns: minmax(520px, 78%) !important;
}

body.luxury-template .luxury-home-hero-v5 .hero-carousel-card img {
    aspect-ratio: 16 / 9 !important;
}

body.luxury-template .luxury-featured-v5,
body.luxury-template .luxury-intro-v5,
body.luxury-template .luxury-services-v5,
body.luxury-template .luxury-neighborhoods,
body.luxury-template .luxury-journal,
body.luxury-template .luxury-contact {
    width: min(1780px, calc(100% - 92px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.luxury-template .luxury-featured-v5 {
    padding-top: clamp(60px, 7vw, 110px) !important;
}

body.luxury-template .luxury-featured-v5 .luxury-heading {
    width: 100% !important;
    max-width: none !important;
}

body.luxury-template .luxury-home-featured-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(34px, 2.4vw, 54px) !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.luxury-template .luxury-home-featured-grid .luxury-listing-card,
body.luxury-template .luxury-home-featured-grid .listing-card {
    min-height: 100% !important;
}

body.luxury-template .luxury-home-featured-grid .luxury-listing-card img,
body.luxury-template .luxury-home-featured-grid .listing-card img {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    object-fit: cover !important;
}

body.luxury-template .luxury-home-featured-grid .listing-body {
    padding: clamp(22px, 2vw, 34px) !important;
}

body.luxury-template .luxury-home-featured-grid .listing-body strong {
    font-size: clamp(1.9rem, 2.1vw, 3rem) !important;
}

body.luxury-template .luxury-home-featured-grid .listing-body h3 {
    font-size: clamp(1.18rem, 1.15vw, 1.45rem) !important;
}

body.luxury-template .luxury-services-v5 {
    margin-top: clamp(48px, 5vw, 88px) !important;
    margin-bottom: clamp(48px, 5vw, 88px) !important;
}

body.luxury-template .luxury-services-v5 .luxe-service-card {
    min-height: 310px !important;
}

@media (max-width: 1280px) {
    body.luxury-template .luxury-home-hero-v5 .luxury-hero-inner {
        grid-template-columns: 1fr !important;
    }

    body.luxury-template .luxury-home-featured-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body.luxury-template .luxury-home-hero-v5 {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    body.luxury-template .luxury-home-hero-v5 .luxury-hero-inner,
    body.luxury-template .luxury-featured-v5,
    body.luxury-template .luxury-intro-v5,
    body.luxury-template .luxury-services-v5,
    body.luxury-template .luxury-neighborhoods,
    body.luxury-template .luxury-journal,
    body.luxury-template .luxury-contact {
        width: calc(100% - 36px) !important;
    }

    body.luxury-template .luxury-home-hero-v5 .luxury-hero-copy h1 {
        font-size: clamp(3.1rem, 13vw, 5.2rem) !important;
    }

    body.luxury-template .luxury-home-hero-v5 .hero-listing-carousel {
        grid-auto-columns: minmax(280px, 88%) !important;
    }

    body.luxury-template .luxury-home-featured-grid,
    body.luxury-template .luxury-services-v5 {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   LUXURY WOW V7 — FIX ACTUAL WIDTH + TRANSPARENT JUAN PHOTO
   This comes last on purpose.
   ========================================================= */
:root {
    --content-max: 1780px;
    --property-max: 1780px;
}

/* Listing detail pages were still constrained too tight. */
body.luxury-template .property-page,
.property-page {
    width: min(var(--property-max), calc(100% - 96px)) !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.luxury-template .property-hero,
.property-hero {
    gap: clamp(36px, 5vw, 92px) !important;
}

body.luxury-template .property-hero h1,
.property-hero h1 {
    max-width: 1180px !important;
    font-size: clamp(3.6rem, 5.4vw, 7.4rem) !important;
    line-height: .92 !important;
}

body.luxury-template .property-price,
.property-price {
    font-size: clamp(2.2rem, 3.2vw, 4rem) !important;
}

body.luxury-template .property-gallery,
.property-gallery {
    width: 100% !important;
    max-width: none !important;
}

body.luxury-template .gallery-main,
.gallery-main {
    width: 100% !important;
    aspect-ratio: 16 / 8 !important;
    max-height: 760px !important;
    object-fit: cover !important;
}

body.luxury-template .gallery-thumbs,
.gallery-thumbs {
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
}

body.luxury-template .property-grid,
.property-grid {
    grid-template-columns: minmax(0, 1fr) minmax(380px, 440px) !important;
    gap: clamp(42px, 4vw, 76px) !important;
    width: 100% !important;
    max-width: none !important;
}

body.luxury-template .property-main,
.property-main {
    min-width: 0 !important;
}

body.luxury-template .property-sidebar,
.property-sidebar {
    width: 100% !important;
}

body.luxury-template .property-detail-groups,
.property-detail-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

body.luxury-template .detail-card,
body.luxury-template .side-card,
.detail-card,
.side-card {
    padding: clamp(26px, 2vw, 38px) !important;
}

/* Meet Juan section: no white photo box; make the person visually match the text. */
body.luxury-template .juan-story-section,
.juan-story-section {
    width: min(1780px, calc(100% - 96px)) !important;
    grid-template-columns: minmax(0, .82fr) minmax(540px, .78fr) !important;
    gap: clamp(52px, 6vw, 118px) !important;
    padding: clamp(70px, 6vw, 118px) clamp(54px, 5vw, 108px) 0 !important;
    background: linear-gradient(135deg, rgba(255,255,255,.74), rgba(247,241,232,.88)) !important;
}

body.luxury-template .juan-story-copy h2,
.juan-story-copy h2 {
    font-size: clamp(4rem, 5.8vw, 8.4rem) !important;
    max-width: 1120px !important;
}

body.luxury-template .juan-story-copy p,
.juan-story-copy p {
    max-width: 920px !important;
    font-size: clamp(1.05rem, 1.08vw, 1.28rem) !important;
}

body.luxury-template .juan-story-photo-wrap,
.juan-story-photo-wrap {
    min-height: 760px !important;
    background: transparent !important;
}

body.luxury-template .juan-story-photo-wrap:before,
.juan-story-photo-wrap:before {
    inset: auto 0 0 0 !important;
    height: 58% !important;
    background: radial-gradient(circle at center bottom, rgba(184,149,93,.26), rgba(184,149,93,.08) 42%, transparent 70%) !important;
    border: 0 !important;
}

body.luxury-template .juan-story-photo,
.juan-story-photo {
    width: min(820px, 112%) !important;
    max-height: 900px !important;
    margin-bottom: -2px !important;
    background: transparent !important;
    filter: drop-shadow(0 38px 44px rgba(32,30,31,.22)) !important;
}

/* Listing sidebar Juan card: no white image box. */
body.luxury-template .juan-agent-photo-frame,
.juan-agent-photo-frame {
    min-height: 360px !important;
    background: radial-gradient(circle at 50% 100%, rgba(184,149,93,.23), transparent 68%) !important;
    border-bottom: 1px solid rgba(255,255,255,.13) !important;
    margin: -1px -1px 28px !important;
}

body.luxury-template .juan-agent-photo-frame img,
.juan-agent-photo-frame img {
    width: 112% !important;
    max-height: 430px !important;
    background: transparent !important;
    object-fit: contain !important;
    object-position: bottom center !important;
    filter: drop-shadow(0 22px 28px rgba(0,0,0,.25)) !important;
}

@media (min-width: 1800px) {
    body.luxury-template .property-page,
    .property-page,
    body.luxury-template .juan-story-section,
    .juan-story-section {
        width: min(1840px, calc(100% - 120px)) !important;
    }
}

@media (max-width: 1180px) {
    body.luxury-template .property-grid,
    .property-grid,
    body.luxury-template .juan-story-section,
    .juan-story-section {
        grid-template-columns: 1fr !important;
    }

    body.luxury-template .property-page,
    .property-page,
    body.luxury-template .juan-story-section,
    .juan-story-section {
        width: calc(100% - 48px) !important;
    }

    body.luxury-template .juan-story-photo-wrap,
    .juan-story-photo-wrap {
        min-height: 560px !important;
    }
}

@media (max-width: 720px) {
    body.luxury-template .property-page,
    .property-page,
    body.luxury-template .juan-story-section,
    .juan-story-section {
        width: calc(100% - 32px) !important;
    }

    body.luxury-template .property-hero,
    .property-hero {
        display: grid !important;
        align-items: start !important;
    }

    body.luxury-template .property-hero h1,
    .property-hero h1 {
        font-size: clamp(3rem, 14vw, 5.2rem) !important;
    }

    body.luxury-template .property-detail-groups,
    .property-detail-groups,
    body.luxury-template .gallery-thumbs,
    .gallery-thumbs {
        grid-template-columns: 1fr !important;
    }

    body.luxury-template .juan-story-photo-wrap,
    .juan-story-photo-wrap {
        min-height: 360px !important;
    }

    body.luxury-template .juan-story-photo,
    .juan-story-photo {
        width: min(520px, 118%) !important;
    }
}


/* Luxury Wow V8 fixes: mobile listing gallery, homepage hero card, featured spacing */
html, body {
    max-width: 100%;
    overflow-x: hidden;
}

body.luxury-template .property-hero p:not(.property-price),
.property-hero p:not(.property-price) {
    display: none !important;
}

body.luxury-template .property-hero,
.property-hero {
    align-items: end;
    gap: clamp(18px, 4vw, 56px);
}

body.luxury-template .property-hero h1,
.property-hero h1 {
    max-width: 1080px;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    text-decoration: none !important;
}

body.luxury-template .property-gallery,
.property-gallery {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

body.luxury-template .gallery-main,
.gallery-main {
    width: 100% !important;
    height: clamp(420px, 54vw, 820px) !important;
    object-fit: cover !important;
    display: block !important;
}

body.luxury-template .gallery-thumbs,
.gallery-thumbs {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 12px 0 4px !important;
    max-width: 100% !important;
    scroll-snap-type: x mandatory;
}

body.luxury-template .gallery-thumb,
.gallery-thumb {
    flex: 0 0 118px !important;
    width: 118px !important;
    height: 78px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    padding: 0 !important;
    border: 1px solid rgba(32,30,31,.25) !important;
    background: transparent !important;
    overflow: hidden !important;
    display: block !important;
    scroll-snap-align: start;
}

body.luxury-template .gallery-thumb img,
.gallery-thumb img {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    object-fit: cover !important;
    display: block !important;
}

body.luxury-template .gallery-thumb.is-hidden,
.gallery-thumb.is-hidden {
    display: none !important;
}

body.luxury-template .gallery-more,
.gallery-more {
    flex: 0 0 118px !important;
    width: 118px !important;
    min-width: 118px !important;
    height: 78px !important;
    border-radius: 0 !important;
}

body.luxury-template .luxury-home-hero-v5 .hero-listing-carousel,
body.luxury-template .hero-listing-carousel {
    display: block !important;
    overflow: visible !important;
    max-width: 100% !important;
}

body.luxury-template .luxury-home-hero-v5 .hero-carousel-card,
body.luxury-template .hero-carousel-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

body.luxury-template .luxury-home-hero-v5 .hero-carousel-card img,
body.luxury-template .hero-carousel-card img {
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    height: auto !important;
    object-fit: cover !important;
}

body.luxury-template .luxury-featured-section,
body.luxury-template .luxury-featured-v5 {
    width: min(1720px, calc(100vw - 56px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.luxury-template .luxury-featured-section .section-heading,
body.luxury-template .luxury-featured-v5 .section-heading {
    width: 100% !important;
}

body.luxury-template .luxury-home-featured-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(22px, 3vw, 44px) !important;
}

body.luxury-template .luxury-home-featured-grid > * {
    min-width: 0 !important;
    max-width: 100% !important;
}

body.luxury-template .listing-card,
body.luxury-template .luxury-listing-card {
    width: 100% !important;
    max-width: 100% !important;
}

@media (max-width: 900px) {
    body.luxury-template .property-page,
    .property-page {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    body.luxury-template .property-hero,
    .property-hero {
        display: block !important;
    }

    body.luxury-template .property-hero h1,
    .property-hero h1 {
        font-size: clamp(3.1rem, 13vw, 5.1rem) !important;
        line-height: .92 !important;
        letter-spacing: -.055em !important;
        margin-bottom: 24px !important;
    }

    body.luxury-template .property-price,
    .property-price {
        font-size: clamp(2.1rem, 8vw, 3rem) !important;
        margin: 24px 0 22px !important;
        text-align: left !important;
    }

    body.luxury-template .gallery-main,
    .gallery-main {
        height: auto !important;
        max-height: 62vh !important;
        aspect-ratio: 4 / 3 !important;
        object-fit: cover !important;
    }

    body.luxury-template .gallery-thumbs,
    .gallery-thumbs {
        padding-top: 10px !important;
        padding-bottom: 8px !important;
    }

    body.luxury-template .gallery-thumb,
    .gallery-thumb,
    body.luxury-template .gallery-more,
    .gallery-more {
        flex-basis: 84px !important;
        width: 84px !important;
        min-width: 84px !important;
        max-width: 84px !important;
        height: 58px !important;
    }

    body.luxury-template .luxury-featured-section,
    body.luxury-template .luxury-featured-v5 {
        width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    body.luxury-template .luxury-featured-section .section-heading,
    body.luxury-template .luxury-featured-v5 .section-heading {
        display: block !important;
        text-align: left !important;
    }

    body.luxury-template .luxury-featured-section .section-heading a,
    body.luxury-template .luxury-featured-v5 .section-heading a {
        display: inline-flex !important;
        margin-top: 18px !important;
        align-items: center;
    }

    body.luxury-template .luxury-home-featured-grid {
        grid-template-columns: 1fr !important;
        gap: 34px !important;
    }

    body.luxury-template .luxury-home-featured-grid .listing-card img,
    body.luxury-template .luxury-home-featured-grid .luxury-listing-card img {
        aspect-ratio: 16 / 10 !important;
        height: auto !important;
        object-fit: cover !important;
    }
}

@media (min-width: 901px) and (max-width: 1280px) {
    body.luxury-template .luxury-home-featured-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Big Brothers visual port. The PHP views keep the RESO platform behavior. */
:root {
    --bb-bg: #0c131c;
    --bb-card: #101a24;
    --bb-card-2: #14202c;
    --bb-gold: #c9a96e;
    --bb-cream: #e6d5b3;
    --bb-white: #f4f4f2;
    --bb-muted: #9ca5ad;
    --bb-line: rgba(201,169,110,.18);
    --bb-line-soft: rgba(255,255,255,.08);
}

html { scroll-behavior: smooth; }
body.big-brothers-template {
    margin: 0;
    color: var(--bb-white);
    background: var(--bb-bg);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-weight: 400;
    line-height: 1.6;
}
body.big-brothers-template h1,
body.big-brothers-template h2,
body.big-brothers-template h3 {
    color: var(--bb-white);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 500;
    letter-spacing: 0;
}
body.big-brothers-template a { color: inherit; }
body.big-brothers-template .muted { color: var(--bb-muted); }

body.big-brothers-template .site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    min-height: 108px;
    padding: 14px clamp(22px, 6vw, 110px);
    border-bottom: 1px solid var(--bb-line);
    background: rgba(12,19,28,.97);
    backdrop-filter: blur(14px);
}
body.big-brothers-template .brand-logo {
    width: auto;
    height: clamp(58px, 5.5vw, 82px);
    object-fit: contain;
}
body.big-brothers-template .main-nav { gap: clamp(18px, 2.1vw, 36px); }
body.big-brothers-template .main-nav > a,
body.big-brothers-template .nav-dropdown > a {
    color: #d7dadd;
    font-size: .73rem;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    transition: color .2s ease;
}
body.big-brothers-template .main-nav > a:hover,
body.big-brothers-template .nav-dropdown > a:hover { color: var(--bb-gold); }
body.big-brothers-template .main-nav .nav-contact {
    min-height: 42px;
    padding: 10px 21px;
    border-radius: 999px;
    color: var(--bb-bg);
    background: var(--bb-cream);
    font-weight: 700;
}
body.big-brothers-template .nav-menu {
    /* Keep the dropdown touching its trigger so hover is not lost while moving the pointer. */
    top: 100%;
    min-width: 220px;
    padding: 10px;
    border: 1px solid var(--bb-line);
    background: var(--bb-card);
    box-shadow: 0 24px 60px rgba(0,0,0,.36);
}
body.big-brothers-template .nav-menu a {
    padding: 9px 11px;
    color: #d7dadd;
    font-size: .76rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
}
body.big-brothers-template .nav-menu a:hover { color: var(--bb-gold); background: rgba(255,255,255,.035); }

.bb-hero {
    position: relative;
    display: grid;
    min-height: calc(100vh - 108px);
    padding: clamp(64px, 8vh, 108px) clamp(24px, 7vw, 132px) 0;
    overflow: hidden;
    isolation: isolate;
    background: var(--bb-bg);
}
.bb-pattern {
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .18;
    background-image: radial-gradient(circle at 1px 1px, rgba(201,169,110,.25) 1px, transparent 0);
    background-size: 38px 38px;
    mask-image: linear-gradient(to bottom, black, transparent 82%);
}
.bb-hero:after {
    position: absolute;
    inset: auto 0 0;
    z-index: -1;
    height: 1px;
    content: "";
    background: rgba(201,169,110,.55);
}
.bb-hero-copy { position: relative; z-index: 2; text-align: center; }
.bb-kicker {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 24px;
    color: var(--bb-gold);
    font-size: .72rem;
    letter-spacing: .28em;
    text-transform: uppercase;
}
.bb-kicker span { width: 52px; height: 1px; background: rgba(201,169,110,.5); }
.bb-hero h1 {
    max-width: 1250px;
    margin: 0 auto;
    font-size: clamp(3.5rem, 7.2vw, 8.4rem);
    line-height: .94;
}
.bb-hero h1 em { color: var(--bb-gold); font-weight: 400; }
.bb-hero-lead {
    max-width: 660px;
    margin: 28px auto 0;
    color: #b5bdc4;
    font-size: clamp(.98rem, 1.35vw, 1.2rem);
}
.bb-hero-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.bb-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    width: auto;
    padding: 12px 29px;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.bb-button-outline { border: 1px solid var(--bb-gold); color: var(--bb-gold); background: transparent; }
.bb-button-outline:hover { background: var(--bb-gold); color: var(--bb-bg); }
.bb-button-light { border: 1px solid rgba(255,255,255,.62); color: var(--bb-white); }
.bb-button-light:hover { background: var(--bb-white); color: var(--bb-bg); }
.bb-phone-link { display: inline-block; margin-top: 20px; color: #aab3ba; font-size: .8rem; letter-spacing: .07em; }
.bb-phone-link:hover { color: var(--bb-gold); }
.bb-hero-portrait {
    display: flex;
    align-items: end;
    justify-content: center;
    min-height: clamp(250px, 35vh, 430px);
    margin-top: 20px;
    overflow: hidden;
}
.bb-hero-portrait:before {
    position: absolute;
    z-index: -1;
    width: min(700px, 70vw);
    height: 330px;
    border-radius: 50%;
    content: "";
    background: radial-gradient(circle, rgba(201,169,110,.18), transparent 68%);
}
.bb-hero-portrait img {
    width: min(580px, 82vw);
    max-height: 440px;
    object-fit: contain;
    object-position: bottom;
    filter: drop-shadow(0 24px 24px rgba(0,0,0,.35));
}
.bb-hero-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 22px 0 26px;
    border-top: 1px solid rgba(201,169,110,.4);
    color: var(--bb-gold);
    font-size: .72rem;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.bb-hero-bottom p { margin: 0; }
.bb-hero-bottom div { display: grid; text-align: right; }
.bb-hero-bottom span { font-size: .64rem; }
.bb-hero-bottom strong { color: var(--bb-white); font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.5rem; font-weight: 500; letter-spacing: 0; }

body.big-brothers-template .section { padding: clamp(70px, 8vw, 128px) clamp(20px, 6vw, 108px); }
.bb-featured { border-bottom: 1px solid var(--bb-line); }
.bb-section-heading { max-width: 760px; margin: 0 auto 54px; text-align: center; }
.bb-section-heading p,
.bb-label { margin: 0 0 9px; color: var(--bb-gold); font-size: .7rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.bb-section-heading h2 { margin: 0; font-size: clamp(2.8rem, 5vw, 5rem); }
.bb-section-heading > span { display: block; width: 88px; height: 1px; margin: 17px auto 20px; background: var(--bb-gold); }
.bb-section-heading small { color: var(--bb-muted); font-size: .92rem; }
.bb-listing-grid,
body.big-brothers-template .grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}
body.big-brothers-template .listing-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--bb-line-soft);
    border-radius: 0;
    background: var(--bb-card);
    box-shadow: none;
    transition: transform .3s ease, border-color .3s ease;
}
body.big-brothers-template .listing-card:hover { transform: translateY(-5px); border-color: var(--bb-line); }
body.big-brothers-template .listing-card a { display: block; height: 100%; }
body.big-brothers-template .listing-media-wrap { position: relative; overflow: hidden; }
body.big-brothers-template .listing-media-wrap:after { position: absolute; inset: 40% 0 0; content: ""; background: linear-gradient(transparent, rgba(0,0,0,.72)); }
body.big-brothers-template .listing-card img { width: 100%; height: 255px; aspect-ratio: auto; object-fit: cover; transition: transform .6s ease; }
body.big-brothers-template .listing-card:hover img { transform: scale(1.035); }
body.big-brothers-template .type-pill {
    position: absolute;
    z-index: 2;
    top: 14px;
    right: 14px;
    bottom: auto;
    left: auto;
    display: inline-flex;
    width: auto;
    height: auto;
    max-width: calc(100% - 28px);
    margin: 0;
    padding: 6px 9px;
    border: 1px solid var(--bb-gold);
    border-radius: 2px;
    color: var(--bb-gold);
    background: rgba(7,12,18,.76);
    font-size: .63rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .09em;
    text-transform: uppercase;
}
body.big-brothers-template .listing-body { padding: 21px; }
body.big-brothers-template .listing-body strong { color: var(--bb-white); font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.72rem; font-weight: 600; }
body.big-brothers-template .listing-body h3 { min-height: 46px; margin: 8px 0 3px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.2rem; }
body.big-brothers-template .listing-body p { margin: 0; color: var(--bb-muted); font-size: .78rem; }
body.big-brothers-template .listing-stats { display: flex; flex-wrap: wrap; gap: 13px; margin: 16px 0; padding: 13px 0; border-top: 1px solid var(--bb-line-soft); border-bottom: 1px solid var(--bb-line-soft); }
body.big-brothers-template .listing-stats span { color: #d1d6da; font-size: .72rem; }
body.big-brothers-template .listing-body small { display: block; min-height: 38px; color: var(--bb-muted); font-size: .66rem; line-height: 1.45; }
.bb-centered-action { margin-top: 50px; text-align: center; }
.bb-empty-state { max-width: 680px; margin: 0 auto; padding: 40px; border: 1px solid var(--bb-line); text-align: center; background: var(--bb-card); }

.bb-contact {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(420px, 1fr);
    gap: clamp(55px, 8vw, 130px);
    align-items: center;
    background: #0a1118;
}
.bb-contact-copy h2 { max-width: 650px; font-size: clamp(3rem, 5vw, 5.4rem); }
.bb-contact-copy > p:not(.bb-label) { max-width: 620px; color: #aeb6bd; }
.bb-contact-copy ul { display: grid; gap: 14px; padding: 0; margin: 30px 0; list-style: none; color: #d4d8db; }
.bb-contact-copy li:before { margin-right: 12px; color: var(--bb-gold); content: "✓"; }
.bb-contact-direct { display: flex; flex-wrap: wrap; gap: 12px 28px; color: var(--bb-gold); }
.bb-team-contacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.bb-agent-card { display: grid; gap: 7px; padding: 22px; border: 1px solid var(--bb-line); background: rgba(255,255,255,.025); }
.bb-agent-card h3 { margin: 0; color: var(--bb-white); font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.7rem; font-weight: 500; }
.bb-agent-card a { color: var(--bb-gold); }
.bb-agent-card span { color: var(--bb-muted); font-size: .8rem; }

.bb-contact-form,
body.big-brothers-template .lead-panel {
    display: grid;
    gap: 16px;
    padding: clamp(28px, 4vw, 54px);
    border: 1px solid var(--bb-line);
    border-radius: 8px;
    background: linear-gradient(145deg, var(--bb-card), #0f1822);
    box-shadow: 0 30px 70px rgba(0,0,0,.24);
}
.bb-contact-form h2 { margin-bottom: 4px; font-size: 2rem; }
.bb-contact-form label,
body.big-brothers-template .lead-panel label { display: grid; gap: 7px; color: #c9ced2; font-size: .72rem; letter-spacing: .05em; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
body.big-brothers-template input,
body.big-brothers-template textarea,
body.big-brothers-template select {
    min-width: 0;
    width: 100%;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 6px;
    color: var(--bb-white);
    background: #0c151f;
    outline: none;
}
body.big-brothers-template input:focus,
body.big-brothers-template textarea:focus,
body.big-brothers-template select:focus { border-color: var(--bb-gold); }
body.big-brothers-template button,
body.big-brothers-template .button {
    border-radius: 999px;
    color: var(--bb-bg);
    background: var(--bb-cream);
    font-size: .73rem;
    font-weight: 700;
    letter-spacing: .06em;
}
body.big-brothers-template .button.secondary { border: 1px solid var(--bb-line); color: var(--bb-white); background: transparent; }
.bb-contact-form button { min-height: 48px; margin-top: 2px; }

.bb-journal { border-top: 1px solid var(--bb-line); }
body.big-brothers-template .section-heading { margin-bottom: 34px; }
body.big-brothers-template .section-heading h2 { font-size: clamp(2.4rem, 4vw, 4rem); }
body.big-brothers-template .section-heading > a { color: var(--bb-gold); font-size: .75rem; letter-spacing: .09em; text-transform: uppercase; }
body.big-brothers-template .blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
body.big-brothers-template .post-card { padding: 30px; border: 1px solid var(--bb-line); border-radius: 4px; background: var(--bb-card); }
body.big-brothers-template .post-card h3 { font-size: 1.75rem; }
body.big-brothers-template .post-card p { color: var(--bb-muted); }
body.big-brothers-template .post-card > a { color: var(--bb-gold); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }

body.big-brothers-template .page-title,
body.big-brothers-template .admin-panel,
body.big-brothers-template .article {
    width: min(1480px, calc(100% - 48px));
    margin: 0 auto;
    padding: 62px 0 28px;
}
body.big-brothers-template .page-title h1 { max-width: none; font-size: clamp(3.2rem, 6vw, 6rem); }
body.big-brothers-template .page-title p { max-width: 780px; color: var(--bb-muted); }
body.big-brothers-template .filters {
    width: min(1480px, calc(100% - 48px));
    margin: 0 auto 24px;
    padding: 18px;
    border: 1px solid var(--bb-line);
    border-radius: 8px;
    background: var(--bb-card);
}
body.big-brothers-template .results-toolbar,
body.big-brothers-template .map-results,
body.big-brothers-template main > .grid,
body.big-brothers-template .saved-search-section,
body.big-brothers-template .load-more-wrap {
    width: min(1480px, calc(100% - 48px));
    margin-left: auto;
    margin-right: auto;
}
body.big-brothers-template .results-toolbar { color: var(--bb-muted); }
body.big-brothers-template .results-toolbar a { color: var(--bb-gold); }
body.big-brothers-template .load-more-wrap { padding: 44px 0 0; text-align: center; }
body.big-brothers-template .saved-search-section { padding-left: 0; padding-right: 0; }
body.big-brothers-template .inline-lead { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.big-brothers-template .map { border: 0; border-radius: 6px; }

body.big-brothers-template .property-page {
    width: min(1480px, calc(100% - 48px)) !important;
    max-width: none !important;
    margin: 0 auto;
    padding: 48px 0 86px !important;
}
body.big-brothers-template .breadcrumbs { padding: 13px 15px; border: 1px solid var(--bb-line-soft); border-radius: 6px; color: var(--bb-muted); background: var(--bb-card); }
body.big-brothers-template .breadcrumbs a { color: #cbd0d4; }
body.big-brothers-template .property-status-row { margin-top: 20px; }
body.big-brothers-template .property-status-row span { border: 1px solid var(--bb-line); border-radius: 3px; color: #cbd0d4; background: transparent; }
body.big-brothers-template .property-hero { margin: 18px 0 28px; }
body.big-brothers-template .property-hero h1 { max-width: 980px; font-size: clamp(2.6rem, 5vw, 5.2rem) !important; line-height: 1 !important; letter-spacing: 0 !important; }
body.big-brothers-template .property-hero p:not(.property-price) { display: block !important; color: var(--bb-muted); }
body.big-brothers-template .property-price { color: var(--bb-gold); font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(2.3rem, 4vw, 4.2rem); font-weight: 600; }
body.big-brothers-template .property-price { color: var(--bb-gold) !important; }
body.big-brothers-template .gallery-main { height: clamp(420px, 50vw, 720px) !important; max-height: 720px !important; aspect-ratio: auto !important; border-radius: 8px; }
body.big-brothers-template .gallery-arrow { width: 46px; height: 46px; border-radius: 50%; color: var(--bb-white); background: rgba(8,13,19,.72); font-size: 2rem; }
body.big-brothers-template .gallery-thumb { border-color: transparent !important; border-radius: 5px; }
body.big-brothers-template .gallery-thumb.is-active { border-color: var(--bb-gold) !important; }
body.big-brothers-template .gallery-more { border: 1px solid var(--bb-line) !important; color: var(--bb-white); background: var(--bb-card) !important; }
body.big-brothers-template .property-grid { grid-template-columns: minmax(0, 1fr) minmax(330px, 390px) !important; gap: 36px !important; margin-top: 30px; }
body.big-brothers-template .property-facts { border-top: 1px solid var(--bb-line-soft); border-bottom: 1px solid var(--bb-line-soft); }
body.big-brothers-template .property-facts span { color: #d7dbde; }
body.big-brothers-template .property-section { margin-top: 34px; }
body.big-brothers-template .property-section > h2 { margin-bottom: 15px; font-size: 1.55rem; }
body.big-brothers-template .detail-card,
body.big-brothers-template .side-card {
    padding: 24px !important;
    border: 1px solid var(--bb-line-soft) !important;
    border-radius: 8px !important;
    color: #d3d7da;
    background: var(--bb-card) !important;
    box-shadow: none !important;
}
body.big-brothers-template .detail-card p { color: #c7cdd1; }
body.big-brothers-template .property-detail-groups { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px !important; }
body.big-brothers-template .property-detail-group h3 { color: var(--bb-gold); font-size: 1.25rem; }
body.big-brothers-template .detail-list div { border-bottom-color: var(--bb-line-soft); }
body.big-brothers-template .detail-list dt { color: var(--bb-gold); }
body.big-brothers-template .detail-list dd { color: #d5dade; }
body.big-brothers-template .property-sidebar { position: sticky; top: 130px; align-self: start; }
body.big-brothers-template .property-sidebar .side-card { margin-bottom: 16px; }
body.big-brothers-template .property-sidebar h2 { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.5rem; }
body.big-brothers-template .side-actions { border: 1px solid var(--bb-line-soft); border-radius: 999px; }
body.big-brothers-template .side-actions a,
body.big-brothers-template .side-actions button { color: #d7dadd; background: transparent; }
body.big-brothers-template .related-carousel { display: flex; gap: 22px; overflow-x: auto; padding-bottom: 18px; scroll-snap-type: x mandatory; }
body.big-brothers-template .related-carousel .listing-card { flex: 0 0 min(350px, 82vw); scroll-snap-align: start; }
body.big-brothers-template .mls-disclaimer { color: #7e8992; }
body.big-brothers-template .mobile-sticky-cta { background: rgba(12,19,28,.96); border-top-color: var(--bb-line); }

body.big-brothers-template .footer {
    margin-top: 0;
    padding: 58px clamp(22px, 6vw, 108px) 24px;
    border-top: 1px solid var(--bb-line);
    color: #d2d6d9;
    background: #0a1118;
}
body.big-brothers-template .footer-inner { width: min(1480px, 100%); margin: 0 auto; }
body.big-brothers-template .footer-nav { display: grid; grid-template-columns: 1.45fr .7fr .8fr 1fr; gap: clamp(28px, 5vw, 76px); align-items: start; }
body.big-brothers-template .footer-column { min-width: 0; display: grid; align-content: start; gap: 8px; }
body.big-brothers-template .footer-column h2 { margin: 0 0 10px; color: var(--bb-gold); font-family: Inter, sans-serif; font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
body.big-brothers-template .footer-column a,
body.big-brothers-template .footer-column p { margin: 0; color: #aab2b9; font-size: .78rem; font-weight: 400; overflow-wrap: anywhere; }
body.big-brothers-template .footer-column a:hover { color: var(--bb-gold); }
body.big-brothers-template .footer-brand-column img { width: min(340px, 100%); height: auto; margin-bottom: 12px; }
body.big-brothers-template .footer-brand-column strong { margin-top: 8px; color: var(--bb-white); font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.1rem; font-weight: 500; }
body.big-brothers-template .footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 42px; padding-top: 18px; border-top: 1px solid var(--bb-line-soft); color: #78838d; font-size: .65rem; }

body.big-brothers-template .admin-panel,
body.big-brothers-template .article,
body.big-brothers-template .account-panel { color: #d7dbde; }
body.big-brothers-template .admin-table-wrap { border-color: var(--bb-line); }
body.big-brothers-template .admin-table { color: #d7dbde; background: var(--bb-card); }
body.big-brothers-template .admin-table th,
body.big-brothers-template .admin-table td { border-color: var(--bb-line-soft); }
body.big-brothers-template .admin-actions a { border-color: var(--bb-line); color: #d7dbde; }

@media (max-width: 1180px) {
    body.big-brothers-template .main-nav { gap: 16px; }
    body.big-brothers-template .main-nav > a,
    body.big-brothers-template .nav-dropdown > a { font-size: .66rem; }
    .bb-listing-grid,
    body.big-brothers-template .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    body.big-brothers-template .footer-nav { grid-template-columns: 1.3fr repeat(2, 1fr); }
    body.big-brothers-template .footer-contact { grid-column: 2 / 4; }
}

@media (max-width: 900px) {
    body.big-brothers-template .site-header { min-height: 82px; padding: 10px 18px; }
    body.big-brothers-template .brand-logo { height: 56px; }
    body.big-brothers-template .nav-toggle-label { display: grid; }
    body.big-brothers-template .nav-toggle-label span { background: var(--bb-white) !important; }
    body.big-brothers-template .main-nav {
        position: fixed;
        top: 82px;
        right: 0;
        left: 0;
        display: none;
        max-height: calc(100vh - 82px);
        padding: 22px;
        overflow-y: auto;
        border-bottom: 1px solid var(--bb-line);
        background: #0c131c;
    }
    body.big-brothers-template .nav-toggle:checked ~ .main-nav { display: grid; gap: 6px; }
    body.big-brothers-template .main-nav > a,
    body.big-brothers-template .nav-dropdown > a { display: block; padding: 12px 4px; font-size: .76rem; }
    body.big-brothers-template .main-nav .nav-contact { margin-top: 8px; text-align: center; }
    body.big-brothers-template .nav-menu { position: static; display: grid; box-shadow: none; margin: 0 0 10px; }
    .bb-hero { min-height: auto; padding: 58px 20px 0; }
    .bb-hero h1 { font-size: clamp(3.2rem, 14vw, 6rem); }
    .bb-hero-portrait { min-height: 280px; }
    .bb-hero-bottom { align-items: start; }
    .bb-contact { grid-template-columns: 1fr; }
    .bb-team-contacts { grid-template-columns: 1fr; }
    .bb-listing-grid,
    body.big-brothers-template .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.big-brothers-template .filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.big-brothers-template .inline-lead { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.big-brothers-template .property-grid { grid-template-columns: 1fr !important; }
    body.big-brothers-template .property-sidebar { position: static; }
    body.big-brothers-template .property-detail-groups { grid-template-columns: 1fr !important; }
    body.big-brothers-template .footer-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.big-brothers-template .footer-brand-column { grid-column: 1 / -1; }
    body.big-brothers-template .footer-contact { grid-column: auto; }
}

@media (max-width: 600px) {
    .bb-kicker span { width: 24px; }
    .bb-kicker { gap: 9px; font-size: .6rem; letter-spacing: .17em; }
    .bb-hero-lead { margin-top: 20px; }
    .bb-hero-bottom { display: grid; text-align: center; }
    .bb-hero-bottom div { text-align: center; }
    body.big-brothers-template .section { padding: 64px 18px; }
    .bb-listing-grid,
    body.big-brothers-template .grid,
    body.big-brothers-template .blog-grid { grid-template-columns: 1fr; }
    body.big-brothers-template .listing-card img { height: auto; aspect-ratio: 16 / 10; }
    .form-row,
    body.big-brothers-template .filters,
    body.big-brothers-template .inline-lead { grid-template-columns: 1fr; }
    body.big-brothers-template .page-title,
    body.big-brothers-template .admin-panel,
    body.big-brothers-template .article,
    body.big-brothers-template .filters,
    body.big-brothers-template .results-toolbar,
    body.big-brothers-template .map-results,
    body.big-brothers-template main > .grid,
    body.big-brothers-template .saved-search-section,
    body.big-brothers-template .load-more-wrap,
    body.big-brothers-template .property-page { width: calc(100% - 32px) !important; }
    body.big-brothers-template .property-hero h1 { font-size: clamp(2.5rem, 13vw, 4.5rem) !important; }
    body.big-brothers-template .gallery-main { height: auto !important; aspect-ratio: 4 / 3 !important; }
    body.big-brothers-template .footer { padding: 46px 20px 22px; }
    body.big-brothers-template .footer-nav { grid-template-columns: 1fr; text-align: center; }
    body.big-brothers-template .footer-brand-column,
    body.big-brothers-template .footer-contact { grid-column: auto; }
    body.big-brothers-template .footer-brand-column img { margin-left: auto; margin-right: auto; }
    body.big-brothers-template .footer-bottom { display: grid; justify-content: center; text-align: center; }
}

/* Rich city-guide editorial sections. */
body.big-brothers-template .local-guide-editorial { background: #eee7da; color: #11100e; }
body.big-brothers-template .local-guide-heading {
    display: grid;
    grid-template-columns: minmax(0,1.25fr) minmax(300px,.55fr);
    gap: 40px;
    align-items: end;
    margin-bottom: clamp(45px,6vw,90px);
}
body.big-brothers-template .local-guide-heading h2 { max-width: 980px; margin: 0; color: #11100e; font-size: clamp(3.4rem,6.6vw,7.8rem); line-height: .86; }
body.big-brothers-template .local-guide-heading > p { color: #5e574e; font-size: clamp(1rem,1.3vw,1.22rem); }
body.big-brothers-template .local-guide-editorial .bb-label { color: #87683e; }
body.big-brothers-template .local-guide-grid { display: grid; grid-template-columns: 1.16fr .92fr .92fr; gap: 1px; background: rgba(17,16,14,.22); border: 1px solid rgba(17,16,14,.22); }
body.big-brothers-template .local-guide-grid article { min-height: 390px; padding: clamp(28px,3.2vw,52px); color: #11100e; background: #eee7da; }
body.big-brothers-template .local-guide-grid .local-guide-feature { background: #d8c6aa; }
body.big-brothers-template .local-guide-grid article > span { display: block; margin-bottom: 70px; color: #87683e; font-size: .72rem; letter-spacing: .16em; }
body.big-brothers-template .local-guide-grid h3 { margin: 10px 0 22px; color: #11100e; font-size: clamp(2rem,3vw,3.6rem); line-height: .95; }
body.big-brothers-template .local-guide-grid article p:last-child { color: #5e574e; }
body.big-brothers-template .local-guide-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px,8vw,140px); background: #090909; }
body.big-brothers-template .local-guide-checklist h2 { max-width: 760px; font-size: clamp(3.2rem,5.5vw,6.7rem); line-height: .88; }
body.big-brothers-template .local-guide-checklist ol { margin: 0; padding: 0; list-style: none; counter-reset: guide; }
body.big-brothers-template .local-guide-checklist li { display: grid; grid-template-columns: 44px 1fr; gap: 18px; padding: 23px 0; border-bottom: 1px solid rgba(255,255,255,.13); color: #d1cbc2; font-size: clamp(1rem,1.25vw,1.18rem); counter-increment: guide; }
body.big-brothers-template .local-guide-checklist li:before { content: counter(guide,decimal-leading-zero); color: #c8a66e; font-size: .68rem; letter-spacing: .1em; }
body.big-brothers-template .local-guide-faq { border-top: 1px solid rgba(185,149,99,.25); background: #0d0d0d; }
@media (max-width: 900px) {
    body.big-brothers-template .local-guide-heading,
    body.big-brothers-template .local-guide-checklist { grid-template-columns: 1fr; }
    body.big-brothers-template .local-guide-grid { grid-template-columns: 1fr; }
    body.big-brothers-template .local-guide-grid article { min-height: 0; }
    body.big-brothers-template .local-guide-grid article > span { margin-bottom: 35px; }
}

/* Ivory contact panel must retain dark, readable typography in every state. */
body.big-brothers-template .bb-contact-form,
body.big-brothers-template .bb-contact-form h2,
body.big-brothers-template .bb-contact-form h3,
body.big-brothers-template .bb-contact-form label,
body.big-brothers-template .bb-contact-form select,
body.big-brothers-template .bb-contact-form input,
body.big-brothers-template .bb-contact-form textarea { color: #11100e !important; }
body.big-brothers-template .bb-contact-form h2 { text-shadow: none; }
body.big-brothers-template .bb-contact-form input::placeholder,
body.big-brothers-template .bb-contact-form textarea::placeholder { color: #6b665f !important; opacity: 1; }
body.big-brothers-template .bb-contact-form small { color: #5b554d !important; }

/* Keep the complete RCR and Big Brothers wordmark legible in the header. */
body.big-brothers-template .site-header .brand {
    flex: 0 1 clamp(320px,29vw,430px);
    width: clamp(320px,29vw,430px);
    max-width: 43%;
}
body.big-brothers-template .site-header .brand-logo {
    display: block;
    width: 100%;
    height: auto;
    max-height: 72px;
    object-fit: contain;
    object-position: left center;
}
@media (max-width: 900px) {
    body.big-brothers-template .site-header .brand { width: min(285px,72vw); max-width: 72vw; }
    body.big-brothers-template .site-header .brand-logo { max-height: 58px; }
}

/* Shared luxury collection grid for search, category and community pages. */
body.big-brothers-template .property-results-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: clamp(32px,4vw,64px) clamp(20px,2.4vw,36px);
    width: min(1600px,100%);
    margin: 0 auto;
    align-items: start;
}
body.big-brothers-template .property-results-grid .luxury-listing-card {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(238,231,218,.13);
    background: #0d0d0d;
    box-shadow: 0 22px 55px rgba(0,0,0,.18);
}
body.big-brothers-template .property-results-grid .luxury-listing-card:hover {
    border-color: rgba(200,166,110,.72);
    box-shadow: 0 30px 75px rgba(0,0,0,.34);
}
body.big-brothers-template .property-results-grid .listing-media-wrap {
    min-height: 0;
    aspect-ratio: 16 / 10;
}
body.big-brothers-template .property-results-grid .luxury-listing-card img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
}
body.big-brothers-template .property-results-grid .listing-overlay-price {
    right: 20px;
    bottom: 43px;
    left: 20px;
    font-size: clamp(2rem,2.8vw,3.25rem);
}
body.big-brothers-template .property-results-grid .listing-card-location { right: 20px; bottom: 18px; left: 20px; }
body.big-brothers-template .property-results-grid .luxury-listing-card .listing-body {
    display: grid;
    gap: 16px;
    min-height: 245px;
    padding: 25px 22px 24px;
}
body.big-brothers-template .property-results-grid .luxury-listing-card .listing-body h3 {
    overflow-wrap: anywhere;
    font-size: clamp(1.65rem,2vw,2.5rem);
    line-height: 1;
}
body.big-brothers-template .property-results-grid .luxury-listing-card .listing-stats { margin: 0; }
body.big-brothers-template .property-results-grid .listing-card-footer { align-self: end; }
body.big-brothers-template .property-results-grid + .load-more-wrap,
body.big-brothers-template .property-results-grid ~ .load-more-wrap { grid-column: 1 / -1; }
body.big-brothers-template .load-more-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: clamp(44px,6vw,80px) auto 0;
}
body.big-brothers-template .load-more-wrap .button {
    min-width: min(360px,100%);
    padding: 18px 30px;
    border: 1px solid #b99563;
    border-radius: 0;
    color: #eee7da;
    background: transparent;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-align: center;
    text-transform: uppercase;
}
body.big-brothers-template .load-more-wrap .button:hover { color: #080808; background: #eee7da; }
@media (max-width: 1000px) {
    body.big-brothers-template .property-results-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 600px) {
    body.big-brothers-template .property-results-grid { grid-template-columns: 1fr !important; gap: 26px; }
    body.big-brothers-template .property-results-grid .luxury-listing-card .listing-body { min-height: 0; }
}

/* Luxury relocation direction — full-width editorial system. */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
body.big-brothers-template { --bb-bg: #07100f; --bb-card: #0d1816; --bb-card-2: #12201d; --bb-gold: #d6b679; --bb-cream: #f0dfbd; --bb-white: #f8f5ed; --bb-muted: #a7b1ab; --bb-line: rgba(214,182,121,.24); background: #07100f; }
body.big-brothers-template .site-header { min-height: 94px; padding: 10px clamp(22px, 4.8vw, 92px); background: rgba(7,16,15,.94); }
body.big-brothers-template .brand-logo { height: clamp(54px, 4.8vw, 72px); }
.bb-hero-v3 { grid-template-columns: minmax(0,1.15fr) minmax(390px,.85fr); grid-template-rows: 1fr auto; min-height: calc(100svh - 94px); padding: 0; background: linear-gradient(115deg,#07100f 0%,#0d1b18 50%,#07100f 100%); }
.bb-hero-atmosphere { position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 20% 20%,rgba(214,182,121,.11),transparent 35%), linear-gradient(90deg,transparent 49.9%,rgba(214,182,121,.18) 50%,transparent 50.1%); }
.bb-hero-v3 .bb-hero-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(72px,9vw,150px) clamp(28px,6.5vw,126px); text-align: left; }
.bb-hero-v3 .bb-kicker { margin-bottom: 28px; }
.bb-hero-v3 .bb-hero-copy h1 { max-width: 970px; margin: 0; font-size: clamp(3.9rem,7vw,8.8rem); line-height: .88; letter-spacing: -.035em; }
.bb-hero-v3 .bb-hero-copy h1 em { display: inline-block; margin-top: .08em; color: var(--bb-cream); }
.bb-hero-v3 .bb-hero-lead { max-width: 700px; margin: 31px 0 0; color: #bec6c0; font-size: clamp(1rem,1.25vw,1.2rem); }
.bb-hero-search { display: grid; grid-template-columns: 1fr auto; width: min(690px,100%); margin-top: 34px; padding: 6px; border: 1px solid var(--bb-line); background: rgba(4,11,10,.68); }
body.big-brothers-template .bb-hero-search input { min-height: 54px; border: 0; background: transparent; }
body.big-brothers-template .bb-hero-search button { min-height: 54px; padding: 12px 22px; border-radius: 0; white-space: nowrap; }
.bb-hero-v3 .bb-hero-actions { justify-content: flex-start; align-items: center; margin-top: 25px; }
.bb-button-gold { border: 1px solid var(--bb-gold); color: #07100f !important; background: var(--bb-gold); }
.bb-button-gold:hover { color: var(--bb-gold) !important; background: transparent; }
.bb-text-link { color: var(--bb-cream) !important; font-size: .74rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.bb-hero-v3 .bb-hero-portrait { position: relative; min-height: 100%; margin: 0; padding: clamp(60px,7vw,100px) clamp(25px,4vw,70px) 0 0; }
.bb-hero-v3 .bb-hero-portrait:before { width: 110%; height: 70%; background: radial-gradient(circle,rgba(214,182,121,.22),transparent 66%); }
.bb-portrait-frame { position: relative; display: flex; width: 100%; height: 100%; align-items: end; justify-content: center; border-left: 1px solid var(--bb-line); overflow: hidden; }
.bb-portrait-frame:after { position: absolute; inset: auto 0 0; height: 42%; content: ''; background: linear-gradient(transparent,#07100f); pointer-events: none; }
.bb-portrait-frame img { width: min(660px,100%); max-height: 76vh; }
.bb-portrait-frame p { position: absolute; right: 28px; bottom: 26px; left: 28px; z-index: 2; margin: 0; color: var(--bb-white); font-family: Georgia,serif; font-size: clamp(1.05rem,1.5vw,1.35rem); }
.bb-portrait-frame p span { display: block; color: var(--bb-gold); font-family: Inter,sans-serif; font-size: .63rem; letter-spacing: .15em; text-transform: uppercase; }
.bb-hero-rail { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--bb-line); }
.bb-hero-rail span { padding: 18px 30px; border-right: 1px solid var(--bb-line); color: #8f9b95; font-size: .62rem; letter-spacing: .18em; text-align: center; text-transform: uppercase; }
.bb-trust-strip { display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; gap: 18px; padding: 28px clamp(24px,6vw,110px); color: #07100f; background: var(--bb-cream); }
.bb-trust-strip p,.bb-trust-strip strong { margin: 0; font-family: Georgia,serif; font-size: clamp(1.45rem,2.7vw,3.2rem); font-weight: 400; }
.bb-trust-strip strong { font-style: italic; }
.bb-trust-strip a { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.bb-split-heading { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(320px,.7fr); gap: clamp(35px,8vw,150px); align-items: end; margin-bottom: clamp(42px,6vw,80px); }
.bb-split-heading h2 { max-width: 850px; margin: 0; font-size: clamp(3rem,5.5vw,6.3rem); line-height: .92; }
.bb-split-heading > p { max-width: 620px; margin: 0; color: var(--bb-muted); }
.bb-path-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 1px; background: var(--bb-line); }
.bb-path-card { position: relative; min-height: 470px; padding: clamp(30px,4vw,58px); background: var(--bb-card); }
.bb-path-card-primary { background: var(--bb-cream); }
.bb-path-card > span { display: block; margin-bottom: 75px; color: var(--bb-gold); font-family: Georgia,serif; font-size: 1.8rem; }
.bb-path-card-primary > span,.bb-path-card-primary .bb-label { color: #765e35; }
.bb-path-card h3 { max-width: 420px; font-size: clamp(2rem,3vw,3.2rem); }
.bb-path-card-primary h3,.bb-path-card-primary p,.bb-path-card-primary a { color: #07100f !important; }
.bb-path-card > p:not(.bb-label) { color: var(--bb-muted); }
.bb-path-card > a { position: absolute; right: clamp(30px,4vw,58px); bottom: 40px; left: clamp(30px,4vw,58px); color: var(--bb-gold); font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.bb-markets { background: #0a1412; }
.bb-market-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--bb-line); }
.bb-market-link { position: relative; display: grid; min-height: 140px; align-content: center; padding: 28px 62px 28px 24px; border-right: 1px solid var(--bb-line); border-bottom: 1px solid var(--bb-line); transition: background .25s ease; }
.bb-market-link:hover { background: rgba(214,182,121,.08); }
.bb-market-link span { font-family: Georgia,serif; font-size: clamp(1.45rem,2.2vw,2.4rem); }
.bb-market-link small { color: var(--bb-muted); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.bb-market-link b { position: absolute; top: 50%; right: 24px; color: var(--bb-gold); font-size: 1.3rem; font-weight: 400; transform: translateY(-50%); }
.bb-expertise { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(50px,9vw,160px); align-items: center; background: var(--bb-cream); }
.bb-expertise blockquote { max-width: 850px; margin: 20px 0 0; color: #07100f; font-family: Georgia,serif; font-size: clamp(3rem,5.6vw,6.3rem); font-style: italic; line-height: .95; }
.bb-expertise .bb-label { color: #765e35; }
.bb-expertise-copy > p { color: #24312d; font-size: 1.12rem; }
.bb-expertise-copy dl { margin-top: 40px; }
.bb-expertise-copy dl div { display: grid; grid-template-columns: 100px 1fr; gap: 20px; padding: 18px 0; border-top: 1px solid rgba(7,16,15,.22); }
.bb-expertise-copy dt { color: #07100f; font-weight: 800; }
.bb-expertise-copy dd { margin: 0; color: #40504a; }
.bb-faq { background: #0a1412; }
.bb-faq-list { border-top: 1px solid var(--bb-line); }
.bb-faq-list details { padding: 0; border-bottom: 1px solid var(--bb-line); }
.bb-faq-list summary { display: flex; justify-content: space-between; gap: 30px; padding: 28px 4px; color: var(--bb-white); font-family: Georgia,serif; font-size: clamp(1.25rem,2.2vw,2rem); cursor: pointer; list-style: none; }
.bb-faq-list summary::-webkit-details-marker { display: none; }
.bb-faq-list summary span { color: var(--bb-gold); font-family: Inter,sans-serif; font-weight: 300; transition: transform .2s ease; }
.bb-faq-list details[open] summary span { transform: rotate(45deg); }
.bb-faq-list details p { max-width: 900px; margin: 0; padding: 0 4px 30px; color: var(--bb-muted); }
.bb-community-answer { margin: 40px clamp(18px,5vw,72px); border: 1px solid var(--bb-line); background: var(--bb-card); }
.bb-community-answer h2 { max-width: 1100px; }
.bb-community-answer p:not(.bb-label) { max-width: 760px; color: var(--bb-muted); }
.bb-community-card > a { display: inline-block; margin-top: 15px; color: var(--bb-gold) !important; }
body.big-brothers-template .footer-nav { grid-template-columns: 1.35fr repeat(4,minmax(0,1fr)); gap: clamp(24px,3.5vw,58px); }
body.big-brothers-template .footer-bottom a { color: var(--bb-gold); }

@media (max-width: 1350px) and (min-width: 901px) {
    body.big-brothers-template .site-header { padding-right: 24px; padding-left: 24px; }
    body.big-brothers-template .brand-logo { height: 54px; }
    body.big-brothers-template .main-nav { gap: 14px; }
    body.big-brothers-template .main-nav > a,
    body.big-brothers-template .nav-dropdown > a { font-size: .61rem; }
    body.big-brothers-template .main-nav .nav-contact { padding-right: 15px; padding-left: 15px; }
}

@media (max-width: 1180px) {
    .bb-hero-v3 { grid-template-columns: 1fr .78fr; }
    .bb-path-grid { grid-template-columns: 1fr 1fr; }
    .bb-path-card-primary { grid-column: 1 / -1; }
    body.big-brothers-template .footer-nav { grid-template-columns: 1.4fr repeat(2,1fr); }
    body.big-brothers-template .footer-contact { grid-column: auto; }
}
@media (max-width: 900px) {
    .bb-hero-v3 { grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
    .bb-hero-v3 .bb-hero-copy { padding: 70px 24px 48px; }
    .bb-hero-v3 .bb-hero-copy h1 { font-size: clamp(3.6rem,14vw,6.8rem); }
    .bb-hero-v3 .bb-hero-portrait { min-height: 500px; padding: 0 24px; }
    .bb-portrait-frame { border-top: 1px solid var(--bb-line); border-left: 0; }
    .bb-split-heading,.bb-expertise { grid-template-columns: 1fr; }
    .bb-market-grid { grid-template-columns: repeat(2,1fr); }
    .bb-trust-strip { grid-template-columns: 1fr; gap: 2px; text-align: center; }
}
@media (max-width: 600px) {
    .bb-hero-v3 .bb-hero-copy { padding-top: 58px; }
    .bb-hero-v3 .bb-hero-copy h1 { font-size: clamp(3.25rem,16vw,5.2rem); }
    .bb-hero-search { grid-template-columns: 1fr; }
    .bb-hero-v3 .bb-hero-portrait { min-height: 410px; padding: 0 14px; }
    .bb-hero-rail { grid-template-columns: repeat(2,1fr); }
    .bb-hero-rail span { padding: 14px 8px; }
    .bb-path-grid,.bb-market-grid { grid-template-columns: 1fr; }
    .bb-path-card-primary { grid-column: auto; }
    .bb-path-card { min-height: 410px; }
    .bb-market-link { min-height: 110px; }
    .bb-expertise blockquote { font-size: clamp(2.8rem,14vw,4.7rem); }
    body.big-brothers-template .footer-nav { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*:before,*:after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* Cinematic motion layer: progressive, restrained, and reduced-motion safe. */
@keyframes bb-film-in {
    from { opacity: 0; transform: translate3d(0,28px,0); filter: blur(5px); }
    to { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}
@keyframes bb-frame-in {
    from { opacity: 0; transform: scale(1.035); }
    to { opacity: 1; transform: scale(1); }
}
@keyframes bb-line-draw {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}
.cinema-ready [data-cinematic-hero] > * { opacity: 0; animation: bb-film-in .95s cubic-bezier(.2,.7,.2,1) forwards; }
.cinema-ready [data-cinematic-hero] > :nth-child(1) { animation-delay: .08s; }
.cinema-ready [data-cinematic-hero] > :nth-child(2) { animation-delay: .17s; }
.cinema-ready [data-cinematic-hero] > :nth-child(3) { animation-delay: .31s; }
.cinema-ready [data-cinematic-hero] > :nth-child(4) { animation-delay: .43s; }
.cinema-ready [data-cinematic-hero] > :nth-child(5) { animation-delay: .52s; }
.cinema-ready .bb-portrait-frame { opacity: 0; animation: bb-frame-in 1.35s .18s cubic-bezier(.2,.7,.2,1) forwards; }
.cinema-ready .bb-hero-rail { transform-origin: left center; animation: bb-line-draw 1.1s .58s cubic-bezier(.2,.7,.2,1) both; }
.cinema-ready [data-reveal],
.cinema-ready [data-stagger] > * { opacity: 0; transform: translate3d(0,34px,0); transition: opacity .8s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms), transform .8s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms); }
.cinema-ready [data-reveal].is-revealed,
.cinema-ready [data-stagger] > *.is-revealed { opacity: 1; transform: translate3d(0,0,0); }
.bb-portrait-frame img { transform: translate3d(0,var(--portrait-shift,0),0); transition: transform .12s linear; will-change: transform; }
.bb-market-link:after { position: absolute; right: 0; bottom: 0; left: 0; height: 1px; content: ''; background: var(--bb-gold); transform: scaleX(0); transform-origin: left; transition: transform .4s cubic-bezier(.2,.7,.2,1); }
.bb-market-link:hover:after { transform: scaleX(1); }
.bb-path-card { overflow: hidden; }
.bb-path-card:after { position: absolute; inset: auto -20% -50% 30%; height: 220px; border-radius: 50%; content: ''; background: radial-gradient(circle,rgba(214,182,121,.13),transparent 68%); transform: translateY(50px); transition: transform .7s cubic-bezier(.2,.7,.2,1); pointer-events: none; }
.bb-path-card:hover:after { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
    .cinema-ready [data-cinematic-hero] > *, .cinema-ready .bb-portrait-frame, .cinema-ready .bb-hero-rail,
    .cinema-ready [data-reveal], .cinema-ready [data-stagger] > * { opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; filter: none !important; }
    .bb-portrait-frame img { transform: none !important; transition: none !important; }
}

/* Obsidian Asymmetry — ultra-luxury art direction. */
body.big-brothers-template {
    --bb-bg: #080808;
    --bb-card: #111111;
    --bb-card-2: #181818;
    --bb-gold: #b99563;
    --bb-cream: #eee7da;
    --bb-white: #f7f3ec;
    --bb-muted: #aaa49a;
    --bb-line: rgba(185,149,99,.28);
    --bb-line-soft: rgba(255,255,255,.1);
    color: var(--bb-white);
    background: #080808;
}
body.big-brothers-template .site-header {
    min-height: 88px;
    padding: 8px clamp(20px,4vw,76px);
    border-bottom: 1px solid rgba(255,255,255,.12);
    background: rgba(5,5,5,.94);
}
body.big-brothers-template .brand-logo { height: clamp(50px,4.2vw,65px); }
body.big-brothers-template .main-nav > a,
body.big-brothers-template .nav-dropdown > a { color: #ded8cf; }
body.big-brothers-template .main-nav .nav-contact { color: #fff; background: transparent; border: 1px solid #b99563; border-radius: 0; }
body.big-brothers-template .nav-menu { background: #0b0b0b; }

.bb-hero-v3 {
    position: relative;
    display: block;
    min-height: calc(100svh - 88px);
    padding: 0;
    background:
        linear-gradient(90deg,rgba(4,4,4,.93) 0%,rgba(4,4,4,.76) 37%,rgba(4,4,4,.18) 67%,rgba(4,4,4,.28) 100%),
        linear-gradient(0deg,rgba(4,4,4,.72) 0%,transparent 40%),
        url('/public/assets/images/south-texas-luxury-hero-v2.webp') center/cover no-repeat;
}
.bb-hero-v3:before { position: absolute; inset: 0; z-index: 0; content: ''; background: linear-gradient(90deg,transparent 0 58%,rgba(255,255,255,.16) 58% 58.08%,transparent 58.08%); pointer-events: none; }
.bb-hero-v3 .bb-hero-atmosphere { inset: 0; opacity: .34; background: radial-gradient(circle at 68% 45%,rgba(185,149,99,.18),transparent 26%); }
.bb-hero-index { position: absolute; top: 44px; right: clamp(25px,4vw,70px); z-index: 2; display: flex; align-items: center; gap: 12px; margin: 0; color: rgba(255,255,255,.76); font-size: .61rem; letter-spacing: .2em; text-transform: uppercase; writing-mode: vertical-rl; }
.bb-hero-index span { width: 1px; height: 70px; background: #b99563; }
.bb-hero-v3 .bb-hero-copy {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: calc(100svh - 88px);
    width: min(1040px,75%);
    justify-content: center;
    align-items: flex-start;
    padding: clamp(90px,11vh,150px) 0 145px clamp(26px,7.2vw,140px);
}
.bb-hero-v3 .bb-kicker { margin: 0 0 30px 7px; color: #d5b886; font-size: .68rem; }
.bb-hero-v3 .bb-hero-copy h1 { max-width: 970px; font-size: clamp(4.5rem,8.2vw,9.8rem); line-height: .82; letter-spacing: -.055em; text-shadow: 0 18px 50px rgba(0,0,0,.4); }
.bb-hero-v3 .bb-hero-copy h1 em { margin: .08em 0 0 clamp(18px,5vw,90px); color: #eee7da; }
.bb-hero-v3 .bb-hero-lead { max-width: 570px; margin: 36px 0 0 clamp(16px,8vw,145px); padding-left: 22px; border-left: 1px solid #b99563; color: #e2ddd5; font-size: clamp(.95rem,1.15vw,1.12rem); }
.bb-hero-search { width: min(650px,calc(100% - 40px)); margin: 35px 0 0 clamp(16px,8vw,145px); border: 0; border-bottom: 1px solid rgba(255,255,255,.5); background: rgba(8,8,8,.62); backdrop-filter: blur(10px); }
body.big-brothers-template .bb-hero-search button { color: #080808; background: #eee7da; }
.bb-hero-v3 .bb-hero-actions { margin: 25px 0 0 clamp(16px,8vw,145px); }
.bb-button-gold { border-color: #b99563; color: #080808 !important; background: #b99563; border-radius: 0; }
.bb-button-gold:hover { color: #eee7da !important; background: transparent; }
.bb-hero-v3 .bb-hero-portrait { position: absolute; right: clamp(40px,7vw,130px); bottom: 38px; z-index: 3; width: clamp(220px,19vw,340px); min-height: 0; height: clamp(250px,27vw,410px); margin: 0; padding: 0; }
.bb-hero-v3 .bb-hero-portrait:before { display: none; }
.bb-portrait-frame { border: 1px solid rgba(255,255,255,.38); background: rgba(6,6,6,.72); box-shadow: 0 30px 90px rgba(0,0,0,.5); backdrop-filter: blur(8px); }
.bb-portrait-frame img { max-height: 100%; filter: grayscale(1) contrast(1.08); }
.bb-portrait-frame p { right: 18px; bottom: 17px; left: 18px; font-size: .95rem; }
.bb-portrait-frame p span { color: #d5b886; }
.bb-hero-rail { position: absolute; right: auto; bottom: 0; left: 0; z-index: 4; display: flex; width: auto; border: 0; }
.bb-hero-rail span { padding: 14px clamp(13px,2vw,28px); border-top: 1px solid rgba(255,255,255,.3); border-right: 1px solid rgba(255,255,255,.16); color: #ddd5ca; background: rgba(5,5,5,.72); backdrop-filter: blur(9px); }

.bb-trust-strip { grid-template-columns: auto 1fr auto; padding: 34px clamp(24px,6vw,110px); color: #080808; background: #eee7da; }
.bb-trust-strip p,.bb-trust-strip strong { font-size: clamp(1.7rem,3.2vw,4rem); }
.bb-trust-strip strong { color: #8c6840; }
.bb-marquee { display: flex; gap: 0; overflow: hidden; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); background: #080808; white-space: nowrap; }
.bb-marquee span { flex: 0 0 auto; padding: 18px 0; color: #8d877f; font-size: .62rem; letter-spacing: .24em; animation: bb-marquee 24s linear infinite; }
@keyframes bb-marquee { to { transform: translateX(-100%); } }

body.big-brothers-template .section { padding: clamp(90px,10vw,170px) clamp(22px,7vw,130px); }
.bb-relocation { background: #080808; }
.bb-split-heading { grid-template-columns: minmax(0,1.35fr) minmax(280px,.55fr); align-items: start; }
.bb-split-heading h2 { max-width: 950px; font-size: clamp(3.8rem,7vw,8rem); line-height: .84; letter-spacing: -.035em; }
.bb-path-grid { grid-template-columns: 1.22fr .78fr; gap: 0; margin: 0 0 0 8vw; background: transparent; }
.bb-path-card { min-height: 500px; border: 1px solid rgba(255,255,255,.14); background: #111; }
.bb-path-card:nth-child(2) { transform: translateY(85px); }
.bb-path-card:nth-child(3) { grid-column: 2; width: 86%; margin-left: -18%; transform: translateY(42px); background: #1a1a1a; }
.bb-path-card-primary { grid-row: span 2; min-height: 770px; color: #080808; background: #eee7da; }
.bb-path-card h3 { font-size: clamp(2.5rem,4vw,4.5rem); line-height: .9; }
.bb-path-card-primary h3 { font-size: clamp(3.4rem,5.5vw,6rem); }

.bb-markets { color: #080808; background: #eee7da; }
.bb-markets .bb-label { color: #84643f; }
.bb-markets .bb-split-heading h2,.bb-markets .bb-market-link span { color: #080808; }
.bb-markets .bb-split-heading > p,.bb-markets .bb-market-link small { color: #665f56; }
.bb-market-grid { grid-template-columns: .8fr 1.2fr .9fr; margin-right: 7vw; border-top-color: rgba(8,8,8,.25); }
.bb-market-link { min-height: 165px; border-color: rgba(8,8,8,.2); }
.bb-market-link:nth-child(2),.bb-market-link:nth-child(5),.bb-market-link:nth-child(8),.bb-market-link:nth-child(11) { transform: translateY(42px); background: #dcd2c3; }
.bb-market-link:hover { background: #080808; }
.bb-market-link:hover span,.bb-market-link:hover small { color: #eee7da; }
.bb-market-link b { color: #8c6840; }

.bb-featured { position: relative; background: #080808; }
.bb-featured:before { position: absolute; top: 0; right: 7vw; width: 34%; height: 1px; content: ''; background: #b99563; }
.bb-listing-grid { grid-template-columns: 1.3fr .85fr .85fr !important; align-items: start; }
.bb-listing-grid .listing-card:first-child { grid-row: span 2; }
.bb-listing-grid .listing-card:first-child img { height: 520px; }
.bb-listing-grid .listing-card:nth-child(4) { margin-left: 12%; }
body.big-brothers-template .listing-card { background: #111; }
body.big-brothers-template .listing-card:hover { border-color: #b99563; }

.bb-expertise { grid-template-columns: 1.28fr .72fr; color: #080808; background: #d8c6aa; }
.bb-expertise blockquote { font-size: clamp(3.8rem,7vw,8rem); letter-spacing: -.045em; }
.bb-expertise-copy { align-self: end; padding: 45px; border: 1px solid rgba(8,8,8,.25); background: rgba(255,255,255,.18); transform: translateY(70px); }
.bb-faq { background: #0b0b0b; }
.bb-contact { grid-template-columns: minmax(0,1.12fr) minmax(430px,.72fr); background: #080808; }
.bb-contact-copy { align-self: start; padding-top: 70px; }
.bb-contact-copy h2 { font-size: clamp(4rem,7vw,8rem); line-height: .84; }
.bb-contact-form { border-radius: 0; background: #eee7da; transform: translateY(-55px); }
.bb-contact-form h2,.bb-contact-form label { color: #080808; }
.bb-contact-form .bb-label { color: #84643f; }
body.big-brothers-template .bb-contact-form input,body.big-brothers-template .bb-contact-form textarea,body.big-brothers-template .bb-contact-form select { border-color: rgba(8,8,8,.24); color: #080808; background: rgba(255,255,255,.35); }
body.big-brothers-template .bb-contact-form button { color: #eee7da; background: #080808; }
.bb-contact-form small { color: #5f584e; }
body.big-brothers-template .footer { background: #050505; }

@media (max-width: 1100px) {
    .bb-hero-v3 .bb-hero-copy { width: 82%; }
    .bb-hero-v3 .bb-hero-portrait { right: 28px; width: 235px; height: 290px; }
    .bb-path-grid { margin-left: 0; }
    .bb-listing-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .bb-listing-grid .listing-card:first-child { grid-row: auto; }
    .bb-listing-grid .listing-card:first-child img { height: 330px; }
    .bb-market-grid { margin-right: 0; }
}
@media (max-width: 900px) {
    body.big-brothers-template .site-header { min-height: 82px; background: #050505; }
    .bb-hero-v3 { min-height: auto; padding-bottom: 0; background-position: 62% center; }
    .bb-hero-v3 .bb-hero-copy { min-height: 850px; width: 100%; padding: 74px 24px 270px; background: linear-gradient(90deg,rgba(4,4,4,.88),rgba(4,4,4,.25)); }
    .bb-hero-v3 .bb-hero-copy h1 { font-size: clamp(4rem,14vw,7rem); }
    .bb-hero-v3 .bb-hero-copy h1 em,.bb-hero-v3 .bb-hero-lead,.bb-hero-search,.bb-hero-v3 .bb-hero-actions { margin-left: 0; }
    .bb-hero-v3 .bb-hero-portrait { right: 24px; bottom: 55px; width: 210px; height: 240px; }
    .bb-hero-index { display: none; }
    .bb-trust-strip { grid-template-columns: 1fr; }
    .bb-path-grid { grid-template-columns: 1fr; }
    .bb-path-card-primary { grid-row: auto; min-height: 560px; }
    .bb-path-card:nth-child(2),.bb-path-card:nth-child(3) { grid-column: auto; width: 100%; margin-left: 0; transform: none; }
    .bb-market-grid { grid-template-columns: repeat(2,1fr); }
    .bb-market-link:nth-child(2),.bb-market-link:nth-child(5),.bb-market-link:nth-child(8),.bb-market-link:nth-child(11) { transform: none; }
    .bb-expertise,.bb-contact { grid-template-columns: 1fr; }
    .bb-expertise-copy,.bb-contact-form { transform: none; }
}
@media (max-width: 600px) {
    .bb-hero-v3 { background-position: 69% center; }
    .bb-hero-v3 .bb-hero-copy { min-height: 930px; padding-top: 62px; }
    .bb-hero-v3 .bb-hero-copy h1 { font-size: clamp(3.6rem,17vw,5rem); }
    .bb-hero-v3 .bb-hero-lead { padding-left: 15px; }
    .bb-hero-v3 .bb-hero-portrait { right: 18px; bottom: 62px; width: 180px; height: 210px; }
    .bb-hero-rail { width: calc(100% - 210px); flex-wrap: wrap; }
    .bb-hero-rail span { width: 50%; }
    .bb-split-heading h2,.bb-contact-copy h2 { font-size: clamp(3.2rem,15vw,5rem); }
    .bb-market-grid,.bb-listing-grid { grid-template-columns: 1fr !important; }
    .bb-listing-grid .listing-card:nth-child(4) { margin-left: 0; }
    .bb-listing-grid .listing-card:first-child img { height: auto; }
    .bb-path-card,.bb-path-card-primary { min-height: 470px; }
    .bb-expertise-copy { padding: 25px; }
}
@media (prefers-reduced-motion: reduce) { .bb-marquee span { animation: none; } }

/* Luxury listing system — shared by homepage, search, related, and detail pages. */
body.big-brothers-template .luxury-listing-card {
    position: relative;
    border: 0;
    border-bottom: 1px solid rgba(185,149,99,.42);
    background: transparent;
    box-shadow: none;
}
body.big-brothers-template .luxury-listing-card:hover { border-color: #eee7da; transform: translateY(-7px); }
body.big-brothers-template .luxury-listing-card .listing-media-wrap { position: relative; min-height: 270px; background: #151515; }
body.big-brothers-template .luxury-listing-card .listing-media-wrap:after { display: none; }
body.big-brothers-template .luxury-listing-card img { width: 100%; height: 330px; filter: saturate(.74) contrast(1.03); transition: transform .9s cubic-bezier(.2,.7,.2,1),filter .5s ease; }
body.big-brothers-template .luxury-listing-card:hover img { transform: scale(1.045); filter: saturate(.95) contrast(1.02); }
.listing-media-shade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg,rgba(0,0,0,.03) 35%,rgba(0,0,0,.88) 100%); pointer-events: none; }
body.big-brothers-template .luxury-listing-card .type-pill { top: 18px; right: auto; left: 18px; padding: 7px 10px; border: 0; color: #080808; background: #eee7da; font-style: normal; font-weight: 700; }
.listing-overlay-price { position: absolute; right: 18px; bottom: 37px; left: 18px; z-index: 2; color: #fff; font-family: Georgia,serif; font-size: clamp(1.8rem,2.7vw,3.2rem); line-height: 1; }
.listing-card-location { position: absolute; right: 18px; bottom: 15px; left: 18px; z-index: 2; color: #d9d2c8; font-size: .65rem; letter-spacing: .13em; text-transform: uppercase; }
body.big-brothers-template .luxury-listing-card .listing-body { padding: 22px 2px 20px; }
body.big-brothers-template .luxury-listing-card .listing-body h3 { min-height: 0; margin: 0; color: #f4efe7; font-size: clamp(1.45rem,2vw,2.15rem); line-height: 1.04; }
body.big-brothers-template .luxury-listing-card .listing-stats { gap: 0; margin: 18px 0 0; padding: 12px 0; border-color: rgba(255,255,255,.13); }
body.big-brothers-template .luxury-listing-card .listing-stats span { padding: 0 15px; border-right: 1px solid rgba(255,255,255,.18); color: #b9b2a8; font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
body.big-brothers-template .luxury-listing-card .listing-stats span:first-child { padding-left: 0; }
body.big-brothers-template .luxury-listing-card .listing-stats span:last-child { border-right: 0; }
.listing-card-footer { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: end; padding-top: 5px; }
body.big-brothers-template .listing-card-footer small { min-height: 0; color: #77736d; font-size: .57rem; letter-spacing: .02em; }
.listing-card-footer > span { color: #c8a66e; font-size: .62rem; font-weight: 700; letter-spacing: .1em; white-space: nowrap; text-transform: uppercase; }
.listing-card-footer b { font-size: .9rem; font-weight: 400; }
.bb-listing-grid .luxury-listing-card:first-child .listing-overlay-price { font-size: clamp(2.7rem,4vw,4.8rem); }
.bb-listing-grid .luxury-listing-card:first-child .listing-body h3 { font-size: clamp(2.1rem,3.2vw,3.7rem); }

body.big-brothers-template .page-title { padding-top: 95px; }
body.big-brothers-template .page-title h1 { max-width: 1100px; font-size: clamp(3.8rem,7vw,7.8rem); line-height: .86; }
body.big-brothers-template .filters { padding: 12px; border: 1px solid rgba(185,149,99,.35); border-radius: 0; background: #101010; }
body.big-brothers-template .filters input,body.big-brothers-template .filters select { border-radius: 0; }
body.big-brothers-template .filters button { border-radius: 0; color: #080808; background: #eee7da; }
body.big-brothers-template .results-toolbar { padding: 18px 0; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }
body.big-brothers-template main > .grid { gap: 38px 24px; padding-top: 28px; }

body.big-brothers-template .property-page { padding-top: 60px !important; }
body.big-brothers-template .property-hero { align-items: end; padding: 40px 0 20px; border-bottom: 1px solid rgba(185,149,99,.32); }
body.big-brothers-template .property-hero h1 { max-width: 900px; font-size: clamp(3.6rem,6.4vw,7.2rem) !important; line-height: .86 !important; }
body.big-brothers-template .property-price { color: #d3b17a !important; }
body.big-brothers-template .gallery-main { border-radius: 0; filter: saturate(.82) contrast(1.02); }
body.big-brothers-template .detail-card,body.big-brothers-template .side-card { border-radius: 0 !important; background: #111 !important; }
body.big-brothers-template .property-sidebar .side-card:first-child { border-top: 3px solid #b99563 !important; }

@media (max-width: 900px) {
    body.big-brothers-template .luxury-listing-card img { height: 300px; }
    body.big-brothers-template main > .grid { gap: 34px 18px; }
}
@media (max-width: 600px) {
    body.big-brothers-template .luxury-listing-card img { height: auto; aspect-ratio: 4/3; }
    body.big-brothers-template .luxury-listing-card .listing-body { padding-bottom: 25px; }
    .listing-card-footer { grid-template-columns: 1fr; gap: 12px; }
    body.big-brothers-template .filters { padding: 10px; }
    body.big-brothers-template .page-title { padding-top: 60px; }
    body.big-brothers-template .property-hero { display: grid; }
}

/* Featured collection: disciplined editorial asymmetry without masonry gaps. */
body.big-brothers-template .bb-featured {
    overflow: hidden;
    background: #090909;
}
body.big-brothers-template .bb-featured .bb-split-heading {
    max-width: 1540px;
    margin: 0 auto clamp(42px,5vw,72px);
}
body.big-brothers-template .bb-listing-grid {
    display: grid;
    grid-template-columns: repeat(12,minmax(0,1fr)) !important;
    gap: clamp(28px,3.2vw,54px) clamp(18px,2.2vw,34px);
    width: min(1540px,100%);
    margin: 0 auto;
    align-items: start;
}
body.big-brothers-template .bb-listing-grid .luxury-listing-card {
    grid-column: span 6;
    grid-row: auto;
    min-width: 0;
    margin: 0;
    border: 1px solid rgba(238,231,218,.12);
    background: #0d0d0d;
    transition: transform .45s ease,border-color .45s ease,box-shadow .45s ease;
}
body.big-brothers-template .bb-listing-grid .luxury-listing-card:nth-child(1) { grid-column: span 7; }
body.big-brothers-template .bb-listing-grid .luxury-listing-card:nth-child(2) { grid-column: span 5; }
body.big-brothers-template .bb-listing-grid .luxury-listing-card:nth-child(4) { margin-left: 0; }
body.big-brothers-template .bb-listing-grid .luxury-listing-card:hover {
    border-color: rgba(200,166,110,.7);
    box-shadow: 0 28px 70px rgba(0,0,0,.32);
}
body.big-brothers-template .bb-listing-grid .listing-media-wrap {
    min-height: 0;
    aspect-ratio: 16 / 10;
}
body.big-brothers-template .bb-listing-grid .luxury-listing-card:nth-child(-n+2) .listing-media-wrap { aspect-ratio: 16 / 11; }
body.big-brothers-template .bb-listing-grid .luxury-listing-card img,
body.big-brothers-template .bb-listing-grid .luxury-listing-card:first-child img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
}
body.big-brothers-template .bb-listing-grid .listing-overlay-price,
body.big-brothers-template .bb-listing-grid .luxury-listing-card:first-child .listing-overlay-price {
    right: 24px;
    bottom: 46px;
    left: 24px;
    font-size: clamp(2rem,3vw,3.75rem);
    letter-spacing: -.035em;
}
body.big-brothers-template .bb-listing-grid .listing-card-location { right: 24px; bottom: 21px; left: 24px; }
body.big-brothers-template .bb-listing-grid .luxury-listing-card .listing-body {
    display: grid;
    gap: 17px;
    padding: clamp(22px,2.2vw,34px);
}
body.big-brothers-template .bb-listing-grid .luxury-listing-card .listing-body h3,
body.big-brothers-template .bb-listing-grid .luxury-listing-card:first-child .listing-body h3 {
    overflow-wrap: anywhere;
    font-size: clamp(1.7rem,2.35vw,3rem);
    line-height: .98;
}
body.big-brothers-template .bb-listing-grid .luxury-listing-card .listing-stats { margin: 0; }
body.big-brothers-template .bb-listing-grid .listing-card-footer { padding-top: 0; }

@media (min-width: 901px) {
    body.big-brothers-template .bb-listing-grid .luxury-listing-card:nth-child(-n+2) .listing-media-wrap {
        height: clamp(390px,30vw,460px);
        aspect-ratio: auto;
    }
}

@media (max-width: 900px) {
    body.big-brothers-template .bb-listing-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    body.big-brothers-template .bb-listing-grid .luxury-listing-card,
    body.big-brothers-template .bb-listing-grid .luxury-listing-card:nth-child(1),
    body.big-brothers-template .bb-listing-grid .luxury-listing-card:nth-child(2) { grid-column: span 1; }
    body.big-brothers-template .bb-listing-grid .luxury-listing-card:nth-child(-n+2) .listing-media-wrap,
    body.big-brothers-template .bb-listing-grid .listing-media-wrap { aspect-ratio: 4 / 3; }
}
@media (max-width: 600px) {
    body.big-brothers-template .bb-featured { padding-right: 18px; padding-left: 18px; }
    body.big-brothers-template .bb-listing-grid { grid-template-columns: 1fr !important; gap: 26px; }
    body.big-brothers-template .bb-listing-grid .luxury-listing-card { grid-column: 1; }
    body.big-brothers-template .bb-listing-grid .luxury-listing-card .listing-body { padding: 22px 19px 24px; }
    body.big-brothers-template .bb-listing-grid .listing-overlay-price,
    body.big-brothers-template .bb-listing-grid .luxury-listing-card:first-child .listing-overlay-price { right: 18px; bottom: 42px; left: 18px; font-size: clamp(2rem,11vw,3rem); }
    body.big-brothers-template .bb-listing-grid .listing-card-location { right: 18px; bottom: 18px; left: 18px; }
}
