.home-landing {
    min-height: 100vh;
    --home-bg: #0e1728;
    --home-surface: #121d31;
    --home-surface-soft: #18263d;
    --home-border: rgba(226, 232, 240, .13);
    --home-text: #f4f7fb;
    --home-muted: #aebacf;
    --home-nav: rgba(7, 13, 24, .92);
    --home-panel: rgba(16, 27, 45, .92);
    --home-shadow: 0 24px 70px rgba(0, 0, 0, .34);
    background:
        radial-gradient(circle at 14% 8%, rgba(214, 166, 47, .18), transparent 28rem),
        linear-gradient(180deg, rgba(7, 13, 24, .72), rgba(14, 23, 40, .38) 42%, var(--home-bg) 74%),
        var(--home-bg);
    color: var(--home-text);
}

[data-bs-theme="light"] .home-landing {
    --home-bg: var(--page-bg);
    --home-surface: var(--card-bg);
    --home-surface-soft: #f3f6f9;
    --home-border: var(--border-color);
    --home-text: var(--text-main);
    --home-muted: var(--text-muted);
    --home-nav: rgba(247, 250, 246, .92);
    --home-panel: rgba(255, 255, 250, .96);
    --home-shadow: 0 20px 50px rgba(15, 23, 42, .12);
    background:
        radial-gradient(circle at 14% 8%, rgba(214, 166, 47, .13), transparent 28rem),
        linear-gradient(180deg, rgba(241, 245, 249, .96), rgba(238, 242, 246, .68) 46%, var(--home-bg) 76%),
        var(--home-bg);
}

.home-navbar {
    position: sticky;
    top: 0;
    z-index: 1080;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 70px;
    max-height: 70px;
    padding: 10px clamp(14px, 3vw, 42px);
    background: var(--home-nav);
    border-bottom: 1px solid var(--home-border);
    color: var(--home-text);
    backdrop-filter: blur(18px);
    overflow: visible;
}

.home-logo {
    flex: 0 0 auto;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--home-text);
    text-decoration: none;
}

.home-logo:hover,
.home-nav-links a:hover,
.home-menu-group a:hover,
.home-mobile-menu a:hover {
    color: var(--app-accent);
}

.home-logo span {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--gold-light, #fff3b0), var(--app-accent), var(--gold-dark, #8f650c));
    color: #101827;
    font-weight: 900;
    box-shadow: 0 10px 28px color-mix(in srgb, var(--app-accent) 28%, transparent);
    overflow: hidden;
}

.home-logo-mark img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-logo strong {
    max-width: clamp(112px, 13vw, 210px);
    font-size: 17px;
    letter-spacing: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-nav-links {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(5px, .7vw, 10px);
    overflow: hidden;
    white-space: nowrap;
}

.home-nav-links a,
.home-mobile-menu a {
    color: var(--home-text);
    font-size: .82rem;
    font-weight: 800;
    white-space: nowrap;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home-nav-links .nav-action {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    max-width: clamp(82px, 11vw, 138px);
    padding: 6px 9px;
    border: 1px solid var(--home-border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--home-surface-soft) 54%, transparent);
}

.home-nav-links .nav-action-gold {
    border-color: color-mix(in srgb, var(--app-accent) 58%, var(--home-border));
    background: color-mix(in srgb, var(--app-accent) 16%, transparent);
}

.home-nav-links a.active,
.home-mobile-menu a.active,
.home-menu-group a.active,
.home-user-chip.active {
    color: var(--app-accent);
    border-color: color-mix(in srgb, var(--app-accent) 70%, var(--home-border));
    background: color-mix(in srgb, var(--app-accent) 14%, transparent);
}

.home-language {
    padding: 8px 12px;
    border: 1px solid var(--home-border);
    border-radius: 999px;
    color: var(--home-text);
    font-weight: 900;
    text-decoration: none;
}

.home-nav-tools {
    flex: 0 0 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.home-user-chip {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    max-width: clamp(84px, 12vw, 176px);
    padding: 6px 10px;
    border: 1px solid var(--home-border);
    border-radius: 999px;
    color: var(--home-text);
    background: color-mix(in srgb, var(--home-surface-soft) 48%, transparent);
    font-size: .82rem;
    font-weight: 900;
    line-height: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-decoration: none;
}

.home-theme-toggle,
.home-menu-button {
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--home-border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--home-surface-soft) 64%, transparent);
    color: var(--home-text);
    font-weight: 900;
}

.home-theme-toggle {
    width: auto;
    min-width: 68px;
    padding: 0 10px;
    font-size: 12px;
}

.home-menu-button {
    font-size: 20px;
    line-height: 1;
}

.home-menu-panel {
    position: fixed;
    top: 70px;
    inset-inline-end: clamp(14px, 4vw, 54px);
    z-index: 1090;
    width: min(620px, calc(100vw - 28px));
    max-height: min(720px, calc(100vh - 84px));
    overflow: auto;
    padding: 18px;
    border: 1px solid var(--home-border);
    border-radius: 18px;
    background: var(--home-panel);
    box-shadow: var(--home-shadow);
    backdrop-filter: blur(20px);
    transform-origin: top right;
    animation: homeMenuIn .16s ease-out;
}

.home-menu-panel[hidden] {
    display: none;
}

@keyframes homeMenuIn {
    from {
        opacity: 0;
        transform: translateY(-8px) scale(.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.home-menu-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.home-menu-panel-head strong,
.home-menu-panel-head span {
    display: block;
}

.home-menu-panel-head span,
.home-menu-group > span {
    color: var(--home-muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-menu-panel-head button {
    width: 36px;
    height: 36px;
    border: 1px solid var(--home-border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--home-surface-soft) 74%, transparent);
    color: var(--home-text);
    font-size: 22px;
    line-height: 1;
}

.home-menu-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.dashboard-landing {
    min-height: 100vh;
}

.dashboard-main {
    width: min(1680px, 90vw);
    margin: 0 auto;
    padding: 28px 0 54px;
}

.dashboard-main-wide {
    width: min(1680px, 90vw);
}

.dashboard-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
    padding: 24px;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    background: var(--app-surface);
    box-shadow: var(--app-shadow-sm);
}

.dashboard-hero h1 {
    margin: 0 0 8px;
    color: var(--app-text);
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.05;
}

.dashboard-hero p {
    max-width: 760px;
    margin: 0;
    color: var(--app-muted);
}

.dashboard-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}

.dashboard-metrics .metric-card {
    min-height: 128px;
}

.dashboard-grid,
.dashboard-grid-wide,
.dashboard-chart-grid {
    display: grid;
    gap: 22px;
    margin-bottom: 22px;
}

.dashboard-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
}

.dashboard-grid-wide {
    grid-template-columns: minmax(0, 1.35fr) minmax(380px, .9fr);
}

.dashboard-grid-single {
    grid-template-columns: 1fr;
}

.dashboard-chart-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-table-card,
.dashboard-map-card,
.dashboard-chart-card {
    border: 1px solid var(--app-border);
    border-radius: 8px;
    background: var(--app-surface);
    box-shadow: var(--app-shadow-sm);
}

.dashboard-chart-card {
    padding: 22px;
}

.dashboard-map {
    min-height: 420px;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    overflow: hidden;
    background: var(--app-surface-2);
}

.dashboard-map-full {
    margin-bottom: 22px;
}

.dashboard-map-wide {
    min-height: clamp(420px, 42vw, 520px);
}

.dashboard-user-marker-wrap {
    border: 0;
    background: transparent;
}

.dashboard-user-marker {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .24);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.dashboard-user-marker.is-listing {
    background: #0d9488;
}

.dashboard-user-marker.is-valuation {
    background: #d7a51f;
    color: #101827;
}

.property-details-shell {
    min-height: 100vh;
}

.property-details-main {
    width: min(1680px, 90vw);
    margin: 0 auto;
    padding: 28px 0 56px;
}

.property-details-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
    padding: 24px;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    background: var(--app-surface);
    box-shadow: var(--app-shadow-sm);
}

.property-details-hero h1 {
    max-width: 980px;
    margin: 0 0 12px;
    color: var(--app-text);
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.08;
    font-weight: 900;
}

.property-details-hero-copy {
    min-width: 0;
}

.property-hero-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin-bottom: 12px;
}

.property-hero-price strong {
    color: var(--app-accent);
    font-size: clamp(24px, 3vw, 36px);
    line-height: 1;
    font-weight: 950;
}

.property-hero-price span,
.property-description-block span {
    color: var(--app-muted);
    font-weight: 800;
}

.property-summary-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.property-media-map-grid,
.property-intelligence-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    gap: 22px;
    margin-bottom: 22px;
}

.property-media-card,
.property-map-card,
.property-section-card {
    min-width: 0;
}

.property-details-main-image {
    min-height: clamp(360px, 36vw, 560px);
}

.property-details-map {
    min-height: clamp(420px, 38vw, 520px);
}

.property-details-map-empty {
    min-height: clamp(320px, 32vw, 420px);
}

.property-section-card {
    margin-bottom: 22px;
}

.property-facts-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.property-fact-card {
    min-height: 98px;
}

.property-fact-card span {
    text-transform: none;
}

.property-description-block {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    background: var(--app-surface-2);
}

.property-description-block p {
    margin: 0;
    color: var(--app-text);
    font-size: 15px;
}

.property-ai-scope {
    display: block;
}

.property-ai-scope .ai-panel-section {
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.property-ai-scope .ai-loading,
.property-ai-scope .ai-state {
    min-height: 126px;
}

.property-ai-scope .ai-property-grid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.property-ai-scope .ai-property-card {
    grid-template-rows: 138px 1fr;
}

.property-spatial-details {
    padding: 0;
    overflow: hidden;
}

.property-spatial-details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px;
    cursor: pointer;
    list-style: none;
}

.property-spatial-details summary::-webkit-details-marker {
    display: none;
}

.property-spatial-details summary span {
    display: grid;
    gap: 4px;
}

.property-spatial-details summary strong {
    color: var(--app-text);
    font-size: 18px;
}

.property-spatial-details summary small {
    color: var(--app-muted);
    font-weight: 800;
}

.property-spatial-details summary::after {
    content: "+";
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid var(--app-border);
    border-radius: 50%;
    color: var(--app-text);
    font-weight: 900;
}

.property-spatial-details[open] summary::after {
    content: "-";
}

.property-spatial-body {
    padding: 0 22px 22px;
}

.dashboard-bars {
    display: grid;
    gap: 14px;
}

.dashboard-bar-label {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 6px;
    color: var(--app-text);
}

.dashboard-bar-label span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--app-text);
    font-weight: 800;
}

.dashboard-bar-label strong {
    color: var(--app-muted);
    font-size: 13px;
}

.dashboard-bar-track {
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: color-mix(in srgb, var(--app-surface-2) 86%, var(--app-border));
}

.dashboard-bar-track span {
    display: block;
    height: 100%;
    min-width: 4px;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--app-accent-2), var(--app-accent));
}

.dashboard-landing .app-card,
.dashboard-landing .metric-card {
    border-radius: 8px;
    color: var(--app-text);
}

.dashboard-landing .section-kicker,
.dashboard-landing .metric-label,
.dashboard-landing .text-secondary {
    color: var(--app-muted) !important;
}

.dashboard-landing .table a {
    color: var(--app-text);
    font-weight: 800;
}

.admin-dashboard-main {
    width: min(1680px, 90vw);
}

.admin-insight-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.admin-insight-card {
    display: grid;
    align-content: start;
    gap: 8px;
    min-height: 154px;
}

.admin-insight-card strong {
    margin: 0;
}

.admin-insight-card small {
    color: var(--app-muted);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
}

.admin-analytics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-chart-card {
    min-height: 430px;
}

.admin-chart-wrap {
    position: relative;
    height: 330px;
    min-width: 0;
}

.admin-chart-wrap canvas {
    display: block;
    width: 100% !important;
    height: 100% !important;
}

.admin-segmented-control {
    display: inline-flex;
    padding: 3px;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    background: var(--app-surface-2);
}

.admin-segmented-control button {
    min-height: 32px;
    padding: 6px 10px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--app-muted);
    font-size: 12px;
    font-weight: 850;
    white-space: nowrap;
}

.admin-segmented-control button.is-active {
    background: var(--app-surface);
    color: var(--app-text);
    box-shadow: var(--app-shadow-sm);
}

.admin-map-card {
    margin-bottom: 22px;
}

.admin-map-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.admin-map-stats span {
    min-height: 28px;
    padding: 6px 10px;
    border: 1px solid var(--app-border);
    border-radius: 999px;
    background: var(--app-surface-2);
    color: var(--app-muted);
    font-size: 12px;
    font-weight: 850;
}

.admin-map-stats strong {
    color: var(--app-text);
}

.admin-coverage-map {
    min-height: 520px;
}

.admin-table-card {
    margin-bottom: 22px;
}

