: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,
   Cameron County/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;
    }
}


/* Amalia 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 Amalia / Amalia 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 Amalia 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 Amalia 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;
    }
}
/* RCR preservation layer */
:root{--rcr-navy:#182b49;--rcr-red:#b6282f;--rcr-ink:#222;--rcr-light:#f5f5f3}.rcr-site{margin:0;color:var(--rcr-ink);font-family:Inter,Arial,sans-serif;background:#fff}.rcr-site *{box-sizing:border-box}.rcr-site a{color:inherit}.rcr-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#fff;position:relative;z-index:50;border-bottom:1px solid #eee}.rcr-brand img{width:178px;max-height:70px;object-fit:contain}.rcr-nav{display:flex;align-items:center;gap:25px}.rcr-nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:600}.rcr-nav a:hover{color:var(--rcr-red)}.rcr-phone{border-left:1px solid #ddd;padding-left:25px}.rcr-menu-button{display:none;background:none;border:0;font:inherit}.rcr-hero{height:calc(95vh - 92px);min-height:650px;position:relative;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--rcr-navy)}.rcr-video-slot{position:absolute;inset:0;background:var(--rcr-navy)}.rcr-overlay{position:absolute;inset:0;background:rgba(0,0,0,.6)}.rcr-hero-content{position:relative;text-align:center;margin-bottom:100px}.rcr-rotator{height:120px;transition:opacity .5s}.rcr-rotator.fade{opacity:0}.rcr-rotator h1{font-size:52px;letter-spacing:.18em;margin:0 0 12px;font-weight:700}.rcr-rotator p{font-size:19px;letter-spacing:.22em}.rcr-outline-button,.rcr-button{display:inline-block;padding:15px 30px;border:1px solid #fff;text-decoration:none;letter-spacing:.15em;font-size:12px;background:transparent;color:#fff}.rcr-outline-button:hover,.rcr-button{background:var(--rcr-red);border-color:var(--rcr-red)}.rcr-stats{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:2fr repeat(3,1fr);align-items:center;background:rgba(255,255,255,.94);color:#333;padding:22px 6vw;border-top:2px solid var(--rcr-red)}.rcr-stats h2{font-size:28px;border-left:4px solid var(--rcr-red);padding-left:18px}.rcr-stats div{text-align:center;border-left:1px solid #ccc}.rcr-stats strong{font-size:30px;display:block}.rcr-stats span{font-size:12px;color:#666}.rcr-section{max-width:1240px;margin:auto;padding:90px 5vw}.rcr-about{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.rcr-about img{width:100%;height:600px;object-fit:cover;object-position:center top}.rcr-about h2,.rcr-section-heading h2,.rcr-prose h2{font:600 46px/1.15 'Playfair Display',serif;color:var(--rcr-navy)}.rcr-about p,.rcr-prose p{font-size:17px;line-height:1.8}.rcr-kicker{color:var(--rcr-red);font-size:12px!important;letter-spacing:.2em;font-weight:700}.rcr-button{margin-top:20px}.rcr-section-heading{text-align:center;margin-bottom:42px}.rcr-center{text-align:center}.rcr-empty,.rcr-notice{text-align:center;padding:25px;background:var(--rcr-light)}.rcr-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;max-width:none;padding:0}.rcr-paths a{min-height:320px;background:var(--rcr-navy);color:#fff;display:flex;flex-direction:column;justify-content:end;padding:40px;text-decoration:none}.rcr-paths a:nth-child(2){background:#263c5e}.rcr-paths a:nth-child(3){background:#324969}.rcr-paths span{color:#f0c0c3;letter-spacing:.18em;font-size:12px}.rcr-paths strong{font:30px 'Playfair Display',serif;margin-top:10px}.rcr-page-hero{min-height:360px;background:var(--rcr-navy);color:#fff;text-align:center;display:flex;flex-direction:column;justify-content:center;padding:50px}.rcr-page-hero h1{font:600 58px 'Playfair Display',serif;margin:10px}.rcr-page-hero p{letter-spacing:.2em;font-size:12px}.rcr-prose{max-width:820px;text-align:center}.rcr-agent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}.rcr-agent{text-align:center}.rcr-agent img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top}.rcr-agent h2{font-family:'Playfair Display',serif;color:var(--rcr-navy)}.rcr-contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.rcr-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rcr-form label{display:grid;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.rcr-form label:nth-of-type(n+5){grid-column:1/-1}.rcr-form input,.rcr-form select,.rcr-form textarea{width:100%;border:1px solid #ccc;padding:13px;background:#fff;font:inherit}.rcr-form .hp{position:absolute;left:-9999px}.rcr-success{color:#18723b}.rcr-error{color:#a91f2a}.rcr-footer{background:var(--rcr-navy);color:#fff;padding:65px 6vw 25px;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:45px}.rcr-footer img{width:190px}.rcr-footer h2{font-size:13px;text-transform:uppercase;letter-spacing:.15em;color:#efb8bc}.rcr-footer a,.rcr-footer span{display:block;text-decoration:none;margin:10px 0;font-size:13px;color:#fff}.rcr-copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);padding-top:22px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
@media(max-width:900px){.rcr-menu-button{display:block}.rcr-nav{display:none;position:absolute;top:92px;left:0;right:0;background:#fff;padding:25px;flex-direction:column;align-items:flex-start;border-top:1px solid #eee}.rcr-nav.is-open{display:flex}.rcr-phone{border:0;padding:0}.rcr-rotator h1{font-size:36px}.rcr-stats{grid-template-columns:1fr 1fr}.rcr-stats h2{grid-column:1/-1}.rcr-about,.rcr-contact-grid{grid-template-columns:1fr}.grid,.rcr-agent-grid{grid-template-columns:repeat(2,1fr)}.rcr-footer{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rcr-header{height:78px}.rcr-brand img{width:145px}.rcr-nav{top:78px}.rcr-hero{height:calc(95vh - 78px);min-height:630px}.rcr-hero-content{margin-bottom:150px}.rcr-rotator h1{font-size:26px;letter-spacing:.1em}.rcr-rotator p{font-size:14px}.rcr-stats{padding:12px 16px}.rcr-stats h2{font-size:19px}.rcr-stats strong{font-size:21px}.rcr-stats span{font-size:10px}.rcr-about{padding-top:60px;gap:35px}.rcr-about img{height:430px}.rcr-about h2,.rcr-section-heading h2,.rcr-prose h2{font-size:36px}.rcr-paths,.grid,.rcr-agent-grid,.rcr-footer{grid-template-columns:1fr}.rcr-paths a{min-height:210px}.rcr-page-hero{min-height:280px}.rcr-page-hero h1{font-size:42px}.rcr-form{grid-template-columns:1fr}.rcr-form label{grid-column:1/-1}.rcr-footer{gap:25px}}
.rcr-listing-detail{max-width:1400px;margin:auto;padding:45px 5vw}.rcr-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:5px;max-height:650px;overflow:hidden}.rcr-gallery img{width:100%;height:100%;min-height:250px;object-fit:cover}.rcr-gallery img:first-child{grid-row:span 2}.rcr-listing-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:70px;padding-top:55px}.rcr-listing-layout h1{font:600 44px 'Playfair Display',serif;color:var(--rcr-navy)}.rcr-price{font-size:30px;font-weight:700}.rcr-facts{display:flex;gap:25px;padding:20px 0;border-block:1px solid #ddd}.rcr-attribution{margin-top:35px;padding:20px;background:var(--rcr-light);font-size:12px}.rcr-listing-layout aside{padding:30px;background:var(--rcr-light);align-self:start}.rcr-listing-form{grid-template-columns:1fr}.rcr-listing-form label{grid-column:1/-1}@media(max-width:760px){.rcr-gallery{grid-template-columns:1fr 1fr}.rcr-gallery img:first-child{grid-column:1/-1}.rcr-listing-layout{grid-template-columns:1fr;gap:30px}.rcr-listing-layout h1{font-size:34px}}
.rcr-video-slot{overflow:hidden}.rcr-video-slot video{width:100%;height:100%;object-fit:cover}
.rcr-team-hero p:last-child{max-width:720px;margin:15px auto 0;letter-spacing:0;font-size:16px;line-height:1.6}.rcr-agent{display:flex;flex-direction:column;align-items:center;padding-bottom:30px}.rcr-agent a{display:block;text-decoration:none;font-size:13px;margin:3px 0;overflow-wrap:anywhere}.rcr-agent-contact{margin-top:16px!important;padding:11px 18px;border:1px solid var(--rcr-navy);letter-spacing:.12em}.rcr-team-cta{text-align:center;background:var(--rcr-navy);color:#fff;padding:80px 5vw}.rcr-team-cta h2{font:600 38px 'Playfair Display',serif}.rcr-team-cta p{max-width:700px;margin:15px auto 30px;line-height:1.7}

/* Live-site parity: header, footer, team cards */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.live-header{position:fixed;inset:0 0 auto;z-index:100;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}.live-header-inner{max-width:1800px;margin:auto;padding:20px 48px;display:flex;align-items:center;justify-content:space-between;min-height:104px}.live-brand img{display:block;width:190px;height:64px;object-fit:contain}.live-header-actions,.live-nav{display:flex;align-items:center}.live-header-actions{gap:32px}.live-nav{gap:32px}.live-nav a{text-decoration:none;color:#111;font-size:14px;font-weight:500;padding-bottom:4px;border-bottom:1px solid transparent}.live-nav a:hover{color:#b32025;border-color:#b32025}.live-call{display:flex;align-items:center;gap:8px;background:#1d2f4f;color:#fff!important;padding:11px 17px;border-radius:5px;text-decoration:none;font-weight:500}.live-main{padding-top:104px}.live-footer{background:#1d2f4f;color:#fff;padding:64px 20px 30px}.live-footer-inner{max-width:1152px;margin:auto}.live-footer-top{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-bottom:48px}.live-footer-logo{width:225px;height:80px;object-fit:contain}.live-footer-top p{color:rgba(255,255,255,.9);font-size:15px;letter-spacing:.02em}.live-contact{text-align:right}.live-footer h3{color:#c7242b;text-transform:uppercase;font-size:13px;letter-spacing:.12em;margin:0 0 14px}.live-contact p{margin:5px 0;letter-spacing:0}.live-contact a,.live-footer a{color:rgba(255,255,255,.86);text-decoration:none}.live-footer-rule{height:1px;background:rgba(255,255,255,.1);margin:0 0 38px}.live-footer-columns{display:grid;grid-template-columns:4fr 5fr 3fr;gap:42px;margin-bottom:45px}.live-site-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.live-footer-columns p{color:rgba(255,255,255,.82);font-size:14px;line-height:1.5;margin:0 0 13px}.live-socials,.live-badges{display:flex;gap:11px;margin-bottom:20px}.live-socials a,.live-badges span{width:40px;height:40px;border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;border-radius:2px;font-size:18px}.live-footer-bottom{display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.6);font-size:12px}.live-footer-bottom p{margin:0}.team-live-hero{height:420px;position:relative;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden}.team-live-hero>img,.team-live-hero>div{position:absolute;inset:0;width:100%;height:100%}.team-live-hero>img{object-fit:cover}.team-live-hero>div{background:rgba(15,30,52,.72)}.team-live-hero>section{position:relative;z-index:1;max-width:820px;padding:20px}.team-live-hero h1{font:700 56px 'Playfair Display',serif;margin:0 0 20px}.team-live-hero p{font-size:17px;line-height:1.7}.team-live-section{padding:76px 15px 90px;background:#fff}.team-live-grid{max-width:1530px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:52px 48px}.team-live-card{display:grid;grid-template-columns:40% 60%;min-height:305px;background:linear-gradient(90deg,#fff,#fafafa);border:1px solid #dfe2e7;box-shadow:0 9px 23px rgba(20,35,60,.13);overflow:hidden}.team-live-photo{position:relative;min-width:0}.team-live-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.team-live-photo span{position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#ffd521,#ffe36e,#fff0a1)}.team-live-info{padding:31px 32px;display:flex;flex-direction:column;justify-content:center;min-width:0}.team-live-info h2{font:700 25px 'Playfair Display',serif;color:#283852;letter-spacing:.04em;text-transform:uppercase;margin:0}.team-live-info>i{display:block;width:66px;height:3px;background:#b41f24;margin:17px 0}.team-live-title{font-size:20px;font-weight:500;font-style:italic;color:#394559;margin:0 0 23px}.team-contact-lines{display:grid;gap:14px}.team-contact-lines a{display:flex;align-items:center;gap:15px;color:#354157;text-decoration:none;font-size:18px;font-weight:500;min-width:0}.team-contact-lines b{width:40px;height:40px;flex:0 0 40px;background:#3a465f;display:grid;place-items:center;box-shadow:0 4px 8px rgba(0,0,0,.15)}.team-contact-lines svg{width:19px;height:19px;fill:#fff}.team-contact-lines span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-contact-button{display:block;margin-top:25px;padding:15px 20px;background:linear-gradient(90deg,#b31d22,#bd3034);color:#fff!important;text-align:center;text-decoration:none;font-size:16px;font-weight:500;letter-spacing:.04em;box-shadow:0 5px 10px rgba(110,20,24,.2)}.team-join{background:#f6f7f9;text-align:center;padding:75px 20px}.team-join h2{font:700 34px 'Playfair Display',serif;color:#273750}.team-join p{max-width:700px;margin:15px auto 25px;line-height:1.7}.team-join a{display:inline-block;background:#b32025;color:#fff;padding:14px 28px;text-decoration:none;letter-spacing:.08em}.save-card{display:none!important}.hp{position:absolute!important;left:-9999px!important}
@media(max-width:1150px){.live-header-inner{padding-inline:28px}.live-nav{gap:18px}.live-nav a{font-size:12px}.team-live-grid{gap:32px}.team-live-info{padding:25px 23px}.team-contact-lines a{font-size:15px}}
@media(max-width:900px){.live-header-inner{min-height:92px;padding:14px 22px}.live-main{padding-top:92px}.live-brand img{width:155px;height:58px}.live-nav{display:none;position:absolute;top:92px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:26px;box-shadow:0 8px 15px rgba(0,0,0,.12)}.live-nav.is-open{display:flex}.live-header-actions{gap:12px}.rcr-menu-button{display:block}.team-live-grid{grid-template-columns:1fr}.live-footer-columns{grid-template-columns:1fr 1fr}.live-footer-columns section:last-child{grid-column:1/-1}}
@media(max-width:600px){.live-call{padding:10px 12px;font-size:0}.live-call span{font-size:17px}.team-live-hero{height:340px}.team-live-hero h1{font-size:42px}.team-live-section{padding:45px 14px}.team-live-card{grid-template-columns:1fr}.team-live-photo{aspect-ratio:1/1}.team-live-info{padding:25px}.team-live-info h2{font-size:22px}.team-live-title{font-size:18px}.team-contact-lines a{font-size:15px}.live-footer{padding-top:46px}.live-footer-top{flex-direction:column;text-align:center}.live-contact{text-align:center}.live-footer-columns{grid-template-columns:1fr}.live-footer-columns section:last-child{grid-column:auto}.live-footer-bottom{flex-direction:column;gap:12px;text-align:center}.live-site-links{max-width:300px;margin:auto}}
@media(max-width:900px){.rcr-menu-button{width:44px;height:44px;padding:0;display:grid!important;place-items:center;color:#111;background:#fff;border:1px solid #e1e4e8;border-radius:4px;font-size:24px;line-height:1}.live-call{min-width:44px;min-height:44px;justify-content:center}}

/* Exact source-page restoration and refined luxury scale */
.live-header-inner{min-height:82px;padding:10px 38px}.live-brand img{width:148px;height:58px}.live-header-actions{gap:24px}.live-nav{gap:24px}.live-nav a{font-size:12px;letter-spacing:.045em}.live-call{padding:9px 14px;font-size:13px}.live-main{padding-top:82px}.original-home-hero{height:calc(85vh - 82px);min-height:620px}.original-home-hero .rcr-hero-content{margin-bottom:105px}.original-home-hero .rcr-rotator{height:108px}.original-home-hero .rcr-rotator h1{font:600 clamp(28px,3.2vw,46px)/1.15 'Playfair Display',serif;letter-spacing:.14em;max-width:1000px}.original-home-hero .rcr-rotator p{font-size:16px;letter-spacing:.2em}.original-home-hero .rcr-outline-button{padding:13px 27px}.original-amalia{padding:76px 20px;background:#fff}.original-amalia>header{text-align:center;max-width:850px;margin:0 auto 55px}.original-amalia>header h2{font:400 clamp(25px,2.4vw,35px)/1.25 Inter,sans-serif;letter-spacing:.09em;color:#1d2f4f}.original-amalia>header p{max-width:760px;margin:24px auto 0;color:#56606d;line-height:1.8;font-size:16px}.original-amalia>div{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.original-amalia figure{margin:0;text-align:center}.original-amalia figure img{width:min(440px,85%);height:auto;box-shadow:0 14px 30px rgba(16,35,60,.15)}.original-amalia article h3{font:400 30px 'Playfair Display',serif;color:#1d2f4f;letter-spacing:.04em;margin:0 0 24px}.original-amalia article p{font-size:15px;line-height:1.75;color:#4e5661;margin:0 0 15px}.original-amalia article a{color:#1d2f4f}.original-outline{display:inline-block;border:1px solid #1d2f4f;padding:12px 24px;text-decoration:none;color:#1d2f4f!important;font-size:12px;letter-spacing:.11em;margin-top:18px}.original-outline:hover{background:#1d2f4f;color:#fff!important}.original-results{padding:76px 5vw;background:#1d2f4f;color:#fff}.original-results>header{text-align:center;margin-bottom:42px}.original-results h2{font:300 clamp(30px,3vw,44px) Inter,sans-serif;letter-spacing:.11em;margin:0 0 14px}.original-results header p{font-size:13px;letter-spacing:.08em;color:rgba(255,255,255,.87)}.original-results>div{max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.original-results>div p{font-size:16px;line-height:1.8;color:rgba(255,255,255,.9)}.original-results img{width:100%;max-height:380px;object-fit:cover;border-radius:7px;box-shadow:0 14px 28px rgba(0,0,0,.22)}.original-featured{padding:76px 38px;text-align:center;max-width:1800px;margin:auto}.original-featured>header h2,.original-communities h2,.original-publications h2{font:400 29px 'Playfair Display',serif;letter-spacing:.08em;color:#1d2f4f;margin:0 0 38px}.original-featured>.grid{text-align:left}.original-communities{padding:55px 0 70px}.original-communities>header{text-align:center;margin:0 auto 35px;padding:0 20px}.original-communities>header h2{margin-bottom:10px}.original-communities>header p{font-size:15px;color:#6a7078}.original-communities>div{display:grid;grid-template-columns:repeat(3,1fr)}.original-communities a{height:610px;position:relative;overflow:hidden}.original-communities img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.original-communities a:hover img{transform:scale(1.035)}.original-communities a:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.75))}.original-communities span{position:absolute;z-index:1;left:30px;right:30px;bottom:34px;color:#fff}.original-communities b{display:block;font:600 25px 'Playfair Display',serif;letter-spacing:.04em}.original-communities small{display:block;margin-top:8px;line-height:1.5;font-size:13px}.original-publications{background:#f7f7f7;padding:70px 5vw 80px;text-align:center}.original-publications header p,.original-living-content header p{font-size:11px;letter-spacing:.2em;color:#b32025}.original-publications header h2{margin:8px 0 20px}.original-magazines{max-width:1280px;margin:auto;padding:20px 0}.original-mag-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px;scrollbar-width:none}.original-mag-track::-webkit-scrollbar{display:none}.original-mag-track a{flex:0 0 calc(25% - 15px);scroll-snap-align:start;transition:transform .3s}.original-mag-track a:hover{transform:scale(1.025)}.original-mag-track img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid #e2e2e2;border-radius:3px;box-shadow:0 5px 14px rgba(0,0,0,.1)}.original-mag-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:27px}.original-mag-controls>button{width:36px;height:36px;border:1px solid #d1d5db;background:#fff;color:#1d2f4f;border-radius:50%;font-size:22px}.original-mag-controls>div{display:flex;gap:6px;max-width:300px;overflow:hidden}.mag-dot{flex:0 0 8px;width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#d1d5db}.mag-dot.active{background:#1d2f4f}.original-work{padding:92px 20px;background:linear-gradient(rgba(0,0,0,.56),rgba(0,0,0,.56)),url('https://images.unsplash.com/photo-1560185127-6ed189bf02f4?auto=format&fit=crop&w=1600&q=82') center/cover fixed;color:#fff;text-align:center}.original-work>div{max-width:700px;margin:auto}.original-work h2{font:400 clamp(31px,3.4vw,48px) 'Playfair Display',serif;letter-spacing:.09em;margin:0 0 13px}.original-work h3{font:400 15px Inter,sans-serif;letter-spacing:.12em;margin-bottom:30px}.original-work p{font-size:15px;line-height:1.8;color:rgba(255,255,255,.88)}.original-work nav{display:flex;justify-content:center;gap:14px;margin-top:30px}.original-work nav a{padding:12px 25px;text-decoration:none;font-size:12px;letter-spacing:.11em}.original-work nav a:first-child{background:#fff;color:#1d2f4f}.original-work nav a:last-child{border:1px solid #fff;color:#fff}.original-living-hero{height:50vh;min-height:380px;position:relative;overflow:hidden;color:#fff;display:grid;place-items:center}.original-living-hero>img,.original-living-hero>div{position:absolute;inset:0;width:100%;height:100%}.original-living-hero>img{object-fit:cover}.original-living-hero>div{background:rgba(29,47,79,.72)}.original-living-hero>section{position:relative;z-index:1;max-width:850px;text-align:center;padding:20px}.original-living-hero h1{font:600 clamp(32px,3.5vw,48px) 'Playfair Display',serif;margin:13px 0}.original-living-hero i{display:block;width:80px;height:2px;background:#b32025;margin:auto}.original-living-hero p{font-size:16px;line-height:1.75;color:rgba(255,255,255,.95)}.original-living-content{padding:70px 5vw 90px}.original-living-content>header{text-align:center;max-width:760px;margin:0 auto 30px}.original-living-content h2{font:500 34px 'Playfair Display',serif;color:#1d2f4f;margin:8px 0 12px}.original-living-content header span{font-size:15px;line-height:1.7;color:#68717d}
@media(max-width:900px){.live-header-inner{min-height:74px;padding:8px 18px}.live-main{padding-top:74px}.live-brand img{width:138px;height:52px}.original-home-hero{height:calc(88vh - 74px)}.original-amalia>div,.original-results>div{grid-template-columns:1fr}.original-amalia article{max-width:680px;margin:auto}.original-results img{max-width:680px;margin:auto}.original-communities a{height:470px}.original-mag-track a{flex-basis:calc(50% - 10px)}}
@media(max-width:600px){.original-home-hero .rcr-rotator h1{font-size:26px;letter-spacing:.08em}.original-home-hero .rcr-rotator{height:116px}.original-amalia{padding:55px 18px}.original-amalia>header{margin-bottom:35px}.original-amalia>div{gap:35px}.original-amalia figure img{width:90%}.original-amalia article h3{font-size:25px}.original-results{padding:55px 20px}.original-featured{padding:55px 16px}.original-communities>div{grid-template-columns:1fr}.original-communities a{height:420px}.original-mag-track a{flex-basis:82%}.original-work{background-attachment:scroll}.original-work nav{flex-direction:column;max-width:250px;margin-inline:auto}.original-living-hero{min-height:470px}.original-living-hero p{font-size:14px}}

/* Launch fixes: magazine pagination dots and contact form alignment */
.original-mag-controls .mag-dot {
    flex: 0 0 8px;
    width: 8px !important;
    min-width: 8px;
    height: 8px !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0;
    border: 0 !important;
    border-radius: 50% !important;
    background: #d1d5db;
    line-height: 0;
}
.original-mag-controls .mag-dot.active {
    background: #1d2f4f;
}
.original-mag-controls > button {
    min-height: 36px;
    padding: 0;
}

/* The hidden honeypot is the first label, so full-width fields begin at label 6. */
.rcr-form label:nth-of-type(n+5) {
    grid-column: auto;
}
.rcr-form label:nth-of-type(n+6) {
    grid-column: 1 / -1;
}

@media (max-width: 560px) {
    .rcr-form label {
        grid-column: 1 / -1 !important;
    }
}

/* =========================================================
   RCR ORIGINAL LISTING DESIGN — launch alignment
   ========================================================= */
body.rcr-site {
    --rcr-navy: #1f2f4f;
    --rcr-red: #b31f24;
    --rcr-soft: #f7f7f7;
    --rcr-line: #e5e5e5;
    --rcr-text: #2f394c;
}

body.rcr-site .grid {
    width: min(1400px, calc(100% - 56px));
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px;
}

body.rcr-site .rcr-property-card {
    background: #fff;
    border: 1px solid #ededed;
    box-shadow: 0 8px 20px rgba(18, 31, 54, .08);
    overflow: hidden;
    transform: none;
}
body.rcr-site .rcr-property-card:hover { transform: none; box-shadow: 0 12px 28px rgba(18,31,54,.12); }
body.rcr-site .rcr-property-card-link { display: flex; min-height: 100%; flex-direction: column; color: inherit; text-decoration: none; }
body.rcr-site .rcr-property-card .listing-media-wrap { position: relative; overflow: hidden; background: #eee; }
body.rcr-site .rcr-property-card img {
    width: 100%;
    height: 230px;
    aspect-ratio: auto;
    object-fit: cover;
    transition: none;
}
body.rcr-site .rcr-property-card:hover img { transform: none; filter: none; }
body.rcr-site .rcr-card-type {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 5px 11px;
    border-radius: 999px;
    background: #354563;
    color: #fff;
    font: 600 .73rem/1 Inter, sans-serif;
    text-transform: lowercase;
}
body.rcr-site .rcr-card-body { display: flex; flex: 1; flex-direction: column; padding: 24px 20px 20px; }
body.rcr-site .rcr-card-body h3 {
    margin: 0 0 10px;
    min-height: 2.5em;
    color: #252525;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.04rem;
    font-weight: 500;
    line-height: 1.35;
}
body.rcr-site .rcr-card-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; }
body.rcr-site .rcr-card-badges span { padding: 4px 12px; border-radius: 999px; color: #fff; font: 600 .72rem/1 Inter, sans-serif; }
body.rcr-site .rcr-status-badge { background: #1fbd5c; }
body.rcr-site .rcr-sale-badge { background: #ef4148; }
body.rcr-site .rcr-card-price { display: block; margin-bottom: 26px; color: var(--rcr-navy); font: 700 1.55rem/1.1 Inter, sans-serif; }
body.rcr-site .rcr-card-description { min-height: 3.6em; margin: 0 0 18px; color: #536078; font: 400 .92rem/1.55 Inter, sans-serif; }
body.rcr-site .rcr-card-agent { display: flex; align-items: center; gap: 10px; margin-top: auto; color: #39445a; font: 400 .9rem/1.25 Inter, sans-serif; }
body.rcr-site .rcr-card-agent small { color: #747b87; font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; }
body.rcr-site .rcr-agent-icon { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: #f2f3f6; color: var(--rcr-navy); }
body.rcr-site .rcr-card-button {
    display: block;
    margin: 0 16px 16px;
    padding: 14px 18px;
    background: var(--rcr-red);
    color: #fff;
    font: 600 .78rem/1 Inter, sans-serif;
    letter-spacing: .05em;
    text-align: center;
    text-transform: uppercase;
}

body.rcr-site .property-page {
    width: min(1320px, calc(100% - 56px)) !important;
    margin: 0 auto !important;
    padding: 12px 0 80px !important;
}
body.rcr-site .breadcrumbs { margin: 0 0 24px; color: #6f7786; font: 400 .82rem/1.4 Inter, sans-serif; }
body.rcr-site .property-hero { align-items: end; gap: 36px !important; margin-bottom: 24px; }
body.rcr-site .property-hero h1 {
    max-width: 920px !important;
    margin: 10px 0 3px;
    color: #252525;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(1.9rem, 3vw, 3.25rem) !important;
    font-weight: 500;
    line-height: 1.12 !important;
}
body.rcr-site .property-price { color: var(--rcr-navy); font: 700 clamp(2rem, 2.8vw, 3rem)/1 Inter, sans-serif !important; }
body.rcr-site .listing-badges span { border-radius: 999px; font: 600 .72rem/1 Inter, sans-serif; }
body.rcr-site .listing-badges span:first-child { background: #ef4148; border-color: #ef4148; color: #fff; }
body.rcr-site .listing-badges span:nth-child(2) { background: #fff; color: #222; }
body.rcr-site .listing-badges span:nth-child(3) { background: #eef1f5; color: #222; }

body.rcr-site .property-gallery { margin-bottom: 30px; }
body.rcr-site .gallery-main {
    width: 100% !important;
    height: min(520px, 43vw) !important;
    min-height: 360px;
    max-height: 540px !important;
    aspect-ratio: auto !important;
    object-fit: cover;
}
body.rcr-site .gallery-thumbs { display: none !important; }
body.rcr-site .gallery-arrow { width: 34px; height: 34px; border: 0; background: rgba(255,255,255,.72); color: var(--rcr-navy); }

body.rcr-site .property-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.7fr) minmax(320px, .8fr) !important;
    gap: 34px !important;
    align-items: start;
}
body.rcr-site .property-facts { display: flex; gap: 28px; padding: 8px 0 22px; border: 0; }
body.rcr-site .property-facts span { color: #1f2430; font: 500 .92rem/1 Inter, sans-serif; }
body.rcr-site .property-section { margin-top: 26px; }
body.rcr-site .property-section > h2 { margin-bottom: 14px; color: #202020; font: 500 1.12rem/1.3 "Playfair Display", Georgia, serif; }
body.rcr-site .detail-card,
body.rcr-site .side-card { border: 1px solid var(--rcr-line); background: #fff; box-shadow: none; }
body.rcr-site .property-section:first-of-type .detail-card { border: 0; padding: 0 !important; }
body.rcr-site .property-section:first-of-type .detail-card p { color: #364258; line-height: 1.7; }
body.rcr-site .property-detail-groups { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 22px !important; }
body.rcr-site .property-detail-group { padding: 24px !important; }
body.rcr-site .property-detail-group h3 { font: 500 1rem/1.3 "Playfair Display", Georgia, serif; }
body.rcr-site .detail-list div { border-color: #ececec; }
body.rcr-site .detail-list dt { color: var(--rcr-red); }
body.rcr-site .detail-list dd { color: #272727; }
body.rcr-site .map { min-height: 350px; }

body.rcr-site .property-sidebar { position: static; }
body.rcr-site .property-sidebar .save-card,
body.rcr-site .property-sidebar .contact-card,
body.rcr-site .property-sidebar > .side-card:not(.agent-help-card):not(.inquiry-card),
body.rcr-site .property-sidebar .side-actions,
body.rcr-site .property-sidebar .consultation-card { display: none !important; }
body.rcr-site .agent-help-card {
    display: block !important;
    padding: 26px !important;
    background: #f6f6f6 !important;
    color: #222;
}
body.rcr-site .agent-help-card .eyebrow { color: #333; }
body.rcr-site .agent-help-card h2 { color: #222; font: 500 1.05rem/1.3 "Playfair Display", Georgia, serif; }
body.rcr-site .agent-help-card .button { width: 100%; background: var(--rcr-navy); color: #fff; text-align: center; }
body.rcr-site .inquiry-card { display: block !important; padding: 24px !important; }
body.rcr-site .inquiry-card h2 { font: 500 1rem/1.3 "Playfair Display", Georgia, serif; }
body.rcr-site .inquiry-card form { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
body.rcr-site .inquiry-card form input,
body.rcr-site .inquiry-card form textarea { border: 0; border-bottom: 1px solid #e2e2e2; border-radius: 0; background: #fff; }
body.rcr-site .inquiry-card form textarea,
body.rcr-site .inquiry-card form button,
body.rcr-site .inquiry-card form input[type="hidden"],
body.rcr-site .inquiry-card form .hp { grid-column: 1 / -1; }
body.rcr-site .inquiry-card form textarea { min-height: 110px; }
body.rcr-site .inquiry-card form button { margin-top: 12px; background: var(--rcr-navy); color: #fff; }

body.rcr-site .expanded-mortgage { background: #fff; }
body.rcr-site .expanded-mortgage .payment-row { background: #f6f6f6; }
body.rcr-site .expanded-mortgage input[type="range"] { accent-color: var(--rcr-red); }
body.rcr-site .related-section { border: 1px solid var(--rcr-line); padding: 24px; }
body.rcr-site .related-section .eyebrow,
body.rcr-site .related-section .section-heading > a { display: none; }
body.rcr-site .related-section .section-heading h2 { font: 600 1.5rem/1.2 Inter, sans-serif; }
body.rcr-site .related-carousel { display: grid; grid-template-columns: 1fr; gap: 16px; }
body.rcr-site .related-carousel .rcr-property-card { box-shadow: none; border: 0; }
body.rcr-site .related-carousel .rcr-property-card-link { display: grid; grid-template-columns: 235px 1fr; }
body.rcr-site .related-carousel .listing-media-wrap img { height: 130px; }
body.rcr-site .related-carousel .rcr-card-body { padding: 8px 14px; }
body.rcr-site .related-carousel .rcr-card-description,
body.rcr-site .related-carousel .rcr-card-agent,
body.rcr-site .related-carousel .rcr-card-button,
body.rcr-site .related-carousel .rcr-card-type { display: none; }
body.rcr-site .related-carousel .rcr-card-body h3 { min-height: 0; margin-bottom: 4px; font-size: .95rem; }
body.rcr-site .related-carousel .rcr-card-price { margin: 0; font-size: 1.25rem; }

@media (max-width: 980px) {
    body.rcr-site .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.rcr-site .property-grid { grid-template-columns: 1fr !important; }
    body.rcr-site .property-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
}
@media (max-width: 680px) {
    body.rcr-site .grid { width: calc(100% - 28px); grid-template-columns: 1fr; }
    body.rcr-site .property-page { width: calc(100% - 28px) !important; }
    body.rcr-site .property-hero { align-items: start; }
    body.rcr-site .property-price { margin-top: 10px; }
    body.rcr-site .gallery-main { min-height: 250px; height: 64vw !important; }
    body.rcr-site .property-detail-groups { grid-template-columns: 1fr !important; }
    body.rcr-site .property-sidebar { grid-template-columns: 1fr; }
    body.rcr-site .related-carousel .rcr-property-card-link { grid-template-columns: 130px 1fr; }
    body.rcr-site .related-carousel .listing-media-wrap img { height: 110px; }
}

/* RCR related listings — compact list cards */
body.rcr-site .related-section {
    overflow: hidden;
}

body.rcr-site .related-carousel {
    display: grid !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    overflow: visible !important;
    padding: 0 !important;
    scroll-snap-type: none !important;
}

body.rcr-site .related-carousel .rcr-property-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    border: 1px solid #ececec !important;
    background: #fff !important;
}

body.rcr-site .related-carousel .rcr-property-card-link {
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr) !important;
    min-width: 0 !important;
    min-height: 125px !important;
}

body.rcr-site .related-carousel .listing-media-wrap {
    min-width: 0 !important;
    height: 100% !important;
}

body.rcr-site .related-carousel .listing-media-wrap img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 125px !important;
    object-fit: cover !important;
}

body.rcr-site .related-carousel .rcr-card-body {
    min-width: 0 !important;
    padding: 16px 18px !important;
    justify-content: center !important;
}

body.rcr-site .related-carousel .rcr-card-body h3 {
    overflow: hidden !important;
    margin: 0 0 8px !important;
    color: #242424 !important;
    font-size: 1rem !important;
    line-height: 1.35 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.rcr-site .related-carousel .rcr-card-badges {
    margin-bottom: 8px !important;
}

body.rcr-site .related-carousel .rcr-card-price {
    margin: 0 !important;
    color: var(--rcr-navy) !important;
    font-size: 1.25rem !important;
}

@media (max-width: 680px) {
    body.rcr-site .related-section {
        padding: 18px !important;
    }

    body.rcr-site .related-carousel .rcr-property-card-link {
        grid-template-columns: 115px minmax(0, 1fr) !important;
        min-height: 105px !important;
    }

    body.rcr-site .related-carousel .listing-media-wrap img {
        min-height: 105px !important;
    }

    body.rcr-site .related-carousel .rcr-card-body {
        padding: 12px !important;
    }

    body.rcr-site .related-carousel .rcr-card-body h3 {
        font-size: .88rem !important;
    }

    body.rcr-site .related-carousel .rcr-card-badges span {
        padding: 3px 8px !important;
        font-size: .64rem !important;
    }

    body.rcr-site .related-carousel .rcr-card-price {
        font-size: 1.08rem !important;
    }
}


/* RCR launch fixes: readable agent panel and compact similar-property grid */
body.rcr-site .agent-help-card p,
body.rcr-site .agent-help-card .muted {
    color: #4f4f4f !important;
    opacity: 1 !important;
}
body.rcr-site .agent-help-card > p:not(.eyebrow) {
    font-size: .95rem;
    line-height: 1.65;
}

body.rcr-site .related-section {
    overflow: visible !important;
}
body.rcr-site .related-carousel {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    overflow: visible !important;
}
body.rcr-site .related-carousel .rcr-property-card {
    width: auto !important;
    min-width: 0 !important;
    border: 1px solid #e5e5e5 !important;
}
body.rcr-site .related-carousel .rcr-property-card-link {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
}
body.rcr-site .related-carousel .listing-media-wrap {
    height: 155px !important;
}
body.rcr-site .related-carousel .listing-media-wrap img {
    width: 100% !important;
    height: 155px !important;
    min-height: 155px !important;
    object-fit: cover !important;
}
body.rcr-site .related-carousel .rcr-card-body {
    display: flex !important;
    flex: 1 !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 15px 16px 17px !important;
}
body.rcr-site .related-carousel .rcr-card-body h3 {
    white-space: normal !important;
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    min-height: 2.6em !important;
}

@media (max-width: 900px) {
    body.rcr-site .related-carousel {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 560px) {
    body.rcr-site .related-carousel {
        grid-template-columns: 1fr !important;
    }
    body.rcr-site .related-carousel .listing-media-wrap,
    body.rcr-site .related-carousel .listing-media-wrap img {
        height: 190px !important;
        min-height: 190px !important;
    }
}