.admin-table-scroll {
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.admin-data-table {
    min-width: 1120px;
    border-collapse: separate;
    border-spacing: 0;
}

.admin-data-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
}

.admin-data-table thead button {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
}

.admin-data-table thead button::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid color-mix(in srgb, var(--app-muted) 70%, transparent);
    opacity: .65;
}

.admin-data-table thead button[aria-sort="ascending"]::after {
    border-top: 0;
    border-bottom: 5px solid var(--app-accent);
    opacity: 1;
}

.admin-data-table thead button[aria-sort="descending"]::after {
    border-top-color: var(--app-accent);
    opacity: 1;
}

.admin-data-table tbody tr:nth-child(even) {
    background: color-mix(in srgb, var(--app-surface-2) 68%, transparent);
}

.admin-data-table tbody tr:hover {
    background: color-mix(in srgb, var(--app-accent) 10%, transparent);
}

.admin-data-table td,
.admin-data-table th {
    padding: 14px 13px;
}

.admin-data-table td {
    border-bottom: 1px solid color-mix(in srgb, var(--app-border) 74%, transparent);
    white-space: nowrap;
}

.admin-data-table td:first-child,
.admin-data-table th:first-child {
    padding-left: 16px;
}

.admin-data-table td:last-child,
.admin-data-table th:last-child {
    padding-right: 16px;
}

.admin-note-cell {
    max-width: 360px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-table-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 14px;
}

.admin-table-footer span {
    color: var(--app-muted);
    font-size: 13px;
    font-weight: 850;
}

.admin-pagination {
    display: flex;
    gap: 8px;
}

.admin-pagination .btn {
    width: auto;
}

[data-bs-theme="light"] .dashboard-landing .btn-outline-light,
[data-bs-theme="light"] .dashboard-landing .btn-outline-secondary {
    color: var(--app-text);
    border-color: var(--app-border);
    background: var(--app-surface);
}

[data-bs-theme="light"] .dashboard-landing .btn-outline-light:hover,
[data-bs-theme="light"] .dashboard-landing .btn-outline-secondary:hover {
    color: var(--button-text);
    background: var(--button-bg);
    border-color: var(--button-bg);
}

.home-menu-group {
    display: grid;
    align-content: start;
    gap: 8px;
    padding: 14px;
    border: 1px solid var(--home-border);
    border-radius: 14px;
    background: color-mix(in srgb, var(--home-surface-soft) 54%, transparent);
}

.home-menu-group a {
    min-height: 34px;
    display: flex;
    align-items: center;
    padding: 7px 9px;
    border-radius: 9px;
    color: var(--home-text);
    font-weight: 800;
    text-decoration: none;
}

.home-menu-group a.active {
    color: var(--app-accent);
    background: color-mix(in srgb, var(--app-accent) 14%, transparent);
}

.auth-public-shell {
    min-height: 100vh;
}

.auth-public-main {
    width: min(100% - 32px, 560px);
    margin: 0 auto;
    padding: clamp(32px, 7vh, 84px) 0 56px;
}

.auth-panel {
    display: grid;
    gap: 14px;
    padding: clamp(20px, 4vw, 30px);
    border: 1px solid var(--home-border);
    border-radius: 8px;
    background: var(--home-panel);
    box-shadow: var(--home-shadow);
}

.auth-panel h1 {
    margin: 0;
    color: var(--home-text);
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.1;
    font-weight: 900;
}

.auth-panel form {
    display: grid;
    gap: 12px;
}

.auth-panel .form-control {
    margin-bottom: 0;
}

.auth-row,
.auth-footer-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--home-muted);
    font-size: 13px;
    font-weight: 800;
}

.auth-row a,
.auth-footer-link a {
    color: var(--app-accent);
    text-decoration: none;
    white-space: nowrap;
}

.auth-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    color: var(--home-muted);
}

.auth-check input {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
}

.auth-help {
    margin-top: -6px;
    color: var(--home-muted);
    font-size: 12px;
    font-weight: 750;
}

.auth-social {
    display: grid;
    gap: 8px;
    margin: 4px 0;
}

.auth-social .btn {
    width: 100%;
}

.valuation-result-shell .workflow-hero {
    align-items: center;
}

.valuation-result-grid {
    display: grid;
    gap: 22px;
}

.valuation-result-band {
    border: 1px solid var(--app-border);
    border-radius: 16px;
    background: var(--app-surface);
    box-shadow: var(--app-shadow);
    padding: 22px;
}

.market-assessment-card {
    display: grid;
    gap: 12px;
}

.market-assessment-copy {
    margin: 0;
    color: var(--home-muted);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.55;
}

.recommendation-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    max-width: 100%;
    padding: 6px 11px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
}

.recommendation-overpriced {
    border-color: color-mix(in srgb, #ef4444 58%, transparent);
    background: color-mix(in srgb, #ef4444 18%, var(--app-surface));
    color: color-mix(in srgb, #ef4444 86%, var(--app-text));
}

.recommendation-fair_price {
    border-color: color-mix(in srgb, #3b82f6 58%, transparent);
    background: color-mix(in srgb, #3b82f6 18%, var(--app-surface));
    color: color-mix(in srgb, #3b82f6 86%, var(--app-text));
}

.recommendation-good_opportunity {
    border-color: color-mix(in srgb, #22c55e 58%, transparent);
    background: color-mix(in srgb, #22c55e 18%, var(--app-surface));
    color: color-mix(in srgb, #22c55e 86%, var(--app-text));
}

[data-bs-theme="light"] .recommendation-overpriced {
    color: #b91c1c;
}

[data-bs-theme="light"] .recommendation-fair_price {
    color: #1d4ed8;
}

[data-bs-theme="light"] .recommendation-good_opportunity {
    color: #166534;
}

.valuation-result-status {
    display: grid;
    gap: 10px;
    padding: 18px;
    border: 1px solid color-mix(in srgb, #ef4444 54%, var(--app-border));
    border-radius: 14px;
    background: color-mix(in srgb, #ef4444 12%, var(--app-surface));
}

.valuation-result-status strong {
    font-size: 20px;
}

.valuation-explain-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.valuation-explain-list li {
    padding: 11px 13px;
    border: 1px solid var(--app-border);
    border-radius: 10px;
    background: var(--app-surface-2);
}

.valuation-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .65fr);
    gap: 22px;
    align-items: start;
}

.valuation-debug summary {
    cursor: pointer;
    color: var(--app-accent);
    font-weight: 900;
}

.valuation-rejected-page {
    display: grid;
    gap: 22px;
}

.valuation-map-and-summary,
.valuation-chart-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
    gap: 22px;
    align-items: start;
}

.valuation-map-card {
    display: grid;
    gap: 14px;
}

.valuation-selection-card {
    display: grid;
    gap: 14px;
}

.valuation-selection-card .card-heading {
    order: 1;
    margin-bottom: 0;
}

.valuation-selection-card .valuation-summary-tiles {
    order: 2;
}

.valuation-rejected-page .valuation-summary-tiles {
    display: none;
}

.valuation-result-map {
    height: clamp(320px, 38vw, 430px);
    min-height: 320px;
    border: 1px solid var(--app-border);
    border-radius: 12px;
    overflow: hidden;
    background: var(--app-surface-2);
}

.valuation-chart-wrap {
    height: 340px;
}

.valuation-chart-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.valuation-chart-grid .valuation-result-band {
    min-height: 430px;
}

.valuation-selection-card > .row,
.valuation-selection-card > .layer-list,
.valuation-selection-card > .valuation-explain-list {
    display: none;
}

.valuation-summary-tiles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.valuation-summary-tiles .detail-tile {
    min-height: 96px;
}

.valuation-how summary,
.valuation-inline-details summary {
    cursor: pointer;
    color: var(--app-accent);
    font-weight: 900;
}

.valuation-chart-note,
.valuation-section-note {
    margin: 12px 0 0;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--app-accent) 36%, var(--app-border));
    border-radius: 10px;
    background: color-mix(in srgb, var(--app-accent) 10%, var(--app-surface));
    color: var(--app-text);
    font-size: 13px;
    font-weight: 700;
}

.valuation-subject-marker,
.valuation-comparable-marker {
    display: grid;
    place-items: center;
}

.valuation-subject-marker span {
    width: 28px;
    height: 28px;
    border: 3px solid #fff;
    border-radius: 999px;
    background: #f59e0b;
    box-shadow: 0 8px 24px rgba(245, 158, 11, .45);
}

.valuation-comparable-marker span {
    width: 18px;
    height: 18px;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #14b8a6;
    box-shadow: 0 7px 18px rgba(20, 184, 166, .4);
}

.home-hero {
    position: relative;
    min-height: min(760px, calc(100vh - 78px));
    display: grid;
    align-items: stretch;
    padding: clamp(18px, 4vw, 56px);
}

.home-hero-map {
    position: absolute;
    inset: 0;
    min-height: 620px;
    background: var(--home-bg);
    z-index: 0;
}

.home-hero-map::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 410;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(7, 13, 24, .82), rgba(7, 13, 24, .36) 48%, rgba(7, 13, 24, .12)),
        linear-gradient(0deg, rgba(7, 13, 24, .64), transparent 45%);
}

.home-hero-map .leaflet-control-container {
    position: relative;
    z-index: 420;
}

.home-search-panel {
    position: relative;
    z-index: 2;
    align-self: center;
    width: min(760px, 100%);
    padding: clamp(22px, 4vw, 38px);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 18px;
    background: var(--home-panel);
    color: var(--home-text);
    box-shadow: var(--home-shadow);
    backdrop-filter: blur(18px);
}

.home-eyebrow {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--app-accent);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-search-panel h1 {
    max-width: 640px;
    margin: 0 0 12px;
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1.02;
    font-weight: 900;
    letter-spacing: 0;
}

.home-search-panel p {
    max-width: 620px;
    margin: 0 0 24px;
    color: var(--home-muted);
    font-size: 17px;
}

.home-keyword-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.home-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
    color: var(--home-muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-divider::before,
.home-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--home-border);
}

.home-search-error {
    margin-top: 14px;
    padding: 11px 14px;
    border: 1px solid color-mix(in srgb, var(--app-accent) 45%, var(--app-border));
    border-radius: 10px;
    color: var(--app-accent);
    font-weight: 800;
}

.home-main {
    width: min(1680px, 100%);
    margin: 0 auto;
    padding: clamp(36px, 6vw, 86px) clamp(18px, 4vw, 56px);
}

.home-section + .home-section {
    margin-top: clamp(42px, 6vw, 82px);
}

.home-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.home-section-heading h2 {
    margin: 0;
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 900;
    letter-spacing: 0;
}

.home-section-heading a {
    color: var(--app-accent);
    font-weight: 900;
    text-decoration: none;
}

.home-insight-grid,
.home-listing-grid,
.home-feature-grid {
    display: grid;
    gap: 18px;
}

.home-insight-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-insight-card,
.home-listing-card,
.home-feature-grid article,
.home-feature-card-link {
    border: 1px solid var(--home-border);
    border-radius: 14px;
    background: var(--home-surface);
    box-shadow: var(--app-shadow-sm);
}

.home-insight-card {
    min-height: 164px;
    padding: 24px;
}

.home-insight-card span,
.home-insight-card small {
    display: block;
    color: var(--home-muted);
    font-weight: 800;
}

.home-insight-card strong {
    display: block;
    margin: 12px 0;
    font-size: 38px;
    line-height: 1;
}

.home-listing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-listing-card {
    overflow: hidden;
}

.home-listing-card > div {
    padding: 18px;
}

.home-listing-image {
    display: grid;
    place-items: center;
    aspect-ratio: 16 / 10;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--app-accent-2) 18%, transparent), transparent),
        var(--home-surface-soft);
    color: var(--home-muted);
    font-weight: 900;
    text-decoration: none;
}

.home-listing-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-listing-card strong {
    color: var(--app-accent);
    font-size: 18px;
}

.home-listing-card h3 {
    margin: 8px 0 6px;
    font-size: 18px;
    font-weight: 900;
}

.home-listing-card h3 a {
    color: inherit;
    text-decoration: none;
}

.home-listing-card p {
    min-height: 48px;
    margin: 0 0 14px;
    color: var(--home-muted);
}

.home-listing-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.home-listing-meta span,
.home-feature-grid article span,
.home-feature-card-link span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--app-accent-2) 14%, transparent);
    color: var(--home-text);
    font-size: 12px;
    font-weight: 900;
}

.home-feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-feature-grid article {
    padding: 28px;
}

.home-feature-card-link {
    display: block;
    min-height: 220px;
    padding: 28px;
    color: var(--home-text);
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.home-feature-card-link:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--app-accent) 60%, var(--home-border));
    box-shadow: 0 18px 42px color-mix(in srgb, var(--app-accent) 14%, transparent);
}

.home-feature-grid h3 {
    margin: 18px 0 10px;
    font-size: 22px;
    font-weight: 900;
}

.home-feature-grid p {
    margin: 0;
    color: var(--home-muted);
}

.search-landing {
    background:
        linear-gradient(180deg, rgba(7, 13, 24, .86), rgba(15, 23, 42, .38) 22rem, var(--app-bg) 44rem),
        var(--app-bg);
}

.search-main {
    width: min(1680px, 100%);
    margin: 0 auto;
    padding: clamp(22px, 4vw, 46px);
}

.search-map-first-main {
    width: min(1760px, 100%);
    padding-top: clamp(18px, 3vw, 34px);
}

.search-page-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
    color: #fff;
}

.search-page-hero h1 {
    max-width: 780px;
    margin: 0 0 10px;
    font-size: clamp(34px, 4vw, 58px);
    line-height: 1.04;
    font-weight: 900;
    letter-spacing: 0;
}

.search-page-hero p {
    max-width: 860px;
    margin: 0;
    color: rgba(238, 244, 251, .74);
    font-size: 17px;
}

.search-page-hero-compact h1 {
    font-size: clamp(30px, 3.4vw, 48px);
}

.search-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.search-control-map {
    display: grid;
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
}

.search-map-first-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.85fr) minmax(340px, .95fr);
    gap: 18px;
    align-items: stretch;
}

.search-filter-panel,
.search-map-panel,
.search-results-section {
    border: 1px solid var(--app-border);
    border-radius: 16px;
    background: var(--app-surface);
    box-shadow: var(--app-shadow);
}

.search-filter-panel {
    padding: 22px;
}

.search-filter-sidebar {
    position: sticky;
    top: 98px;
    max-height: calc(100vh - 118px);
    overflow: auto;
    scrollbar-width: thin;
}

.search-filter-title {
    display: grid;
    gap: 2px;
    margin-bottom: 16px;
}

.search-filter-title strong {
    font-size: 22px;
    line-height: 1.1;
}

.search-filter-accordion {
    display: grid;
    gap: 10px;
}

.search-filter-section {
    overflow: hidden;
    border: 1px solid var(--app-border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--app-surface-2) 72%, transparent);
}

.search-filter-section .accordion-button {
    min-height: 48px;
    padding: 13px 14px;
    background: color-mix(in srgb, var(--app-surface) 82%, transparent);
    color: var(--app-text);
    font-weight: 900;
    box-shadow: none;
}

.search-filter-section .accordion-button:not(.collapsed) {
    background: color-mix(in srgb, var(--app-accent) 16%, var(--app-surface));
    color: var(--app-text);
}

.search-filter-section .accordion-button::after {
    filter: invert(1) grayscale(1);
    opacity: .75;
}

[data-bs-theme="light"] .search-filter-section .accordion-button::after {
    filter: none;
}

.search-filter-section .accordion-body {
    padding: 14px;
    border-top: 1px solid var(--app-border);
}

.nearby-search-block {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--app-border);
}

.nearby-radius-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.nearby-status {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid var(--app-border);
    border-radius: 10px;
    background: var(--app-surface);
    color: var(--app-muted);
    font-size: 13px;
    font-weight: 800;
}

.nearby-status[data-tone="success"] {
    border-color: color-mix(in srgb, #14b8a6 48%, var(--app-border));
    color: color-mix(in srgb, #14b8a6 76%, var(--app-text));
}

.nearby-status[data-tone="warning"] {
    border-color: color-mix(in srgb, #ef4444 46%, var(--app-border));
    color: #f87171;
}

.search-layer-list {
    display: grid;
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.search-layer-list li {
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    border: 1px solid var(--app-border);
    border-radius: 10px;
    background: var(--app-surface);
}

.search-layer-list strong {
    color: var(--app-text);
    font-size: 13px;
}

.search-layer-list span {
    color: var(--app-muted);
    font-size: 12px;
    line-height: 1.35;
}

.search-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.search-map-panel {
    min-width: 0;
    padding: 18px;
}

.search-map-primary {
    min-height: 100%;
}

.search-map-heading,
.search-results-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.search-map-heading h2,
.search-results-heading h2 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
}

.search-map-large {
    min-height: clamp(620px, 68vh, 840px);
}

.search-map-focus {
    min-height: clamp(660px, 72vh, 900px);
}

.search-map-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.search-map-help {
    margin-top: 10px;
    color: var(--home-muted);
    font-size: 13px;
    font-weight: 700;
}

.heatmap-legend {
    align-items: flex-start;
}

.heatmap-legend span {
    max-width: 420px;
    line-height: 1.35;
}

.search-hero-actions .status-pill,
.search-map-heading .status-pill,
.search-results-heading .status-pill {
    border: 1px solid color-mix(in srgb, var(--app-accent) 30%, var(--home-border));
    background: color-mix(in srgb, var(--home-surface-soft) 76%, transparent);
    color: var(--home-text);
}

.search-results-section {
    margin-top: 24px;
    padding: 22px;
}

.search-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.search-card-grid-25 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.search-card-grid .property-result-card {
    min-width: 0;
}

.property-result-card {
    display: grid;
    grid-template-rows: 168px 1fr;
    overflow: hidden;
    border: 1px solid var(--home-border);
    border-radius: 14px;
    background: var(--home-surface);
    color: var(--home-text);
    box-shadow: var(--home-shadow);
}

.property-result-card.is-wanted-request {
    border-color: color-mix(in srgb, #38bdf8 42%, var(--home-border));
    background:
        linear-gradient(135deg, color-mix(in srgb, #38bdf8 12%, transparent), transparent 44%),
        var(--home-surface);
}

.property-result-image {
    position: relative;
    display: block;
    min-width: 0;
    min-height: 0;
    background: var(--home-surface-soft);
    text-decoration: none;
}

.property-result-image img {
    width: 100%;
    height: 100%;
    min-height: 168px;
    object-fit: cover;
    display: block;
}

.property-result-request-visual {
    display: grid;
    place-items: center;
    min-height: 168px;
    background:
        linear-gradient(135deg, color-mix(in srgb, #38bdf8 18%, var(--home-surface-soft)), color-mix(in srgb, #facc15 12%, var(--home-surface)));
}

.property-result-request-visual span {
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    border: 1px solid color-mix(in srgb, #38bdf8 54%, var(--home-border));
    border-radius: 50%;
    background: color-mix(in srgb, var(--home-surface) 82%, transparent);
    color: var(--home-text);
    font-size: 17px;
    font-weight: 900;
    letter-spacing: 0;
}

.property-result-body {
    display: grid;
    gap: 12px;
    padding: 16px;
}

.property-result-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.property-result-date {
    color: var(--home-muted);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.property-result-body h4 {
    margin: 0;
    font-size: 17px;
    line-height: 1.28;
    font-weight: 900;
}

.property-result-body h4 a {
    color: var(--home-text);
    text-decoration: none;
}

.property-result-body h4 a:hover {
    color: var(--app-accent);
}

.property-result-location {
    min-height: 38px;
    margin: 0;
    color: var(--home-muted);
    font-size: 13px;
    line-height: 1.45;
}

.property-result-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.property-result-detail-grid span {
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid var(--home-border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--home-surface-soft) 76%, transparent);
}

.property-result-detail-grid small {
    display: block;
    margin-bottom: 3px;
    color: var(--home-muted);
    font-size: 11px;
    font-weight: 800;
}

.property-result-detail-grid strong {
    display: block;
    overflow-wrap: anywhere;
    color: var(--home-text);
    font-size: 13px;
    line-height: 1.25;
    font-weight: 900;
}

.property-owner-contact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.property-owner-contact-grid a {
    color: var(--app-accent);
    text-decoration: none;
}

.property-contact-login {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    border: 1px solid color-mix(in srgb, var(--app-accent) 38%, var(--home-border));
    border-radius: 10px;
    background: color-mix(in srgb, var(--app-accent) 10%, var(--home-surface));
}

.property-contact-login strong {
    color: var(--home-text);
    font-size: 15px;
    font-weight: 900;
}

.listing-type-badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    max-width: 100%;
    padding: 4px 9px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.1;
}

.listing-badge-sale {
    border-color: color-mix(in srgb, #22c55e 48%, transparent);
    background: color-mix(in srgb, #22c55e 18%, var(--home-surface));
    color: color-mix(in srgb, #22c55e 82%, var(--home-text));
}

.listing-badge-rent {
    border-color: color-mix(in srgb, #3b82f6 48%, transparent);
    background: color-mix(in srgb, #3b82f6 18%, var(--home-surface));
    color: color-mix(in srgb, #3b82f6 82%, var(--home-text));
}

.listing-badge-wanted {
    border-color: color-mix(in srgb, #38bdf8 55%, transparent);
    background: color-mix(in srgb, #38bdf8 20%, var(--home-surface));
    color: color-mix(in srgb, #38bdf8 82%, var(--home-text));
}

.listing-badge-investment {
    border-color: color-mix(in srgb, #f59e0b 55%, transparent);
    background: color-mix(in srgb, #f59e0b 20%, var(--home-surface));
    color: color-mix(in srgb, #f59e0b 78%, var(--home-text));
}

.listing-badge-auction {
    border-color: color-mix(in srgb, #ef4444 52%, transparent);
    background: color-mix(in srgb, #ef4444 18%, var(--home-surface));
    color: color-mix(in srgb, #ef4444 82%, var(--home-text));
}

.listing-badge-development {
    border-color: color-mix(in srgb, #a855f7 52%, transparent);
    background: color-mix(in srgb, #a855f7 18%, var(--home-surface));
    color: color-mix(in srgb, #a855f7 78%, var(--home-text));
}

.listing-badge-default {
    border-color: var(--home-border);
    background: var(--home-surface-soft);
    color: var(--home-text);
}

[data-bs-theme="light"] .listing-badge-sale {
    color: #166534;
}

[data-bs-theme="light"] .listing-badge-rent {
    color: #1d4ed8;
}

[data-bs-theme="light"] .listing-badge-wanted {
    color: #0369a1;
}

[data-bs-theme="light"] .listing-badge-investment {
    color: #92400e;
}

[data-bs-theme="light"] .listing-badge-auction {
    color: #b91c1c;
}

[data-bs-theme="light"] .listing-badge-development {
    color: #6b21a8;
}

.wanted-request-note {
    padding: 9px 10px;
    border: 1px dashed color-mix(in srgb, #38bdf8 48%, var(--home-border));
    border-radius: 10px;
    color: var(--home-muted);
    font-size: 12px;
    font-weight: 800;
}

.matching-requests-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.matching-request-card {
    display: grid;
    gap: 12px;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--home-border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--home-surface-soft) 74%, transparent);
}

.matching-request-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.matching-request-head strong {
    color: var(--app-accent);
    font-size: 20px;
    font-weight: 900;
}

.matching-request-card h4 {
    margin: 0;
    color: var(--home-text);
    font-size: 17px;
    line-height: 1.3;
    font-weight: 900;
}

.matching-request-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.matching-request-facts span {
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid var(--home-border);
    border-radius: 9px;
    background: var(--home-surface);
}

.matching-request-facts small {
    display: block;
    color: var(--home-muted);
    font-size: 11px;
    font-weight: 800;
}

.matching-request-facts b {
    display: block;
    overflow-wrap: anywhere;
    color: var(--home-text);
    font-size: 13px;
    line-height: 1.25;
}

.matching-request-card ul {
    display: grid;
    gap: 5px;
    margin: 0;
    padding-left: 18px;
    color: var(--home-muted);
    font-size: 12px;
    font-weight: 750;
}

[dir="rtl"] .matching-request-card ul {
    padding-right: 18px;
    padding-left: 0;
}

.matching-requests-empty {
    grid-column: 1 / -1;
    padding: 24px;
    text-align: center;
}

.matching-opportunity-list {
    display: grid;
    gap: 10px;
}

.matching-opportunity-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 12px;
    padding: 12px 14px;
    border: 1px solid var(--home-border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--home-surface-soft) 72%, transparent);
    color: var(--home-text);
    text-decoration: none;
}

.matching-opportunity-item:hover {
    border-color: color-mix(in srgb, var(--app-accent) 56%, var(--home-border));
    color: var(--home-text);
}

.matching-opportunity-item span,
.matching-opportunity-item strong {
    font-weight: 900;
}

.matching-opportunity-item strong {
    color: var(--app-accent);
}

.matching-opportunity-item small {
    grid-column: 1 / -1;
    color: var(--home-muted);
    font-weight: 750;
}

.notification-count {
    display: inline-grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.notification-list {
    display: grid;
    gap: 10px;
}

.notification-list.compact {
    max-height: 360px;
    overflow: auto;
}

.notification-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 14px;
    border: 1px solid var(--home-border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--home-surface-soft) 68%, transparent);
}

.notification-item.is-unread {
    border-color: color-mix(in srgb, var(--app-accent) 60%, var(--home-border));
    background: color-mix(in srgb, var(--app-accent) 12%, var(--home-surface));
}

.notification-item strong {
    color: var(--home-text);
    font-weight: 900;
}

.notification-item p {
    margin: 4px 0;
    color: var(--home-muted);
    font-size: 13px;
}

.notification-item small,
.dashboard-mini-heading {
    color: var(--home-muted);
    font-weight: 800;
}

.dashboard-mini-heading {
    margin: 0 0 10px;
    font-size: 14px;
}

.property-inquiry-status {
    align-self: center;
    color: var(--home-muted);
    font-weight: 800;
}

.search-empty-state {
    grid-column: 1 / -1;
    padding: 46px 20px;
    text-align: center;
}

.search-pagination-wrap {
    display: flex;
    justify-content: center;
    margin-top: 24px;
}

.pagination .page-link {
    border-color: var(--app-border);
    background: var(--app-surface);
    color: var(--app-text);
    font-weight: 800;
}

.pagination .page-item.active .page-link {
    border-color: var(--app-accent);
    background: var(--app-accent);
    color: #101827;
}

.workflow-main {
    width: min(1520px, 100%);
    margin: 0 auto;
    padding: clamp(22px, 4vw, 46px);
}

.workflow-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 24px;
    color: #fff;
}

[data-bs-theme="light"] .home-landing .workflow-hero {
    color: var(--home-text);
}

.workflow-hero h1 {
    max-width: 820px;
    margin: 0 0 10px;
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.05;
    font-weight: 900;
}

.workflow-hero p {
    max-width: 860px;
    margin: 0;
    color: rgba(238, 244, 251, .75);
}

[data-bs-theme="light"] .home-landing .workflow-hero p {
    color: var(--home-muted);
}

[data-bs-theme="light"] .home-landing[data-valuation-workflow] .workflow-hero,
[data-bs-theme="light"] .valuation-result-shell .workflow-hero {
    color: var(--text-main, var(--home-text));
}

[data-bs-theme="light"] .home-landing[data-valuation-workflow] .workflow-hero h1,
[data-bs-theme="light"] .valuation-result-shell .workflow-hero h1 {
    color: var(--text-main, #101827);
}

[data-bs-theme="light"] .home-landing[data-valuation-workflow] .workflow-hero p,
[data-bs-theme="light"] .valuation-result-shell .workflow-hero p {
    color: var(--text-muted, #526173);
}

[data-bs-theme="light"] .home-landing[data-valuation-workflow] .workflow-hero .btn-outline-light,
[data-bs-theme="light"] .valuation-result-shell .workflow-hero .btn-outline-light,
[data-bs-theme="light"] .valuation-result-shell .valuation-rejected-page .btn-outline-light {
    --bs-btn-color: var(--button-text, #101827);
    --bs-btn-border-color: var(--border-color, rgba(16, 24, 39, .22));
    --bs-btn-bg: var(--card-bg, #fff);
    --bs-btn-hover-color: var(--button-text, #101827);
    --bs-btn-hover-bg: var(--button-bg, var(--gold, #d9a51f));
    --bs-btn-hover-border-color: var(--button-bg, var(--gold, #d9a51f));
    --bs-btn-active-color: var(--button-text, #101827);
    --bs-btn-active-bg: var(--button-bg, var(--gold, #d9a51f));
    --bs-btn-active-border-color: var(--button-bg, var(--gold, #d9a51f));
    color: var(--bs-btn-color);
    background-color: var(--bs-btn-bg);
    border-color: var(--bs-btn-border-color);
}

[data-bs-theme="light"] .home-landing[data-valuation-workflow] .workflow-hero .btn:disabled,
[data-bs-theme="light"] .home-landing[data-valuation-workflow] .workflow-hero .btn.disabled,
[data-bs-theme="light"] .valuation-result-shell .btn:disabled,
[data-bs-theme="light"] .valuation-result-shell .btn.disabled {
    color: color-mix(in srgb, var(--text-main, #101827) 58%, white);
    background-color: color-mix(in srgb, var(--card-bg, #fff) 80%, var(--border-color, #cbd5e1));
    border-color: var(--border-color, #cbd5e1);
    opacity: 1;
}

.workflow-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(410px, .8fr);
    gap: 22px;
    align-items: start;
}

.workflow-card {
    border: 1px solid var(--app-border);
    border-radius: 16px;
    background: var(--app-surface);
    box-shadow: var(--app-shadow);
    padding: 22px;
}

.workflow-map {
    min-height: 540px;
}

.workflow-admin-panel {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.admin-public-shell .workflow-hero {
    color: var(--home-text);
}

.admin-public-shell .workflow-hero p {
    color: var(--home-muted);
}

.admin-workflow-main {
    display: grid;
    gap: 22px;
}

.admin-page-hero {
    margin-bottom: 0;
}

.admin-hero-actions .btn-outline-light,
.admin-public-shell .btn-outline-light {
    --bs-btn-color: var(--home-text);
    --bs-btn-border-color: var(--home-border);
    --bs-btn-hover-color: #101827;
    --bs-btn-hover-bg: var(--app-accent);
    --bs-btn-hover-border-color: var(--app-accent);
}

.admin-form-card,
.admin-upload-card,
.admin-index-card {
    display: grid;
    gap: 22px;
}

.admin-form-section {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--app-border);
    border-radius: 12px;
    background: var(--app-surface-2);
}

.admin-section-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--app-border);
}

.admin-section-title span {
    color: var(--app-text);
    font-weight: 900;
}

.admin-section-title small,
.form-helper {
    color: var(--app-muted);
    font-size: 12px;
    font-weight: 700;
}

.form-helper {
    margin-top: 6px;
    line-height: 1.35;
}

.field-label-note {
    color: var(--app-accent);
    font-weight: 900;
}

.admin-alert {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 0;
    border-radius: 12px;
    color: var(--app-text);
}

.admin-alert small {
    color: var(--app-muted);
    font-weight: 700;
}

.admin-status-pill {
    border: 1px solid color-mix(in srgb, var(--app-accent) 42%, var(--app-border));
    background: color-mix(in srgb, var(--app-accent) 14%, var(--app-surface));
    color: var(--app-accent);
}

.admin-material-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, .65fr);
    gap: 22px;
    align-items: stretch;
}

.admin-upload-drop {
    display: grid;
    gap: 10px;
    padding: 18px;
    border: 1px dashed color-mix(in srgb, var(--app-accent) 54%, var(--app-border));
    border-radius: 14px;
    background: color-mix(in srgb, var(--app-accent) 8%, var(--app-surface-2));
}

.admin-upload-drop strong {
    color: var(--app-text);
    font-size: 16px;
}

.admin-upload-drop span {
    color: var(--app-muted);
    font-weight: 700;
}

.admin-index-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.admin-index-summary > div {
    display: grid;
    gap: 4px;
    min-height: 96px;
    padding: 14px;
    border: 1px solid var(--app-border);
    border-radius: 12px;
    background: var(--app-surface-2);
}

.admin-index-summary span {
    color: var(--app-muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.admin-index-summary strong {
    color: var(--app-text);
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1;
}

.admin-card-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 4px;
}

.admin-table-wrap {
    border: 1px solid var(--app-border);
    border-radius: 12px;
    background: var(--app-surface-2);
}

.admin-public-shell .table {
    color: var(--app-text);
}

.admin-public-shell .table thead th {
    color: var(--app-muted);
}

.admin-public-shell .form-control,
.admin-public-shell .form-select {
    background-color: var(--app-surface);
    color: var(--app-text);
    border-color: var(--app-border);
}

.admin-public-shell textarea.form-control {
    min-height: 92px;
}

.workflow-status {
    padding: 12px 14px;
    border: 1px solid var(--app-border);
    border-radius: 10px;
    background: var(--app-surface-2);
    color: var(--app-muted);
    font-weight: 800;
}

.workflow-status[data-tone="success"] {
    border-color: color-mix(in srgb, #14b8a6 50%, var(--app-border));
    color: color-mix(in srgb, #14b8a6 80%, var(--app-text));
}

.workflow-status[data-tone="warning"] {
    border-color: color-mix(in srgb, var(--app-accent) 56%, var(--app-border));
    color: var(--app-accent);
}

.workflow-status[data-tone="danger"] {
    border-color: color-mix(in srgb, #ef4444 58%, var(--app-border));
    color: #f87171;
}

.workflow-form-section {
    padding-bottom: 18px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--app-border);
}

.workflow-form-section:last-of-type {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
}

.workflow-form-section h3 {
    margin: 0 0 14px;
    font-size: 18px;
    font-weight: 900;
}

.workflow-admin-select {
    background-color: var(--app-surface-2);
}

.workflow-help {
    display: block;
    margin-top: 6px;
    color: var(--app-muted);
    font-weight: 700;
}

.workflow-switch-field {
    display: flex;
    flex-direction: column;
    justify-content: end;
}

.workflow-switch-field .form-check {
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--app-border);
    border-radius: 10px;
    background: var(--app-surface-2);
}

.workflow-switch-field .form-check-input {
    float: none;
    margin: 0;
}

.workflow-request-mode [data-images-field] {
    display: none;
}

.user-properties-main {
    padding-top: clamp(18px, 3vw, 34px);
}

.user-property-list {
    display: grid;
    gap: 14px;
}

.user-property-card {
    grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
}

.user-property-topline,
.user-property-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.user-property-topline {
    justify-content: space-between;
}

.user-property-actions {
    margin-top: 12px;
}

.user-property-actions form {
    margin: 0;
}

.status-pill-active {
    border-color: color-mix(in srgb, #16a34a 58%, var(--app-border));
    background: color-mix(in srgb, #16a34a 14%, transparent);
}

.status-pill-inactive,
.status-pill-deleted {
    color: var(--app-muted);
}

[dir="rtl"] .home-hero-map::after {
    background:
        linear-gradient(270deg, rgba(7, 13, 24, .82), rgba(7, 13, 24, .36) 48%, rgba(7, 13, 24, .12)),
        linear-gradient(0deg, rgba(7, 13, 24, .64), transparent 45%);
}

[data-bs-theme="light"] .home-hero-map::after {
    background:
        linear-gradient(90deg, rgba(247, 250, 246, .88), rgba(247, 250, 246, .44) 48%, rgba(247, 250, 246, .18)),
        linear-gradient(0deg, rgba(237, 243, 241, .68), transparent 48%);
}

[data-bs-theme="light"] [dir="rtl"] .home-hero-map::after {
    background:
        linear-gradient(270deg, rgba(247, 250, 246, .88), rgba(247, 250, 246, .44) 48%, rgba(247, 250, 246, .18)),
        linear-gradient(0deg, rgba(237, 243, 241, .68), transparent 48%);
}

@media (max-width: 1280px) {
    .home-nav-links {
        display: none;
    }

    .home-menu-button {
        display: inline-grid;
        place-items: center;
    }

    .home-insight-grid,
    .home-listing-grid,
    .home-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .search-control-map {
        grid-template-columns: 1fr;
    }

    .search-map-first-grid {
        grid-template-columns: 1fr;
    }

    .search-filter-sidebar {
        position: static;
        max-height: none;
        order: -1;
    }

    .search-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .search-card-grid-25 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .matching-requests-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .workflow-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .home-navbar {
        min-height: 68px;
        padding: 14px 16px;
    }

    .home-logo strong {
        max-width: 136px;
        font-size: 15px;
    }

    .home-hero {
        min-height: auto;
        padding: 18px 14px 28px;
    }

    .home-hero-map {
        position: relative;
        min-height: 360px;
        border-radius: 0 0 18px 18px;
        margin: -18px -14px 18px;
        overflow: hidden;
    }

    .home-hero-map::after {
        background: linear-gradient(0deg, rgba(7, 13, 24, .5), transparent 58%);
    }

    [data-bs-theme="light"] .home-hero-map::after {
        background: linear-gradient(0deg, rgba(237, 243, 241, .52), transparent 58%);
    }

    .home-search-panel {
        padding: 20px;
        border-radius: 14px;
    }

    .home-search-panel h1 {
        font-size: 36px;
    }

    .home-keyword-row,
    .home-insight-grid,
    .home-listing-grid,
    .home-feature-grid {
        grid-template-columns: 1fr;
    }

    .user-property-card {
        grid-template-columns: 1fr;
    }

    .user-property-actions .btn,
    .user-property-actions form,
    .user-property-actions button {
        width: 100%;
    }

    .home-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-main {
        padding: 38px 14px 64px;
    }

    .search-main {
        padding: 22px 14px 48px;
    }

    .search-page-hero,
    .search-map-heading,
    .search-results-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .search-hero-actions {
        justify-content: flex-start;
    }

    .search-map-large {
        min-height: 520px;
    }

    .search-map-focus {
        min-height: 560px;
    }

    .search-card-grid {
        grid-template-columns: 1fr;
    }

    .search-card-grid-25 {
        grid-template-columns: 1fr;
    }

    .matching-requests-grid,
    .matching-request-facts {
        grid-template-columns: 1fr;
    }

    .workflow-main {
        padding: 22px 14px 48px;
    }

    .workflow-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .workflow-map {
        min-height: 420px;
    }
}

@media (max-width: 900px) {
    .dashboard-main {
        width: min(100% - 28px, 720px);
        padding-top: 18px;
    }

    .dashboard-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .dashboard-metrics,
    .dashboard-grid,
    .dashboard-grid-wide,
    .dashboard-chart-grid,
    .admin-insight-grid,
    .admin-analytics-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-map {
        min-height: 340px;
    }

    .dashboard-map-wide {
        min-height: clamp(320px, 58vw, 400px);
    }

    .admin-dashboard-main {
        width: min(100% - 28px, 720px);
    }

    .admin-chart-card {
        min-height: 380px;
    }

    .admin-chart-wrap {
        height: 290px;
    }

    .admin-coverage-map {
        min-height: 380px;
    }

    .admin-table-footer,
    .admin-map-stats {
        align-items: flex-start;
        flex-direction: column;
    }

    .property-details-main {
        width: min(100% - 28px, 720px);
        padding-top: 18px;
    }

    .property-details-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .property-media-map-grid,
    .property-intelligence-grid,
    .property-facts-grid {
        grid-template-columns: 1fr;
    }

    .property-details-main-image,
    .property-details-map,
    .property-details-map-empty {
        min-height: clamp(320px, 64vw, 400px);
    }

    .property-spatial-details summary {
        align-items: flex-start;
    }

    .home-menu-groups {
        grid-template-columns: 1fr;
    }

    .valuation-split {
        grid-template-columns: 1fr;
    }

    .valuation-map-and-summary,
    .valuation-chart-grid,
    .admin-material-grid {
        grid-template-columns: 1fr;
    }

    .admin-section-title {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}

@media (max-width: 560px) {
    .home-nav-tools {
        gap: 6px;
    }

    .home-theme-toggle {
        min-width: 64px;
        padding: 0 9px;
    }

    .home-language,
    .home-menu-button {
        width: 40px;
        height: 40px;
    }

    .admin-form-section,
    .admin-upload-drop {
        padding: 14px;
    }

    .admin-index-summary {
        grid-template-columns: 1fr;
    }

    .valuation-summary-tiles {
        grid-template-columns: 1fr;
    }

    .admin-card-actions .btn {
        width: 100%;
    }
}

/* Global navbar: one compact navigation system for public, user, and admin pages. */
.app-global-shell {
    min-height: 100vh;
    background: var(--home-bg);
    color: var(--home-text);
}

.app-global-content {
    width: min(1680px, calc(100% - 32px));
    margin: 0 auto;
    padding: 24px 0 48px;
}

.global-navbar.home-navbar,
.home-navbar {
    min-height: 60px;
    max-height: 60px;
    gap: 10px;
    padding: 8px clamp(12px, 2.4vw, 32px);
    overflow: visible;
}

.global-navbar .home-logo {
    gap: 9px;
}

.global-navbar .home-logo span {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1;
}

.global-navbar .home-logo strong {
    max-width: clamp(104px, 13vw, 184px);
    font-family: inherit;
    font-size: 14px;
    font-weight: 850;
    line-height: 1;
}

.global-navbar .home-nav-links {
    gap: 6px;
}

.global-navbar .home-nav-links a,
.global-navbar .home-nav-tool-link,
.global-navbar .home-user-chip,
.global-navbar .home-language,
.global-navbar .home-theme-toggle,
.global-navbar .home-menu-button {
    box-sizing: border-box;
    min-height: 36px;
    height: 36px;
    border: 1px solid var(--home-border);
    border-radius: 8px;
    padding: 0 10px;
    background: color-mix(in srgb, var(--home-surface-soft) 54%, transparent);
    color: var(--home-text);
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 36px;
    letter-spacing: 0;
    text-decoration: none;
    white-space: nowrap;
    transition: color .16s ease, background-color .16s ease, border-color .16s ease;
}

.global-navbar .home-nav-links a {
    display: inline-flex;
    align-items: center;
    max-width: clamp(74px, 9vw, 132px);
    overflow: hidden;
    text-overflow: ellipsis;
}

.global-navbar .home-nav-links .nav-action,
.global-navbar .home-nav-links .nav-action-gold {
    min-height: 36px;
    padding: 0 10px;
    border-radius: 8px;
}

.global-navbar .home-nav-tools {
    gap: 6px;
}

.global-navbar .home-nav-tool-link,
.global-navbar .home-user-chip,
.global-navbar .home-language,
.global-navbar .home-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.global-navbar .home-user-chip {
    max-width: clamp(112px, 14vw, 210px);
    overflow: hidden;
    text-overflow: ellipsis;
}

.global-navbar .home-theme-toggle {
    min-width: 66px;
}

.global-navbar .home-language,
.global-navbar .home-menu-button {
    width: 36px;
    padding: 0;
}

.global-navbar .home-menu-button {
    display: inline-grid;
    place-items: center;
    font-size: 19px;
    line-height: 1;
}

.global-navbar .home-nav-links a:hover,
.global-navbar .home-nav-tool-link:hover,
.global-navbar .home-user-chip:hover,
.global-navbar .home-language:hover,
.global-navbar .home-theme-toggle:hover,
.global-navbar .home-menu-button:hover,
.global-navbar .home-nav-links a.active,
.global-navbar .home-nav-tool-link.active,
.global-navbar .home-user-chip.active {
    color: var(--app-accent);
    border-color: color-mix(in srgb, var(--app-accent) 62%, var(--home-border));
    background: color-mix(in srgb, var(--app-accent) 13%, var(--home-surface-soft));
}

.home-menu-panel {
    top: 60px;
    border-radius: 8px;
}

@media (max-width: 1280px) {
    .global-navbar .home-nav-links {
        display: none;
    }
}

@media (max-width: 760px) {
    .global-navbar.home-navbar,
    .home-navbar {
        min-height: 58px;
        max-height: 58px;
        padding: 7px 10px;
    }

    .home-menu-panel {
        top: 58px;
    }

    .global-navbar .home-logo strong {
        max-width: 118px;
        font-size: 13px;
    }

    .global-navbar .home-nav-tools {
        gap: 4px;
    }

    .global-navbar .home-user-chip {
        max-width: 112px;
    }
}

@media (max-width: 560px) {
    .global-navbar .home-logo strong {
        display: none;
    }

    .global-navbar .home-nav-tool-link,
    .global-navbar .home-user-chip,
    .global-navbar .home-language,
    .global-navbar .home-theme-toggle,
    .global-navbar .home-menu-button {
        min-height: 34px;
        height: 34px;
        font-size: 12px;
        line-height: 34px;
        padding-inline: 7px;
    }

    .global-navbar .home-user-chip {
        max-width: 88px;
    }

    .global-navbar .home-theme-toggle {
        min-width: 54px;
    }

    .global-navbar .home-language,
    .global-navbar .home-menu-button {
        width: 34px;
        padding: 0;
    }
}

/* Reports and GIS analytics pages */
.reports-main,
.gis-layers-layout {
    min-width: 0;
}

.reports-hero .hero-actions,
.page-hero .hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.reports-chart-grid {
    align-items: stretch;
}

.reports-chart-card,
.reports-map-card,
.gis-map-console,
.gis-control-panel {
    min-width: 0;
}

.reports-chart-card .card-heading,
.reports-map-card .card-heading,
.gis-map-console .card-heading,
.gis-control-panel .card-heading {
    margin-bottom: 14px;
}

.reports-gis-map,
.gis-layers-map {
    min-height: clamp(390px, 42vw, 560px);
}

.map-empty-note {
    max-width: 260px;
    padding: 10px 12px;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    background: var(--app-surface);
    color: var(--app-muted);
    box-shadow: var(--app-shadow-sm);
    font-weight: 800;
}

.gis-layers-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    gap: 22px;
    margin-bottom: 22px;
}

.gis-layer-metrics {
    margin-bottom: 22px;
}

.gis-layer-toggle-list,
.gis-layer-legend {
    display: grid;
    gap: 10px;
}

.gis-layer-toggle,
.gis-legend-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 10px 12px;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    background: var(--app-surface-2);
    color: var(--app-text);
}

.gis-layer-toggle input {
    width: 18px;
    height: 18px;
    accent-color: var(--layer-color);
}

.gis-layer-toggle strong,
.gis-legend-row span:not(.gis-layer-swatch),
.gis-layer-name {
    color: var(--app-text);
    font-weight: 900;
}

.gis-layer-toggle small,
.gis-legend-row small {
    display: block;
    color: var(--app-muted);
    font-size: 12px;
    font-weight: 750;
}

.gis-layer-swatch {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--layer-color);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--layer-color) 55%, var(--app-border));
}

.gis-layer-name {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.gis-layer-name::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--layer-color);
}

.status-pill-needs_geometry {
    color: #f59e0b;
    border-color: color-mix(in srgb, #f59e0b 56%, var(--app-border));
    background: color-mix(in srgb, #f59e0b 12%, transparent);
}

.status-pill-empty {
    color: var(--app-muted);
}

.leaflet-container {
    font-family: inherit;
}

[dir="rtl"] .leaflet-control-attribution {
    direction: ltr;
}

@media (max-width: 1100px) {
    .gis-layers-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .reports-hero .hero-actions,
    .page-hero .hero-actions {
        width: 100%;
    }

    .reports-hero .hero-actions .btn,
    .page-hero .hero-actions .btn {
        flex: 1 1 180px;
    }
}

@media (max-width: 620px) {
    .reports-gis-map,
    .gis-layers-map {
        min-height: 340px;
    }

    .gis-layer-toggle,
    .gis-legend-row {
        grid-template-columns: auto 1fr;
    }

    .gis-legend-row small {
        grid-column: 2;
    }
}

/* Help Center and Favorites */
.help-center-main,
.favorites-main {
    width: min(1180px, calc(100% - 28px));
    margin: 0 auto;
    padding: 18px 0 42px;
}

.help-hero {
    display: grid;
    gap: 10px;
    padding: 28px;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(135deg, #071b33, #124064 62%, #c9972b);
}

.help-hero h1 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1;
}

.help-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, .82);
}

.help-hero-actions,
.help-support-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 6px;
}

.help-layout {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 16px;
    margin-top: 16px;
}

.help-toc {
    position: sticky;
    top: 84px;
    display: grid;
    align-self: start;
    gap: 4px;
    padding: 10px;
    border: 1px solid var(--home-border);
    border-radius: 8px;
    background: var(--home-surface);
    box-shadow: var(--home-shadow);
}

.help-toc a {
    padding: 8px 10px;
    border-radius: 6px;
    color: var(--home-text);
    text-decoration: none;
    font-weight: 800;
    font-size: .9rem;
}

.help-toc a:hover,
.help-toc a:focus-visible {
    background: color-mix(in srgb, var(--app-accent) 16%, transparent);
}

.help-content {
    display: grid;
    gap: 14px;
}

.help-section {
    padding: 20px;
    border: 1px solid var(--home-border);
    border-radius: 8px;
    background: var(--home-surface);
    box-shadow: var(--home-shadow);
}

.help-section h2 {
    margin: 0 0 8px;
    color: var(--home-text);
    font-size: 1.35rem;
}

.help-section p,
.help-list {
    color: var(--home-muted);
}

.help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.help-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.help-grid article,
.help-placeholder {
    display: grid;
    gap: 6px;
    padding: 12px;
    border: 1px solid var(--home-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--home-surface-soft) 62%, transparent);
}

.help-grid strong {
    color: var(--home-text);
}

.help-grid span,
.help-placeholder {
    color: var(--home-muted);
    font-size: .92rem;
}

.help-list {
    display: grid;
    gap: 6px;
    margin-bottom: 14px;
}

.help-faq {
    display: grid;
    gap: 8px;
}

.help-faq details {
    border: 1px solid var(--home-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--home-surface-soft) 62%, transparent);
}

.help-faq summary {
    cursor: pointer;
    padding: 10px 12px;
    color: var(--home-text);
    font-weight: 900;
}

.help-faq p {
    margin: 0;
    padding: 0 12px 12px;
}

.favorites-topbar {
    align-items: flex-start;
}

.favorites-topbar strong {
    display: block;
    margin-top: 2px;
    font-size: 1.35rem;
}

.favorites-controls {
    gap: 10px;
}

.favorites-sort-form label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--home-muted);
    font-size: .85rem;
    font-weight: 900;
}

.favorites-sort-form select {
    min-height: 34px;
    border: 1px solid var(--home-border);
    border-radius: 8px;
    padding: 0 28px 0 10px;
    color: var(--home-text);
    background: var(--home-surface);
}

.favorites-map-card {
    margin-bottom: 14px;
    padding: 12px;
    border: 1px solid var(--home-border);
    border-radius: 8px;
    background: var(--home-surface);
    box-shadow: var(--home-shadow);
}

.favorites-map-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.favorites-map-heading h2 {
    margin: 0;
    font-size: 1.1rem;
}

.favorites-map-heading span {
    color: var(--home-muted);
    font-size: .85rem;
    font-weight: 900;
}

.favorites-map {
    position: relative;
    min-height: 320px;
    border-radius: 8px;
    overflow: hidden;
    background: color-mix(in srgb, var(--home-surface-soft) 70%, transparent);
}

.favorites-map .map-empty-state {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: var(--home-muted);
    font-weight: 900;
    z-index: 1;
}

.favorites-card-grid {
    grid-template-columns: repeat(auto-fill, minmax(255px, 1fr));
}

.favorite-card {
    grid-template-rows: 124px minmax(0, 1fr);
}

.favorite-card .property-search-card-actions {
    align-items: stretch;
}

.favorite-card .property-search-card-actions .btn {
    flex: 1 1 120px;
}

.favorites-empty {
    grid-column: 1 / -1;
    display: grid;
    justify-items: center;
    gap: 10px;
    min-height: 260px;
    padding: 38px 18px;
    border: 1px solid var(--home-border);
    border-radius: 8px;
    background: var(--home-surface);
    color: var(--home-muted);
    text-align: center;
    box-shadow: var(--home-shadow);
}

.favorites-empty h2 {
    margin: 0;
    color: var(--home-text);
    font-size: 1.35rem;
}

.favorites-empty p {
    max-width: 520px;
    margin: 0;
}

.dashboard-shortcut-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
}

.dashboard-shortcut-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 104px;
    padding: 18px;
    border: 1px solid var(--home-border);
    border-radius: 8px;
    color: var(--home-text);
    text-decoration: none;
    background: var(--home-surface);
    box-shadow: var(--home-shadow);
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.dashboard-shortcut-card:hover,
.dashboard-shortcut-card:focus-visible {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--app-accent) 70%, var(--home-border));
    color: var(--home-text);
    box-shadow: 0 18px 36px rgba(7, 27, 51, .14);
}

.dashboard-shortcut-icon {
    display: inline-grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 8px;
    color: #ef4444;
    background: color-mix(in srgb, #ef4444 12%, var(--home-surface));
    font-size: 1.35rem;
    font-weight: 900;
}

.dashboard-shortcut-card strong,
.dashboard-shortcut-card small {
    display: block;
}

.dashboard-shortcut-card strong {
    margin-bottom: 4px;
    font-size: 1.08rem;
}

.dashboard-shortcut-card small {
    color: var(--home-muted);
    line-height: 1.35;
}

.leaflet-popup-content {
    display: grid;
    gap: 4px;
}

.leaflet-popup-content strong {
    color: #071b33;
}

.leaflet-popup-content a {
    color: #a36b00;
    font-weight: 900;
    text-decoration: none;
}

@media (max-width: 900px) {
    .help-layout {
        grid-template-columns: 1fr;
    }

    .help-toc {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .help-grid,
    .help-grid.two {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .help-center-main,
    .favorites-main {
        width: min(100% - 18px, 1180px);
    }

    .help-hero,
    .help-section {
        padding: 16px;
    }

    .help-toc {
        grid-template-columns: 1fr;
    }

    .favorites-controls,
    .favorites-sort-form label {
        width: 100%;
    }

    .favorites-sort-form,
    .favorites-sort-form select,
    .favorites-controls .btn {
        width: 100%;
    }

    .favorites-map {
        min-height: 260px;
    }
}

.property-gallery {
    display: grid;
    gap: 10px;
}

.property-hero-image {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background: var(--app-surface-2);
}

.property-hero-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.property-gallery-zoom {
    position: absolute;
    inset-inline-end: 12px;
    inset-block-end: 12px;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 8px;
    background: rgba(7, 27, 51, .72);
    color: #fff;
    font-weight: 900;
}

.property-thumbnail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.property-thumbnail-grid button {
    height: 78px;
    padding: 0;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 8px;
    background: var(--app-surface-2);
    cursor: pointer;
}

.property-thumbnail-grid button.is-active {
    border-color: var(--app-accent);
}

.property-thumbnail-grid img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.property-video-frame {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    background: #071b33;
}

.property-video-frame iframe,
.property-video-frame video {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.property-video-frame > a {
    margin: 16px;
}

.property-detail-favorite {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.property-detail-favorite.is-active {
    border-color: color-mix(in srgb, #ef4444 65%, #fff);
    color: #ef4444;
    background: #fff;
}

.property-detail-favorite-status {
    min-width: 0;
    color: var(--app-muted);
    font-size: .84rem;
    font-weight: 800;
}

.property-lightbox {
    position: fixed;
    inset: 0;
    z-index: 6000;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(7, 27, 51, .88);
}

.property-lightbox[hidden] {
    display: none !important;
}

.property-lightbox img {
    max-width: min(1120px, 94vw);
    max-height: 86vh;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, .38);
}

.property-lightbox-close {
    position: fixed;
    inset-block-start: 18px;
    inset-inline-end: 18px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 8px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    font-size: 24px;
    line-height: 1;
}

.property-lightbox-open {
    overflow: hidden;
}

@media (max-width: 900px) {
    .property-thumbnail-grid {
        grid-template-columns: repeat(4, minmax(72px, 1fr));
        overflow-x: auto;
    }

    .property-details-hero .hero-actions {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .property-thumbnail-grid button {
        height: 64px;
    }

    .property-gallery-zoom {
        inset-inline-end: 8px;
        inset-block-end: 8px;
    }
}
/* Reports visualization refinement */
.reports-governorate-hero,.reports-governorate-cards-wrap{grid-column:1/-1}.reports-treemap-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.reports-treemap-summary>div,.reports-governorate-card{border:1px solid var(--app-border);background:var(--app-surface-2);border-radius:10px;padding:14px}.reports-treemap-summary span,.reports-governorate-meta{color:var(--app-muted);font-size:12px}.reports-treemap-summary strong{display:block;margin-top:5px;color:var(--app-text);font-size:clamp(16px,2vw,22px)}.reports-treemap{display:flex;flex-wrap:wrap;gap:6px;overflow:hidden;min-width:0}.reports-treemap-hero{min-height:330px}.reports-treemap-compact{height:180px}.reports-treemap-block{flex:var(--share) 1 90px;min-width:82px;min-height:82px;padding:12px;border-radius:8px;background:var(--type-color);color:#fff;display:flex;flex-direction:column;justify-content:center;text-align:center;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.reports-treemap-block strong{font-size:13px;line-height:1.2}.reports-treemap-block span{font-size:20px;font-weight:900}.reports-treemap-block small{color:rgba(255,255,255,.86)}.reports-data-note,.reports-qa-line{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 0;color:var(--app-muted);font-size:12px}.reports-governorate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.reports-governorate-card header,.reports-governorate-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.reports-governorate-card h4{margin:0;font-size:17px}.reports-governorate-card header span{color:var(--app-muted);font-size:12px}.reports-governorate-card.is-extra{display:none}.reports-governorate-grid.is-expanded .is-extra{display:block}.reports-governorates-toggle{display:block;margin:16px auto 0}.search-pagination-notice span{display:inline-block;margin-inline:8px;margin-top:6px}.reports-chart-card .admin-chart-wrap{min-height:310px}
@media(max-width:1000px){.reports-governorate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.reports-treemap-summary,.reports-governorate-grid{grid-template-columns:1fr}.reports-treemap-hero{min-height:280px}.reports-treemap-block{min-width:72px;padding:8px}.reports-treemap-block strong{font-size:12px}.reports-treemap-block span{font-size:17px}.reports-chart-card .admin-chart-wrap{min-height:340px}}
.reports-analytics-page{overflow-x:hidden}.reports-analytics-page .table-responsive,.reports-analytics-page .leaflet-container{max-width:100%;overflow:hidden}.reports-analytics-page .table-responsive{overflow-x:auto}

/* Proportional report bars and compact search-limit notice */
.search-pagination-notice,.search-pagination-notice strong{font-size:9px!important;font-weight:400!important;line-height:1.45}.search-pagination-notice span{font-size:9px!important;font-weight:400!important;margin-inline:6px;margin-top:4px}
.reports-treemap{display:grid;gap:8px}.reports-treemap-compact{height:auto;min-height:180px}.reports-treemap-block{position:relative;display:grid;grid-template-columns:minmax(105px,1fr) auto auto;align-items:center;gap:12px;min-width:0;min-height:44px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--type-color) 42%,var(--app-border));border-radius:8px;background:color-mix(in srgb,var(--type-color) 8%,var(--app-surface-2));color:var(--app-text);text-align:start;overflow:hidden;box-shadow:none}.reports-treemap-block i{position:absolute;z-index:0;inset:0 auto 0 0;width:var(--pct);background:var(--type-color);opacity:.42}.reports-treemap-block strong,.reports-treemap-block span,.reports-treemap-block small{position:relative;z-index:1}.reports-treemap-block strong{font-size:13px}.reports-treemap-block span{font-size:17px;font-weight:900}.reports-treemap-block small{min-width:48px;color:var(--app-text);text-align:end;font-weight:700}
@media(max-width:640px){.reports-treemap-block{grid-template-columns:minmax(88px,1fr) auto auto;gap:7px;min-width:0;padding:8px}.reports-treemap-block strong{font-size:11px}.reports-treemap-block span{font-size:14px}.reports-treemap-block small{min-width:40px;font-size:10px}}

/* Geographic report controls and descriptive statistics */
.reports-map-heading{align-items:flex-start}.reports-map-scope{margin:4px 0 0;color:var(--app-muted);font-size:12px}.reports-geo-filter{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;margin:0 0 16px;padding:14px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface-2)}.reports-geo-filter label{display:grid;gap:6px;color:var(--app-muted);font-size:12px;font-weight:800}.reports-geo-filter select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface);color:var(--app-text)}.reports-shiakha-panel{margin-top:18px}.reports-price-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.reports-price-stats article{padding:12px;border:1px solid var(--app-border);border-radius:9px;background:var(--app-surface-2)}.reports-price-stats header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-bottom:10px}.reports-price-stats header i{width:10px;height:10px;border-radius:50%;background:var(--type-color)}.reports-price-stats header span{color:var(--app-muted);font-size:10px}.reports-price-stats article>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reports-price-stats article>div span{color:var(--app-muted);font-size:10px}.reports-price-stats article>div strong{display:block;margin-top:2px;color:var(--app-text);font-size:12px}.reports-shiakha-panel .table{min-width:720px}
@media(max-width:700px){.reports-geo-filter,.reports-price-stats{grid-template-columns:1fr}.reports-price-stats article>div{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Report map legend, visual PDF, and password visibility controls */
.reports-map-legend{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:0 0 10px;color:var(--app-text);font-size:12px}.reports-map-legend span{display:inline-flex;align-items:center;gap:6px;font-weight:800}.reports-map-legend i{width:12px;height:12px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(15,23,42,.25)}.reports-map-legend .is-qasr{background:#2563eb}.reports-map-legend .is-sayyida{background:#d6a419}.reports-map-legend small{color:var(--app-muted)}
.password-field{position:relative}.password-field .form-control{padding-inline-end:46px}.password-toggle{position:absolute;z-index:2;top:50%;inset-inline-end:7px;display:grid;place-items:center;width:34px;height:34px;padding:0;transform:translateY(-50%);border:0;border-radius:7px;background:transparent;color:var(--app-muted);cursor:pointer}.password-toggle:hover,.password-toggle:focus-visible,.password-toggle.is-visible{background:color-mix(in srgb,var(--app-accent) 14%,transparent);color:var(--app-accent)}.password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-toggle.is-visible svg{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--app-accent) 55%,transparent))}
@media print{
  @page{size:A4 landscape;margin:8mm}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  html,body{background:#fff!important;overflow:visible!important}
  .global-navbar,.reports-hero .hero-actions,.reports-geo-filter,.leaflet-control-container,.home-trust-footer{display:none!important}
  .reports-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  .reports-hero{min-height:auto!important;padding:12px!important;margin-bottom:12px!important}
  .dashboard-chart-card,.reports-map-card,.app-card,.metric-card{break-inside:avoid;page-break-inside:avoid;box-shadow:none!important}
  .reports-gis-map{height:150mm!important;min-height:150mm!important;border:1px solid #94a3b8!important}
  .reports-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .reports-governorate-hero,.reports-governorate-cards-wrap{grid-column:1/-1!important}
  .reports-governorate-card.is-extra{display:block!important}
  canvas{max-width:100%!important}
  a{text-decoration:none!important;color:inherit!important}
}

/* Shared descriptive-statistics intelligence */
.market-statistics-panel,.admin-market-statistics{margin:20px 0}.market-statistics-panel .card-heading p,.admin-market-statistics .card-heading p{margin:4px 0 0;color:var(--app-muted);font-size:12px}.statistical-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.statistical-kpi-grid article{position:relative;min-width:0;padding:14px;border:1px solid var(--app-border);border-radius:10px;background:linear-gradient(145deg,color-mix(in srgb,var(--app-accent) 7%,var(--app-surface-2)),var(--app-surface-2));overflow:hidden}.statistical-kpi-grid article::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--app-accent)}.statistical-kpi-grid span{display:block;color:var(--app-muted);font-size:11px;font-weight:800}.statistical-kpi-grid strong{display:block;margin:5px 0;color:var(--app-text);font-size:clamp(16px,2vw,23px);line-height:1.15}.statistical-kpi-grid small{display:block;color:var(--app-muted);font-size:10px}.statistical-table-wrap{border:1px solid var(--app-border);border-radius:10px}.statistical-table-wrap table{min-width:960px}.statistical-table-wrap th{white-space:nowrap;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.statistical-table-wrap td{white-space:nowrap;font-size:11px}.stat-gap{display:inline-flex;min-width:54px;justify-content:center;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,#0d9488 14%,transparent);color:#0d9488;font-weight:900}.stat-gap.is-high{background:color-mix(in srgb,#dc2626 13%,transparent);color:#dc2626}
@media(max-width:900px){.statistical-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.statistical-kpi-grid{grid-template-columns:1fr}}
.statistical-alert{margin:10px 0 14px;padding:10px 12px;border:1px solid color-mix(in srgb,#f59e0b 42%,var(--app-border));border-radius:8px;background:color-mix(in srgb,#f59e0b 10%,var(--app-surface));color:var(--app-text);font-size:11px;line-height:1.55}.statistical-alert strong{color:#f59e0b}

/* Egypt report map clusters and explicit filter application */
.reports-geo-filter{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end}.reports-geo-apply{min-height:42px;padding-inline:24px}.report-map-point-shell{background:transparent!important;border:0!important}.report-map-point{display:block;width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:var(--point-color);box-shadow:0 1px 5px rgba(15,23,42,.55)}.reports-map-legend .is-cluster{background:#d6a419}.reports-map-legend .is-point{background:#2563eb}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(214,164,25,.28)!important}.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:#d6a419!important;color:#111827!important;font-weight:900}
@media(max-width:760px){.reports-geo-filter{grid-template-columns:1fr}.reports-geo-apply{width:100%}}

/* Advanced public-market charts and inferential statistics */
.market-advanced-charts .admin-chart-wrap{min-height:320px}.inferential-statistics-panel{margin:20px 0}.inferential-statistics-panel .card-heading p{margin:4px 0 0;color:var(--app-muted);font-size:11px}.inferential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inferential-grid article{padding:16px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-surface-2)}.inferential-grid span,.inferential-grid small{display:block;color:var(--app-muted);font-size:11px}.inferential-grid strong{display:block;margin:6px 0;color:var(--app-text);font-size:20px}.inferential-grid em{display:inline-flex;margin:7px 0;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,#64748b 14%,transparent);color:var(--app-muted);font-size:10px;font-style:normal;font-weight:900}.inferential-grid em.is-significant{background:color-mix(in srgb,#0d9488 14%,transparent);color:#0d9488}.inferential-grid p,.inferential-note{margin:6px 0 0;color:var(--app-muted);font-size:11px;line-height:1.5}.inferential-note{padding-top:10px;border-top:1px solid var(--app-border)}
@media(max-width:700px){.inferential-grid{grid-template-columns:1fr}.market-advanced-charts .admin-chart-wrap{min-height:290px}}
.reports-table-caption{caption-side:top;padding:0 0 8px;color:var(--app-muted);font-size:10px;text-align:start}
.market-statistics-filter{margin:12px 0 8px}.market-statistics-scope{margin:0 0 12px;padding:8px 10px;border-radius:7px;background:color-mix(in srgb,var(--app-accent) 8%,var(--app-surface-2));color:var(--app-muted);font-size:11px}.market-statistics-scope strong{color:var(--app-text)}.market-heatmap-card .card-heading p{margin:4px 0 0;color:var(--app-muted);font-size:11px}.market-heatmap-card #marketStandaloneHeatMap{min-height:440px}.leaflet-control-layers{border:1px solid var(--app-border)!important;border-radius:9px!important;box-shadow:0 8px 24px rgba(15,23,42,.15)!important}.leaflet-control-layers-expanded{max-height:260px;overflow:auto;padding:10px 12px!important;background:rgba(255,255,255,.96)!important}.leaflet-control-layers label{margin:4px 0;font-size:11px}

/* CDN-independent market visualizations */
.market-native-chart{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(220px,1.3fr);align-items:center;gap:20px;min-height:310px;padding:16px}.market-donut{position:relative;width:min(230px,100%);aspect-ratio:1;margin:auto;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(15,23,42,.1)}.market-donut::after{content:"";position:absolute;inset:25%;border-radius:50%;background:var(--app-surface)}.market-donut>span{position:absolute;z-index:1;inset:0;display:grid;place-content:center;text-align:center;color:var(--app-text);font-size:22px;font-weight:900}.market-donut small{display:block;color:var(--app-muted);font-size:10px}.market-chart-legend{display:grid;gap:8px}.market-chart-legend span{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;color:var(--app-text);font-size:11px}.market-chart-legend i{width:10px;height:10px;border-radius:50%;background:var(--c)}.market-chart-legend strong{font-size:11px}.market-series-legend{grid-column:1/-1;display:flex;justify-content:flex-end;gap:14px;font-size:10px}.market-series-legend span{display:flex;align-items:center;gap:5px}.market-series-legend i{width:16px;height:6px;border-radius:3px;background:#2563eb}.market-series-legend i.median{opacity:.45}.market-comparison-bars{grid-column:1/-1;display:grid;gap:10px}.market-comparison-row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:8px}.market-comparison-row>strong{font-size:10px}.market-comparison-row>div{display:grid;gap:4px}.market-comparison-row span{position:relative;display:block;width:var(--w);min-width:3px;height:12px;border-radius:0 5px 5px 0;background:var(--c)}.market-comparison-row span.median{opacity:.48}.market-comparison-row em{position:absolute;left:calc(100% + 5px);top:-1px;white-space:nowrap;color:var(--app-muted);font-size:9px;font-style:normal}.market-gov-bars{grid-column:1/-1;display:grid;gap:12px;width:100%}.market-gov-bars>div{display:grid;grid-template-columns:minmax(90px,1fr) auto;gap:5px;align-items:center}.market-gov-bars span,.market-gov-bars strong{font-size:10px}.market-gov-bars i{grid-column:1/-1;display:block;width:var(--w);height:10px;border-radius:0 5px 5px 0;background:var(--c)}
@media(max-width:650px){.market-native-chart{grid-template-columns:1fr}.market-donut{width:190px}.market-comparison-row{grid-template-columns:82px 1fr}.market-comparison-row em{display:none}}

.market-heatmap-card{overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--app-surface) 96%,#dcfce7),color-mix(in srgb,var(--app-surface) 96%,#ffedd5));box-shadow:0 14px 38px rgba(15,23,42,.10)}
.market-heat-legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:0 0 10px;padding:9px 12px;border:1px solid var(--app-border);border-radius:10px;background:color-mix(in srgb,var(--app-surface) 92%,transparent);font-size:11px;color:var(--app-muted)}
.market-heat-legend span{display:flex;align-items:center;gap:6px}.market-heat-legend i{width:26px;height:8px;border-radius:999px;box-shadow:0 0 9px color-mix(in srgb,var(--heat-color) 55%,transparent);background:var(--heat-color)}
.market-heat-legend .is-low{--heat-color:#22c55e}.market-heat-legend .is-medium{--heat-color:#eab308}.market-heat-legend .is-high{--heat-color:#f97316}.market-heat-legend .is-very-high{--heat-color:#dc2626}
.market-heatmap-card #marketStandaloneHeatMap{border:1px solid color-mix(in srgb,var(--app-accent) 25%,var(--app-border));border-radius:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),0 10px 28px rgba(15,23,42,.09)}
.market-hotspot-icon{background:transparent!important;border:0!important}.market-hotspot-icon span{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--hotspot-color) 82%,white);border:2px solid white;color:white;box-shadow:0 0 0 7px color-mix(in srgb,var(--hotspot-color) 24%,transparent),0 5px 14px rgba(15,23,42,.24);animation:marketHotspotPulse 2.2s ease-out infinite}.market-hotspot-icon b{font-size:11px;text-shadow:0 1px 2px rgba(0,0,0,.3)}
@keyframes marketHotspotPulse{0%,100%{box-shadow:0 0 0 5px color-mix(in srgb,var(--hotspot-color) 28%,transparent),0 5px 14px rgba(15,23,42,.24)}50%{box-shadow:0 0 0 13px color-mix(in srgb,var(--hotspot-color) 4%,transparent),0 8px 20px rgba(15,23,42,.20)}}
@media (prefers-reduced-motion:reduce){.market-hotspot-icon span{animation:none}}
/* Continuous market heat scale and smooth canvas density layer */
.market-heat-legend{display:none!important}
.market-heat-scale{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:10px;margin:0 0 11px;padding:9px 12px;border:1px solid var(--app-border);border-radius:10px;background:color-mix(in srgb,var(--app-surface) 92%,transparent);color:var(--app-muted);font-size:11px;font-weight:700}
.market-heat-scale i{display:block;height:12px;border-radius:999px;background:linear-gradient(90deg,#22c55e 0%,#84cc16 22%,#eab308 48%,#f97316 73%,#dc2626 100%);box-shadow:0 2px 12px rgba(249,115,22,.25);border:1px solid rgba(255,255,255,.65)}

.market-advanced-charts .dashboard-chart-card{background:linear-gradient(145deg,var(--app-surface),color-mix(in srgb,var(--app-surface) 96%,#eff6ff));box-shadow:0 10px 28px rgba(15,23,42,.08)}
.market-advanced-charts .admin-chart-wrap{min-height:340px;padding:12px}

/* Production market-map empty states */
.market-widget-empty,
.market-heat-empty {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 6px;
    min-height: 180px;
    padding: 24px;
    border: 1px dashed var(--app-border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--app-surface-2) 88%, transparent);
    color: var(--app-muted);
    text-align: center;
}

.market-heat-empty {
    position: absolute;
    z-index: 500;
    inset: 50% auto auto 50%;
    width: min(420px, calc(100% - 32px));
    min-height: 0;
    transform: translate(-50%, -50%);
    background: color-mix(in srgb, var(--app-surface) 94%, transparent);
    box-shadow: 0 16px 40px rgba(15, 23, 42, .16);
}

.market-heat-empty strong,
.market-heat-empty span {
    display: block;
}

.s2-home { --s2-ink: var(--color-text); --s2-muted: var(--color-muted); --s2-surface: var(--color-surface); --s2-line: var(--color-border); --s2-green: var(--color-primary); --s2-gold: var(--color-accent); background: var(--color-background); color: var(--s2-ink); }
.s2-home *, .s2-home *::before, .s2-home *::after { box-sizing: border-box; }
.s2-main { overflow: clip; }
.s2-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.s2-band { padding: 72px 0; }
.s2-band:nth-of-type(odd) { background: color-mix(in srgb, var(--color-surface) 88%, var(--color-background)); }
.s2-hero { position: relative; min-height: min(760px, calc(100svh - 72px)); display: grid; align-items: center; isolation: isolate; color: #fff; }
.s2-hero-media, .s2-hero-overlay { position: absolute; inset: 0; }
.s2-hero-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82); }
.s2-hero-overlay { background: linear-gradient(90deg, rgba(10,27,22,.92) 0%, rgba(10,27,22,.76) 48%, rgba(10,27,22,.34) 76%, rgba(10,27,22,.18) 100%); }
[dir="rtl"] .s2-hero-overlay { background: linear-gradient(270deg, rgba(10,27,22,.92) 0%, rgba(10,27,22,.76) 48%, rgba(10,27,22,.34) 76%, rgba(10,27,22,.18) 100%); }
.s2-hero-content { position: relative; z-index: 1; width: min(1180px, calc(100% - 40px)); margin-inline: auto; padding: 72px 0 64px; }
.s2-eyebrow, .s2-kicker, .s2-section-head > div > p, .s2-cta > .s2-container > div > p { margin: 0 0 12px; color: #d7b66f; font-size: 13px; line-height: 1.4; font-weight: 800; text-transform: uppercase; }
.s2-hero h1 { margin: 0; color: #fff; font-size: clamp(48px, 7vw, 88px); line-height: .98; font-weight: 800; letter-spacing: 0; }
.s2-hero-promise { margin: 16px 0 0; max-width: 780px; color: #fff; font-size: clamp(26px, 3.3vw, 44px); line-height: 1.14; font-weight: 700; }
.s2-hero-summary { max-width: 700px; margin: 20px 0 0; color: rgba(255,255,255,.84); font-size: 18px; line-height: 1.7; }
.s2-hero-actions, .s2-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.s2-btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 20px; border: 1px solid transparent; border-radius: var(--radius-md); font-size: 15px; font-weight: 800; text-decoration: none; transition: transform .18s ease, background-color .18s ease, border-color .18s ease; }
.s2-btn:hover { transform: translateY(-1px); }
.s2-btn .ui-icon { width: 19px; height: 19px; }
.s2-btn-primary { background: var(--s2-gold); color: #16231d; }
.s2-btn-secondary { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.09); color: #fff; backdrop-filter: blur(8px); }
.s2-global-search { width: min(920px, 100%); margin-top: 38px; display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 9px; background: #fff; border-radius: var(--radius-lg); box-shadow: 0 18px 44px rgba(0,0,0,.22); color: #16231d; }
.s2-search-input-wrap { position: relative; min-width: 0; display: flex; align-items: center; }
.s2-search-icon { flex: 0 0 auto; width: 22px; height: 22px; margin-inline: 12px 4px; color: #52635c; }
.s2-global-search input { width: 100%; min-height: 52px; border: 0; outline: 0; background: transparent; color: #16231d; font-size: 17px; }
.s2-global-search input::placeholder { color: #6b7973; opacity: 1; }
.s2-search-submit { min-width: 126px; min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: var(--radius-md); background: var(--s2-green); color: #fff; font-size: 15px; font-weight: 800; cursor: pointer; }
.s2-suggestions { position: absolute; z-index: 20; top: calc(100% + 12px); inset-inline: 0; padding: 8px; background: var(--s2-surface); color: var(--s2-ink); border: 1px solid var(--s2-line); border-radius: var(--radius-md); box-shadow: var(--shadow-lg); }
.s2-suggestions button { width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 10px; border: 0; border-radius: var(--radius-sm); background: transparent; color: inherit; text-align: start; cursor: pointer; }
.s2-suggestions button:hover, .s2-suggestions button:focus-visible { background: var(--color-hover); }
.s2-suggestions button span { display: inline-flex; align-items: center; gap: 9px; font-weight: 700; }
.s2-suggestions button small { color: var(--s2-muted); }
.s2-search-hints { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 12px; color: rgba(255,255,255,.72); font-size: 13px; }
.s2-search-hints button { border: 0; border-bottom: 1px solid rgba(255,255,255,.46); background: transparent; color: #fff; padding: 3px 2px; cursor: pointer; }
.s2-section-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 28px; }
.s2-section-head > div > p, .s2-kicker { color: var(--s2-gold); }
.s2-section-head h2, .s2-map-copy h2, .s2-cta h2 { margin: 0; color: var(--s2-ink); font-size: clamp(28px, 3.2vw, 42px); line-height: 1.14; font-weight: 800; letter-spacing: 0; }
.s2-section-head > p { max-width: 500px; margin: 0; color: var(--s2-muted); line-height: 1.7; }
.s2-section-head-centered { display: block; max-width: 780px; margin-inline: auto; text-align: center; }
.s2-section-head-centered > p { margin: 14px auto 0; }
.s2-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.s2-action-card { min-height: 106px; display: flex; align-items: center; gap: 16px; padding: 20px; border: 1px solid var(--s2-line); border-radius: var(--radius-md); background: var(--s2-surface); color: var(--s2-ink); text-decoration: none; box-shadow: var(--shadow-sm); transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.s2-action-card:hover { transform: translateY(-2px); border-color: var(--s2-gold); box-shadow: var(--shadow-md); }
.s2-action-card > .ui-icon { flex: 0 0 auto; width: 28px; height: 28px; color: var(--s2-green); }
.s2-action-card span { min-width: 0; display: grid; gap: 5px; }
.s2-action-card strong { font-size: 17px; }
.s2-action-card small { color: var(--s2-muted); font-size: 13px; line-height: 1.4; }
.s2-text-link, .s2-card-link { display: inline-flex; align-items: center; gap: 7px; color: var(--s2-green); font-weight: 800; text-decoration: none; }
.s2-text-link .ui-icon, .s2-card-link .ui-icon { width: 17px; height: 17px; }
.s2-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--s2-line); border-radius: var(--radius-md); background: var(--s2-surface); overflow: hidden; box-shadow: var(--shadow-sm); }
.s2-stat-grid article { min-height: 154px; display: flex; flex-direction: column; justify-content: center; padding: 24px; border-inline-end: 1px solid var(--s2-line); }
.s2-stat-grid article:last-child { border-inline-end: 0; }
.s2-stat-grid span { color: var(--s2-muted); font-size: 13px; font-weight: 700; }
.s2-stat-grid strong { margin: 8px 0 5px; color: var(--s2-green); font-size: 34px; line-height: 1; }
.s2-stat-grid small { color: var(--s2-muted); }
.s2-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--s2-line); border: 1px solid var(--s2-line); border-radius: var(--radius-md); overflow: hidden; }
.s2-benefit-grid article { min-height: 220px; padding: 30px; background: var(--s2-surface); }
.s2-benefit-grid .ui-icon { width: 28px; height: 28px; color: var(--s2-gold); }
.s2-benefit-grid h3 { margin: 22px 0 10px; font-size: 19px; }
.s2-benefit-grid p { margin: 0; color: var(--s2-muted); line-height: 1.7; }
.s2-carousel-controls { display: flex; gap: 8px; }
.s2-carousel-controls button { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--s2-line); border-radius: 50%; background: var(--s2-surface); color: var(--s2-ink); cursor: pointer; }
.s2-carousel-controls .ui-icon { width: 19px; height: 19px; }
.s2-property-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px, 31.8%); gap: 18px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: thin; padding: 2px 2px 18px; }
.s2-property-card { scroll-snap-align: start; min-width: 0; overflow: hidden; border: 1px solid var(--s2-line); border-radius: var(--radius-md); background: var(--s2-surface); box-shadow: var(--shadow-sm); }
.s2-property-media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--color-neutral-100); }
.s2-property-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.s2-property-card:hover .s2-property-media img { transform: scale(1.025); }
.s2-ai-badge { position: absolute; inset-block-start: 12px; inset-inline-start: 12px; padding: 6px 9px; border-radius: var(--radius-sm); background: rgba(15,35,27,.88); color: #fff; font-size: 11px; font-weight: 800; }
.s2-property-body { padding: 18px; }
.s2-property-price { color: var(--s2-green); font-size: 21px; }
.s2-property-body h3 { margin: 8px 0; font-size: 18px; line-height: 1.35; }
.s2-property-body h3 a { color: var(--s2-ink); text-decoration: none; }
.s2-property-body > p { min-height: 42px; display: flex; gap: 7px; margin: 0; color: var(--s2-muted); font-size: 13px; line-height: 1.55; }
.s2-property-body > p .ui-icon { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 2px; }
.s2-property-body dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0; padding: 14px 0; border-block: 1px solid var(--s2-line); }
.s2-property-body dl div { min-width: 0; }
.s2-property-body dt { color: var(--s2-muted); font-size: 11px; }
.s2-property-body dd { margin: 4px 0 0; overflow: hidden; color: var(--s2-ink); font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.s2-map-layout { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); gap: 54px; align-items: center; }
.s2-map-copy > p:not(.s2-kicker) { margin: 18px 0; color: var(--s2-muted); font-size: 16px; line-height: 1.75; }
.s2-map-copy ul { display: grid; gap: 12px; margin: 24px 0; padding: 0; list-style: none; }
.s2-map-copy li { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.s2-map-copy li .ui-icon { width: 19px; height: 19px; color: var(--s2-gold); }
.s2-map-frame { overflow: hidden; border: 1px solid var(--s2-line); border-radius: var(--radius-md); background: var(--s2-surface); box-shadow: var(--shadow-md); }
.s2-map-toolbar { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; border-bottom: 1px solid var(--s2-line); }
.s2-map-toolbar > span:first-child { display: grid; }
.s2-map-toolbar small { color: var(--s2-muted); }
.s2-live-dot { display: inline-flex; align-items: center; gap: 7px; color: var(--color-success); font-size: 12px; font-weight: 800; }
.s2-live-dot::before { width: 7px; height: 7px; border-radius: 50%; background: currentColor; content: ""; }
.s2-map { height: 420px; background: var(--color-neutral-100); }
.s2-map-fallback { height: 100%; display: grid; place-content: center; gap: 8px; text-align: center; color: var(--s2-muted); }
.s2-map-fallback strong { color: var(--s2-ink); }
.s2-map .leaflet-control-attribution { font-size: 9px; }
.s2-map-popup { display: grid; gap: 4px; min-width: 150px; }
.s2-map-popup span { color: #52635c; font-size: 12px; }
.s2-trust { padding-block: 56px; }
.s2-trust-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid var(--s2-line); }
.s2-trust-grid article { min-height: 106px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 20px; border-inline-end: 1px solid var(--s2-line); text-align: center; }
.s2-trust-grid article:last-child { border-inline-end: 0; }
.s2-trust-grid .ui-icon { width: 22px; height: 22px; color: var(--s2-gold); }
.s2-cta { padding: 64px 0; background: #123f31; color: #fff; }
.s2-cta > .s2-container { display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.s2-cta h2 { max-width: 720px; color: #fff; }
.s2-cta > .s2-container > div > span { display: block; margin-top: 12px; color: rgba(255,255,255,.76); }
.s2-cta-actions { flex: 0 0 auto; margin: 0; }
.s2-btn-light { background: #fff; color: #123f31; }
.s2-btn-outline-light { border-color: rgba(255,255,255,.5); color: #fff; }
.s2-home .leaflet-container a { color: #123f31; }
[data-bs-theme="dark"] .s2-hero-overlay { background: linear-gradient(90deg, rgba(5,16,12,.95), rgba(5,16,12,.74) 58%, rgba(5,16,12,.32)); }
[dir="rtl"][data-bs-theme="dark"] .s2-hero-overlay { background: linear-gradient(270deg, rgba(5,16,12,.95), rgba(5,16,12,.74) 58%, rgba(5,16,12,.32)); }
@media (max-width: 980px) {
  .s2-band { padding: 58px 0; }
  .s2-action-grid, .s2-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .s2-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .s2-stat-grid article:nth-child(2) { border-inline-end: 0; }
  .s2-stat-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--s2-line); }
  .s2-property-track { grid-auto-columns: minmax(300px, 47%); }
  .s2-map-layout { grid-template-columns: 1fr; gap: 30px; }
  .s2-map-copy { max-width: 700px; }
  .s2-trust-grid { grid-template-columns: repeat(2, 1fr); }
  .s2-trust-grid article:nth-child(2) { border-inline-end: 0; }
  .s2-trust-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--s2-line); }
  .s2-cta > .s2-container { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 640px) {
  .s2-container, .s2-hero-content { width: min(100% - 28px, 1180px); }
  .s2-band { padding: 44px 0; }
  .s2-hero { min-height: 720px; align-items: end; }
  .s2-hero-content { padding: 76px 0 34px; }
  .s2-hero h1 { font-size: 48px; }
  .s2-hero-promise { font-size: 27px; }
  .s2-hero-summary { font-size: 15px; }
  .s2-hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .s2-btn { padding-inline: 14px; font-size: 13px; }
  .s2-global-search { grid-template-columns: 1fr; margin-top: 24px; padding: 7px; }
  .s2-global-search input { font-size: 16px; }
  .s2-search-submit { width: 100%; min-height: 46px; }
  .s2-search-hints { display: none; }
  .s2-section-head { align-items: flex-start; flex-direction: column; gap: 12px; }
  .s2-section-head h2, .s2-map-copy h2, .s2-cta h2 { font-size: 29px; }
  .s2-action-grid { grid-template-columns: 1fr; gap: 10px; }
  .s2-action-card { min-height: 86px; padding: 16px; }
  .s2-stat-grid { grid-template-columns: 1fr 1fr; }
  .s2-stat-grid article { min-height: 128px; padding: 16px; }
  .s2-stat-grid strong { font-size: 28px; }
  .s2-benefit-grid { grid-template-columns: 1fr; }
  .s2-benefit-grid article { min-height: 0; padding: 24px; }
  .s2-property-track { grid-auto-columns: 86%; }
  .s2-map { height: 360px; }
  .s2-trust-grid { grid-template-columns: 1fr; }
  .s2-trust-grid article, .s2-trust-grid article:nth-child(2) { min-height: 74px; border-inline-end: 0; border-bottom: 1px solid var(--s2-line); }
  .s2-trust-grid article:last-child { border-bottom: 0; }
  .s2-cta-actions { width: 100%; display: grid; grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .s2-home *, .s2-home *::before, .s2-home *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
