/* ============================================================
   Theme 2 — Estate Illustrated
   Lifted from the Anthropic Design handoff (home-illustrated.html)
   and adapted to be the standalone public stylesheet for theme2.
   ============================================================ */

:root {
    --ink:#0E1A2B; --ink-soft:#1F2C3E; --ink-deep:#07111E;
    --bone:#F5F1E8; --cream:#FBF8F1; --paper:#FFFCF6; --stone:#ECE7DD;
    --brass:#B08A4A; --brass-soft:#D9C39A; --brass-deep:#8B6A33;
    --charcoal:#2A2622; --mute:#6E665C;
    --hair:rgba(14,26,43,0.12); --hair-strong:rgba(14,26,43,0.2);
    --serif:"Playfair Display", Georgia, serif;
    --sans:"DM Sans", system-ui, sans-serif;
    --mono:"DM Mono", "JetBrains Mono", monospace;
}

*, *::before, *::after { box-sizing:border-box; }
html, body { margin:0; padding:0; background: var(--bone); color: var(--charcoal); font-family: var(--sans); font-size:16px; line-height:1.5; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }

/* ── Layout ─────────────────────────────────────────────── */
.wrap { max-width:1440px; margin:0 auto; padding:0 64px; }
.narrow { max-width:1280px; margin:0 auto; padding:0 64px; }

/* ── Type ───────────────────────────────────────────────── */
h1, h2, h3, h4, h5 { margin:0; font-family: var(--serif); font-weight:500; color: var(--ink); letter-spacing:-0.018em; }
.display { font-size:84px; line-height:0.98; letter-spacing:-0.025em; }
.h1 { font-size:64px; line-height:1.02; letter-spacing:-0.022em; }
.h2 { font-size:48px; line-height:1.05; letter-spacing:-0.018em; }
.h3 { font-size:32px; line-height:1.15; letter-spacing:-0.012em; }
.h4 { font-size:24px; line-height:1.25; }
.h5 { font-size:18px; line-height:1.35; }
.ital { font-style:italic; font-weight:400; color: var(--brass); }
.lead { font-family: var(--serif); font-style:italic; font-size:22px; line-height:1.45; color: var(--ink-soft); }
.eyebrow { font-family: var(--sans); font-weight:600; font-size:12px; letter-spacing:0.32em; text-transform:uppercase; color: var(--brass); }
.eyebrow.mute { color: var(--mute); }
.body { font-size:16px; line-height:1.6; color: var(--charcoal); }
.small { font-size:13px; line-height:1.55; color: var(--mute); }
.mono { font-family: var(--mono); }

/* ── Atoms ──────────────────────────────────────────────── */
.hr { height:1px; background: var(--hair); border:0; margin:0; }
.brass-rule { height:1px; background: var(--brass); }
.seal {
    display:inline-flex; align-items:center; justify-content:center;
    width:56px; height:56px; border-radius:50%;
    border:1px solid var(--brass); color: var(--brass);
    font-family: var(--serif); font-style:italic; font-size:28px; line-height:1;
    background: rgba(176,138,74,0.04);
}
.seal.dark { border-color: var(--brass-soft); color: var(--brass-soft); }
.seal.solid { background: var(--brass); color: var(--bone); border-color: var(--brass); }
.tag {
    display:inline-block; padding:6px 12px;
    font-size:10px; letter-spacing:0.28em; text-transform:uppercase;
    background: var(--ink); color: var(--brass-soft); font-weight:600;
}
.tag.brass { background: var(--brass); color: var(--bone); }
.tag.ghost { background:transparent; color: var(--ink); border:1px solid var(--ink); }
.pill {
    display:inline-flex; align-items:center; gap:8px;
    padding:6px 12px; border:1px solid var(--brass);
    font-size:10px; letter-spacing:0.24em; text-transform:uppercase;
    color: var(--brass); font-weight:600;
}

.btn {
    display:inline-flex; align-items:center; justify-content:center; gap:14px;
    font-family: var(--sans); font-weight:600; font-size:13px;
    letter-spacing:0.24em; text-transform:uppercase;
    padding:18px 28px; border:0; transition: background .2s, color .2s, border-color .2s;
    cursor:pointer;
}
.btn.primary { background: var(--ink); color: var(--bone); }
.btn.primary:hover { background: var(--ink-soft); }
.btn.brass { background: var(--brass); color: var(--bone); }
.btn.brass:hover { background: var(--brass-deep); }
.btn.ghost { background:transparent; color: var(--ink); border:1px solid var(--ink); }
.btn.ghost:hover { background: var(--ink); color: var(--bone); }
.btn.ghost-light { background:transparent; color: var(--bone); border:1px solid var(--brass-soft); }
.btn.ghost-light:hover { background: rgba(245,241,232,0.08); border-color: var(--bone); }
.btn .arr { font-family: var(--serif); font-style:italic; font-size:18px; letter-spacing:0; text-transform:none; color: var(--brass-soft); }
.btn.brass .arr, .btn.ghost .arr { color: currentColor; opacity:0.85; }

/* ── Section spacing ────────────────────────────────────── */
body.page-home .section { padding:96px 0; }
body.page-home .section-tight { padding:64px 0; }
body.page-home .section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; margin-bottom:48px; flex-wrap:wrap; }
body.page-home .section-head .title { max-width:760px; }
body.page-home .section-head .meta { display:flex; align-items:center; gap:24px; }

/* ── NAV ────────────────────────────────────────────────── */
/* Specificity-boosted selector beats legacy ``.site-nav`` rules in public.css
   so the new chrome wins on every public page, not just the home. */
.nav.site-nav {
    background: transparent;
    border-bottom: 0;
    margin: 0;
    height: auto;
}
.nav {
    position:absolute; top:0; left:0; right:0; z-index:40;
    padding:24px 64px;
    display:flex; align-items:center; justify-content:space-between;
    color: var(--bone);
}
.nav .lockup { display:flex; align-items:center; gap:14px; text-decoration:none; color:inherit; }
.nav .lockup .mark {
    width:48px; height:48px; border:1px solid var(--brass-soft);
    display:flex; align-items:center; justify-content:center;
    font-family: var(--serif); font-style:italic; color: var(--brass-soft); font-size:26px;
}
.nav .lockup .text { line-height:1; }
.nav .lockup .text .a { font-family: var(--serif); font-weight:600; font-size:18px; letter-spacing:0.06em; color: var(--bone); }
.nav .lockup .text .b { font-family: var(--serif); font-style:italic; font-size:13px; letter-spacing:0.18em; color: var(--brass-soft); margin-top:4px; text-transform:uppercase; }
.nav .menu { display:flex; align-items:center; gap:36px; }
.nav .menu a { font-size:12px; letter-spacing:0.28em; text-transform:uppercase; font-weight:600; color: var(--bone); opacity:0.85; padding:6px 0; border-bottom:1px solid transparent; }
.nav .menu a:hover, .nav .menu a.active { opacity:1; color: var(--brass-soft); border-bottom-color: var(--brass-soft); }
.nav .actions { display:flex; align-items:center; gap:14px; }
.nav .actions .btn { padding:13px 22px; font-size:11px; }
.nav .ico {
    width:42px; height:42px; border:1px solid var(--brass-soft);
    border-radius:50%; display:flex; align-items:center; justify-content:center;
    color: var(--brass-soft);
}
.nav .ico:hover { color: var(--bone); border-color: var(--bone); }

/* Solid nav variant for non-home pages */
body:not(.page-home) .nav.site-nav {
    position:relative; background: var(--ink); padding:18px 64px;
    border-bottom: 1px solid var(--brass);
}
body:not(.page-home) .nav .lockup .text .a { color: var(--bone); }

/* Inner photo-hero pages: transparent nav over the hero (matches public.css) */
body.page-opportunities .nav.site-nav,
body.page-suburb-profiles .nav.site-nav,
body.page-news .nav.site-nav,
body.page-fhb-hub .nav.site-nav,
body.page-inv-hub .nav.site-nav,
body.page-suburb-detail .nav.site-nav,
body.page-property-detail .nav.site-nav,
body.page-member .nav.site-nav,
body.page-sold-roundup .nav.site-nav,
body.page-contact .nav.site-nav,
body.page-partner-preview-gate .nav.site-nav {
    position: sticky;
    top: 0;
    z-index: 40;
    background: transparent;
    border-bottom: 0;
}

/* Mobile menu toggle (hidden on desktop) */
.nav .menu-toggle {
    display:none; background:transparent; border:1px solid var(--brass-soft); color: var(--brass-soft);
    width:42px; height:42px; border-radius:4px; align-items:center; justify-content:center;
}
.nav .menu-toggle svg { width:20px; height:20px; }

/* Home: sit logo/menu below the hero keyline top edge (keyline inset is 24px). */
body.page-home .nav {
    padding-top: 36px;
}

/* ── HERO ───────────────────────────────────────────────── */
body.page-home .hero {
    position:relative; min-height:820px;
    background:
        linear-gradient(180deg, rgba(7,17,30,0.55) 0%, rgba(7,17,30,0.4) 50%, rgba(7,17,30,0.7) 100%),
        var(--hero-image, none);
    background-size:cover; background-position:center;
    color: var(--bone);
    display:flex; flex-direction:column;
}
body.page-home .hero .keyline { position:absolute; inset:24px; border:1px solid rgba(217,195,154,0.3); pointer-events:none; z-index:1; }
body.page-home .hero .inner { position:relative; flex:1; display:grid; grid-template-columns: 1.15fr 1fr; gap:80px; align-items:center; padding: 220px 64px 140px; }
body.page-home .hero .copy h1 { color: var(--bone); }
body.page-home .hero .copy .eyebrow { color: var(--brass-soft); }
body.page-home .hero .copy .bullets { display:flex; flex-direction:column; gap:14px; margin-top:36px; padding:0; }
body.page-home .hero .copy .bullets li { list-style:none; display:flex; align-items:flex-start; gap:14px; font-size:17px; color: var(--bone); }
body.page-home .hero .copy .bullets li .tk { color: var(--brass-soft); font-family: var(--serif); font-style:italic; font-size:22px; line-height:1; margin-top:-2px; flex:0 0 auto; }

/* Lead form card */
body.page-home .lead-card {
    background: var(--bone); color: var(--charcoal);
    padding:36px;
    box-shadow: 0 40px 100px -40px rgba(7,17,30,0.5);
    position:relative; overflow:hidden;
}
body.page-home .lead-card::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background: var(--brass); }
body.page-home .lead-card h3 { color: var(--ink); margin-bottom:6px; }
body.page-home .lead-card .sub { font-family: var(--serif); font-style:italic; color: var(--mute); font-size:16px; }
.field { display:flex; flex-direction:column; gap:6px; margin-top:18px; }
.field label { font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color: var(--mute); font-weight:600; }
.field input, .field select, .field textarea {
    font-family: var(--sans); font-size:15px;
    background: var(--paper); border:1px solid var(--hair);
    padding:14px 16px; color: var(--ink);
    border-radius:0;
}
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color: var(--brass); }
body.page-home .lead-card .btn { width:100%; margin-top:22px; }
body.page-home .lead-card .fineprint { font-size:11px; color: var(--mute); margin-top:14px; text-align:center; letter-spacing:0.02em; }
body.page-home .lead-card .fineprint a { color: var(--brass); border-bottom:1px solid var(--brass); }

/* Form feedback */
body.page-home .lead-msg { display:none; padding:14px 16px; margin-top:14px; font-size:13px; }
body.page-home .lead-msg.success { background: rgba(176,138,74,0.1); color: var(--ink); border-left:3px solid var(--brass); }
body.page-home .lead-msg.error { background: rgba(180,40,40,0.08); color: #842323; border-left:3px solid #842323; }
body.page-home .lead-msg.show { display:block; }
body.page-home .spinner-sm { display:inline-block; width:14px; height:14px; border:2px solid rgba(255,255,255,0.35); border-top-color: #fff; border-radius:50%; animation: estate-spin 0.8s linear infinite; vertical-align:middle; }
@keyframes estate-spin { to { transform: rotate(360deg); } }

/* ── Property cards (home, opportunities, suburb profile, hubs) ── */
.listing {
    background: var(--cream); border:1px solid var(--hair);
    overflow:hidden;
    text-decoration:none; color: inherit;
    transition: box-shadow .25s, transform .25s, border-color .25s;
}
.listing:hover,
.listing:focus-visible {
    text-decoration: none;
    box-shadow: 0 24px 48px -24px rgba(7,17,30,0.18), inset 0 -2px 0 var(--brass);
    transform: translateY(-2px);
    border-bottom-color: var(--brass);
}
.listing .photo {
    position:relative; min-height:420px;
    background-size:cover; background-position:center;
    background-color: var(--ink);
}
.listing .photo .badges { position:absolute; top:18px; left:18px; display:flex; gap:8px; flex-wrap:wrap; }
.listing .photo .price-tag {
    position:absolute; bottom:18px; right:18px;
    background: var(--ink); color: var(--bone);
    padding:10px 16px; font-family: var(--serif); font-size:20px; letter-spacing:-0.01em;
}
.listing .copy { padding:36px 36px 32px; display:flex; flex-direction:column; }
.listing .copy .top { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.listing .copy h3 { font-size:36px; letter-spacing:-0.015em; }
.listing .copy .addr { font-family: var(--sans); color: var(--charcoal); margin-top:6px; font-size:15px; line-height:1.5; max-width:520px; }
.listing .spec {
    display:grid; grid-template-columns: repeat(3, 1fr); gap:14px;
    margin-top:22px; padding-top:22px; border-top:1px solid var(--hair);
}
.listing .spec .s .l { font-size:9px; letter-spacing:0.28em; text-transform:uppercase; color: var(--mute); font-weight:600; }
.listing .spec .s .v { font-family: var(--sans); font-weight:600; font-size:16px; color: var(--ink); margin-top:4px; letter-spacing:-0.005em; }
.listing .copy .foot { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:24px; }
.listing .copy .foot .price { font-family: var(--serif); font-size:28px; color: var(--ink); }
.listing .copy .foot .more { font-size:11px; letter-spacing:0.32em; text-transform:uppercase; color: var(--brass); font-weight:600; }

.pop-card {
    background: var(--cream); border:1px solid var(--hair);
    display:flex; flex-direction:column; overflow:hidden;
    transition: box-shadow .25s, border-color .25s;
    text-decoration:none; color:inherit;
}
.pop-card:hover,
.pop-card:focus-visible {
    text-decoration: none;
    box-shadow: 0 24px 48px -24px rgba(7,17,30,0.18), inset 0 -2px 0 var(--brass);
    border-bottom-color: var(--brass);
}
.pop-card .img { height:220px; background-size:cover; background-position:center; position:relative; background-color: var(--ink); }
.pop-card .img .badge { position:absolute; top:12px; left:12px; }
.pop-card .img .right { position:absolute; top:12px; right:12px; }
.pop-card .body { padding:22px 24px 22px; display:flex; flex-direction:column; flex:1; }
.pop-card .body h4 { font-size:22px; }
.pop-card .body .price { font-family: var(--serif); font-size:22px; color: var(--brass); margin-top:2px; }
.pop-card .body .price .featured-home-price,
.pop-card .body .price .featured-home-price--tbc { font: inherit; color: inherit; letter-spacing: inherit; }
.pop-card .body .price .gated-price-placeholder { font-family: var(--sans); font-size: 0.82rem; font-weight: 600; color: var(--mute); }
.pop-card .body .addr { font-size:15px; line-height:1.55; color: var(--charcoal); margin-top:8px; margin-bottom:20px; }
.pop-card .spec { display:flex; gap:18px; padding-top:16px; margin-top:auto; border-top:1px solid var(--hair); flex-wrap:wrap; }
.pop-card .spec .s { display:flex; flex-direction:column; gap:4px; min-width:54px; }
.pop-card .spec .s .l { font-size:9px; letter-spacing:0.24em; text-transform:uppercase; color: var(--mute); font-weight:600; }
.pop-card .spec .s .v { font-family: var(--sans); font-weight:600; font-size:14px; color: var(--ink); letter-spacing:-0.005em; }

/* Sold listings — prominent badge, overlay, and status line */
.tag--sold {
    padding: 8px 16px;
    font-size: 11px;
    letter-spacing: 0.34em;
    font-weight: 700;
}
.pop-card--sold .img::after,
.listing--sold .photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(14, 26, 43, 0.38);
    pointer-events: none;
    z-index: 1;
}
.pop-card--sold .img .badge,
.pop-card--sold .img .right,
.listing--sold .photo .badges,
.listing--sold .photo .price-tag {
    z-index: 2;
}

/* Red SOLD stamp over card imagery (decorative; card link stays clickable) */
.sold-stamp-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 4;
}
.sold-stamp-overlay .sold-stamp-text {
    display: inline-block;
    font-family: "Impact", "Arial Black", sans-serif;
    font-weight: 900;
    letter-spacing: 0.12em;
    color: #c62828;
    background: rgba(255, 255, 255, 0.1);
    border: 5px solid #c62828;
    padding: 10px 24px 7px;
    border-radius: 10px;
    text-transform: uppercase;
    transform: rotate(-12deg);
    opacity: 0.88;
    text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.25),
        0 2px 6px rgba(0, 0, 0, 0.25);
    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, 0.35),
        0 6px 20px rgba(0, 0, 0, 0.18);
}
.sold-stamp-overlay--pop-card .sold-stamp-text {
    font-size: clamp(28px, 11vw, 48px);
    border-width: 4px;
    padding: 8px 18px 6px;
}
.sold-stamp-overlay--listing .sold-stamp-text {
    font-size: clamp(40px, 9vw, 88px);
    border-width: 6px;
    padding: 12px 32px 8px;
}

.pop-card .status-sold,
.listing .status-sold {
    font-family: var(--serif);
    font-size: 28px;
    font-weight: 500;
    color: #c62828;
    line-height: 1.05;
    letter-spacing: -0.01em;
}
.pop-card .status-sold {
    margin-top: 6px;
}
.pop-card .status-sold + .addr {
    margin-top: 10px;
}
.listing .copy .top .status-sold {
    font-size: 34px;
    margin-top: 8px;
}
.listing .copy .foot--sold {
    justify-content: flex-end;
}

/* ── Featured listings (home layout) ───────────────────── */
body.page-home .feat-grid { display:grid; grid-template-columns: 2.1fr 1fr; gap:32px; align-items:start; }
body.page-home .feat-list { display:flex; flex-direction:column; gap:32px; }

body.page-home .listing {
    display:grid; grid-template-columns: 1.15fr 1fr;
}

/* News rail */
body.page-home .news-rail { display:flex; flex-direction:column; gap:24px; position:sticky; top:32px; }
body.page-home .news-rail .header { display:flex; justify-content:space-between; align-items:baseline; }
body.page-home .news-rail .header h3 { font-size:24px; }
body.page-home .news-rail .header a { font-size:11px; letter-spacing:0.28em; text-transform:uppercase; color: var(--brass); font-weight:600; }
body.page-home .news-item { background: var(--cream); border:1px solid var(--hair); display:block; color:inherit; }
body.page-home .news-item:hover { box-shadow: 0 18px 36px -22px rgba(7,17,30,0.18); }
body.page-home .news-item .img { height:140px; background-size:cover; background-position:center; background-color: var(--stone); }
body.page-home .news-item .body { padding:18px 20px 20px; }
body.page-home .news-item .cat { font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color: var(--brass); font-weight:600; }
body.page-home .news-item h4 { font-family: var(--serif); font-size:18px; line-height:1.3; margin-top:6px; color: var(--ink); }
body.page-home .news-item .excerpt { font-size:13px; line-height:1.5; color: var(--mute); margin-top:8px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
body.page-home .news-item .more { font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color: var(--brass); font-weight:600; margin-top:10px; display:inline-block; }

/* List with us (partner agents & private sellers) */
body.page-home .list-with { background: var(--ink); color: var(--bone); position:relative; overflow:hidden; padding:72px 0; }
body.page-home .list-with::before { content:""; position:absolute; inset:32px; border:1px solid var(--brass); opacity:0.2; pointer-events:none; }
body.page-home .list-with .ital { color: var(--brass-soft); }
body.page-home .list-grid {
    display:grid; grid-template-columns: 1.05fr 1fr; gap:48px;
    align-items:stretch; position:relative;
}
body.page-home .list-col {
    display:flex; flex-direction:column; gap:20px; min-height:0;
}
body.page-home .list-col-intro { flex:0 0 auto; }
body.page-home .list-col-intro .eyebrow { color: var(--brass-soft); }
body.page-home .list-col-title {
    color: var(--bone); margin-top:10px; font-size:40px; line-height:1.08;
    letter-spacing:-0.02em;
}
body.page-home .list-col-phrase { white-space:nowrap; }
body.page-home .list-col-lead {
    font-family: var(--serif); font-style:italic; font-size:20px; line-height:1.35;
    color: var(--brass-soft); margin:12px 0 0; max-width:none;
    white-space:nowrap;
}
body.page-home .ledger {
    flex:1 1 auto; display:flex; flex-direction:column; min-height:0;
    background: var(--ink-soft); border:1px solid rgba(176,138,74,0.22);
    padding:20px 22px 18px;
}
body.page-home .ledger-head {
    display:flex; justify-content:space-between; align-items:baseline;
    padding-bottom:12px; border-bottom:1px solid rgba(176,138,74,0.25);
    flex:0 0 auto;
}
body.page-home .ledger-head .e { font-size:10px; letter-spacing:0.32em; text-transform:uppercase; color: var(--brass-soft); font-weight:600; }
body.page-home .ledger-head .u { font-family: var(--serif); font-style:italic; font-size:13px; color: var(--brass); }
body.page-home .net-stats {
    display:grid; grid-template-columns: 1fr 1fr 1fr; gap:16px;
    padding:14px 0 12px; border-bottom:1px solid rgba(176,138,74,0.18);
    flex:0 0 auto;
}
body.page-home .net-stat .l { font-family: var(--mono); font-size:9px; letter-spacing:0.2em; text-transform:uppercase; color: var(--brass-soft); font-weight:600; }
body.page-home .net-stat .v { font-family: var(--serif); font-weight:500; font-size:36px; color: var(--bone); line-height:0.95; letter-spacing:-0.02em; margin-top:4px; }
body.page-home .net-stat .v .pct { color: var(--brass); font-style:italic; font-size:24px; }
body.page-home .net-stat .sub { font-size:11px; color: rgba(245,241,232,0.6); margin-top:4px; line-height:1.35; }
body.page-home .net-stat .trend { font-family: var(--mono); font-size:9px; letter-spacing:0.16em; color: var(--brass); font-weight:600; margin-top:4px; }
body.page-home .agent-features {
    flex:1 1 auto; display:grid; grid-template-columns: repeat(2, 1fr); gap:10px;
    padding:12px 0 0; min-height:0; align-content:stretch;
}
body.page-home .agent-feat {
    background: rgba(31,44,62,0.55); border:1px solid rgba(176,138,74,0.22);
    padding:12px 14px 14px; display:flex; flex-direction:column;
}
body.page-home .agent-feat .roman {
    font-family: var(--mono); font-size:11px; letter-spacing:0.16em;
    color: var(--brass); font-weight:600; line-height:1;
}
body.page-home .agent-feat h4 { color: var(--bone); margin-top:6px; font-size:18px; line-height:1.22; }
body.page-home .agent-feat p {
    font-size:13px; line-height:1.45; color: rgba(245,241,232,0.72); margin-top:6px;
}
body.page-home .ledger-foot {
    flex:0 0 auto; padding-top:10px; margin-top:10px;
    border-top:1px solid rgba(176,138,74,0.22); text-align:center;
    font-size:10px; letter-spacing:0.28em; text-transform:uppercase;
    color: var(--brass-soft); font-weight:600;
}
body.page-home .list-form--align { height:100%; box-sizing:border-box; }
body.page-home .list-form { background: var(--bone); color: var(--charcoal); padding:32px 34px; box-shadow: 0 40px 80px -40px rgba(7,17,30,0.5); position:relative; }
body.page-home .list-form .field { margin-top:14px; }
body.page-home .list-form .seg { margin-top:18px; }
body.page-home .list-form::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background: var(--brass); }
body.page-home .list-form .eyebrow { color: var(--brass); }
body.page-home .list-form h3 { color: var(--ink); font-family: var(--serif); font-weight:500; font-size:30px; line-height:1.1; margin-top:10px; }
body.page-home .list-form .sub { font-family: var(--serif); font-style:italic; color: var(--mute); font-size:16px; margin-top:8px; }
body.page-home .list-form .seg { display:grid; grid-template-columns: 1fr 1fr; gap:6px; margin-top:24px; padding:4px; background: var(--paper); border:1px solid var(--hair); }
body.page-home .list-form .seg label { display:flex; align-items:center; justify-content:center; gap:8px; padding:14px 12px; cursor:pointer; font-family: var(--sans); font-size:13px; letter-spacing:0.04em; color: var(--mute); font-weight:600; transition: background .2s, color .2s; border:1px solid transparent; min-height:48px; }
body.page-home .list-form .seg label input { display:none; }
body.page-home .list-form .seg label.on { background: var(--ink); color: var(--bone); border-color: var(--ink); }
body.page-home .list-form .field-row { display:grid; grid-template-columns: 1fr 1fr; gap:14px; }
body.page-home .list-form .fineprint { font-size:11px; color: var(--mute); margin-top:14px; text-align:center; letter-spacing:0.04em; }
body.page-home .list-form .fineprint .dot { color: var(--brass); margin:0 6px; }
body.page-home .list-form .btn { width:100%; margin-top:22px; }
body.page-home .list-form .lead-msg { margin-top:14px; }

/* ── State grid ─────────────────────────────────────────── */
body.page-home .state-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:18px; }
body.page-home .state-card {
    position:relative; height:240px;
    background-size:cover; background-position:center;
    display:flex; flex-direction:column; justify-content:flex-end;
    padding:24px; color: var(--bone);
    overflow:hidden;
    background-color: var(--ink);
}
body.page-home .state-card::before {
    content:""; position:absolute; inset:0;
    background: linear-gradient(180deg, rgba(7,17,30,0.1) 0%, rgba(7,17,30,0.45) 50%, rgba(7,17,30,0.85) 100%);
}
body.page-home .state-card > * { position:relative; }
body.page-home .state-card .code { font-size:11px; letter-spacing:0.32em; text-transform:uppercase; color: var(--brass-soft); font-weight:600; }
body.page-home .state-card h4 { font-family: var(--serif); font-size:30px; color: var(--bone); margin-top:6px; }
body.page-home .state-card .count { font-size:12px; color: var(--brass-soft); margin-top:8px; letter-spacing:0.04em; }
body.page-home .state-card .more { margin-top:14px; font-size:10px; letter-spacing:0.32em; text-transform:uppercase; color: var(--brass-soft); font-weight:600; display:flex; align-items:center; gap:8px; }
body.page-home .state-card .more::after { content:"→"; font-family: var(--serif); font-style:italic; font-size:18px; }

/* ── Popular properties grid (home layout) ──────────────── */
body.page-home .pop-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:24px; }

body.page-home .pop-cta { text-align:center; margin-top:56px; display:flex; flex-direction:column; align-items:center; gap:18px; }
body.page-home .pop-cta .small { letter-spacing:0.04em; }

/* ── Dual CTA band ──────────────────────────────────────── */
body.page-home .duo { display:grid; grid-template-columns: 1fr 1fr; gap:24px; }
body.page-home .duo .panel { padding:48px 44px; position:relative; overflow:hidden; display:grid; grid-template-columns: 1fr 240px; gap:32px; align-items:stretch; }
body.page-home .duo .panel .copy-col { display:flex; flex-direction:column; }
body.page-home .duo .panel .cta { margin-top:auto; }
body.page-home .duo .panel ul + .cta { margin-top:auto; }
body.page-home .duo .panel ul { margin-bottom:32px; }
body.page-home .duo .panel .ill { width:100%; height:auto; }
body.page-home .duo .panel .seal { position:absolute; top:32px; right:32px; z-index:2; }
body.page-home .duo .panel.ink { background: var(--ink); color: var(--bone); }
body.page-home .duo .panel.brass { background: var(--brass); color: var(--bone); }
body.page-home .duo .panel .label { font-size:11px; letter-spacing:0.32em; text-transform:uppercase; font-weight:600; }
body.page-home .duo .panel.ink .label { color: var(--brass-soft); }
body.page-home .duo .panel.brass .label { color: rgba(245,241,232,0.85); }
body.page-home .duo .panel h3 { font-family: var(--serif); font-size:38px; line-height:1.05; margin-top:14px; }
body.page-home .duo .panel.ink h3 { color: var(--bone); }
body.page-home .duo .panel.brass h3 { color: var(--bone); }
body.page-home .duo .panel ul { list-style:none; padding:0; margin:24px 0 32px; display:flex; flex-direction:column; gap:12px; }
body.page-home .duo .panel ul li { display:flex; align-items:flex-start; gap:14px; font-size:15px; line-height:1.45; }
body.page-home .duo .panel ul li .tk { font-family: var(--serif); font-style:italic; font-size:18px; line-height:1; flex:0 0 auto; margin-top:-1px; }
body.page-home .duo .panel.ink ul li .tk { color: var(--brass-soft); }
body.page-home .duo .panel.brass ul li .tk { color: var(--bone); opacity:0.8; }
body.page-home .duo .panel .cta { margin-top:32px; }

/* ── Loan calc ──────────────────────────────────────────── */
body.page-home .calc { background: var(--paper); border:1px solid var(--hair); padding:64px; position:relative; overflow:hidden; }
body.page-home .calc-illus { position:relative; }
body.page-home .calc-illus .ill { width:100%; height:auto; }
body.page-home .calc::before { content:""; position:absolute; top:0; left:0; width:200px; height:200px; background: radial-gradient(circle, rgba(176,138,74,0.08), transparent 70%); }
body.page-home .calc-grid { display:grid; grid-template-columns: 1.2fr 1fr; gap:64px; align-items:center; position:relative; }
body.page-home .calc h2 { margin-bottom:14px; }
body.page-home .calc .features { margin-top:28px; display:grid; grid-template-columns: 1fr 1fr; gap:14px 32px; padding:0; }
body.page-home .calc .features li { list-style:none; display:flex; align-items:flex-start; gap:12px; font-size:15px; }
body.page-home .calc .features li .tk { color: var(--brass); font-family: var(--serif); font-style:italic; font-size:18px; line-height:1; flex:0 0 auto; }

/* ── Suburbs ────────────────────────────────────────────── */
body.page-home .suburb-feat,
body.page-opportunities .suburb-feat,
body.page-suburb-profiles .suburb-feat {
    background: var(--stone); border:1px solid var(--hair-strong);
    display:grid; grid-template-columns: 1.1fr 1fr;
    overflow:hidden;
}
body.page-home .suburb-feat .img,
body.page-opportunities .suburb-feat .img,
body.page-suburb-profiles .suburb-feat .img {
    background-size:cover; background-position:center; min-height:440px; position:relative;
    background-color: var(--ink);
}
body.page-home .suburb-feat .img .badges,
body.page-opportunities .suburb-feat .img .badges,
body.page-suburb-profiles .suburb-feat .img .badges { position:absolute; top:18px; left:18px; display:flex; gap:8px; }
body.page-home .suburb-feat .copy,
body.page-opportunities .suburb-feat .copy,
body.page-suburb-profiles .suburb-feat .copy { padding:48px 44px; display:flex; flex-direction:column; gap:18px; }
body.page-home .suburb-feat .copy h3,
body.page-opportunities .suburb-feat .copy h3,
body.page-suburb-profiles .suburb-feat .copy h3 { font-size:44px; }
body.page-home .suburb-feat .stats,
body.page-opportunities .suburb-feat .stats,
body.page-suburb-profiles .suburb-feat .stats { display:grid; grid-template-columns: repeat(3, 1fr); gap:18px; padding:20px 0; border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); }
body.page-home .suburb-feat .stats .s .l,
body.page-opportunities .suburb-feat .stats .s .l,
body.page-suburb-profiles .suburb-feat .stats .s .l { font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color: var(--mute); font-weight:600; }
body.page-home .suburb-feat .stats .s .v,
body.page-opportunities .suburb-feat .stats .s .v,
body.page-suburb-profiles .suburb-feat .stats .s .v { font-family: var(--serif); font-size:24px; color: var(--ink); margin-top:4px; }
body.page-home .suburb-feat .stats .s .sub,
body.page-opportunities .suburb-feat .stats .s .sub,
body.page-suburb-profiles .suburb-feat .stats .s .sub { font-size:11px; color: var(--brass); margin-top:2px; letter-spacing:0.04em; }
body.page-home .suburb-feat .highlights,
body.page-opportunities .suburb-feat .highlights,
body.page-suburb-profiles .suburb-feat .highlights { display:flex; flex-direction:column; gap:10px; padding:0; margin:0; }
body.page-home .suburb-feat .highlights li,
body.page-opportunities .suburb-feat .highlights li,
body.page-suburb-profiles .suburb-feat .highlights li { list-style:none; display:flex; align-items:flex-start; gap:12px; font-size:15px; color: var(--ink); }
body.page-home .suburb-feat .highlights li .tk,
body.page-opportunities .suburb-feat .highlights li .tk,
body.page-suburb-profiles .suburb-feat .highlights li .tk { color: var(--brass); font-family: var(--serif); font-style:italic; font-size:18px; line-height:1; }

body.page-suburb-profiles .suburb-feat-list { display:flex; flex-direction:column; gap:32px; }

body.page-home .suburb-mini-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:24px; margin-top:24px; }
body.page-home .suburb-mini {
    background: var(--cream); border:1px solid var(--hair);
    padding:0; display:flex; flex-direction:column; overflow:hidden;
    text-decoration:none; color:inherit;
    transition: box-shadow .25s;
}
body.page-home .suburb-mini:hover { box-shadow: 0 18px 36px -22px rgba(7,17,30,0.16); }
body.page-home .suburb-mini .img { height:160px; background-size:cover; background-position:center; background-color: var(--ink); }
body.page-home .suburb-mini .body { padding:24px 26px 26px; }
body.page-home .suburb-mini h4 { font-family: var(--serif); font-size:24px; color: var(--ink); }
body.page-home .suburb-mini .badge-row { margin-top:10px; display:flex; gap:6px; }
body.page-home .suburb-mini .badge-row .b { font-size:9px; letter-spacing:0.24em; text-transform:uppercase; color: var(--brass); border:1px solid var(--brass); padding:4px 8px; font-weight:600; }
body.page-home .suburb-mini .row2 { display:grid; grid-template-columns: 1fr 1fr; gap:8px; margin-top:16px; padding-top:14px; border-top:1px solid var(--hair); }
body.page-home .suburb-mini .row2 .l { font-size:9px; letter-spacing:0.24em; text-transform:uppercase; color: var(--mute); font-weight:600; }
body.page-home .suburb-mini .row2 .v { font-family: var(--sans); font-weight:600; font-size:15px; color: var(--ink); margin-top:4px; letter-spacing:-0.005em; }
body.page-home .suburb-mini .more { font-size:10px; letter-spacing:0.32em; text-transform:uppercase; color: var(--brass); font-weight:600; margin-top:16px; display:inline-block; }

/* ── How it works ────────────────────────────────────────── */
body.page-home .steps { display:grid; grid-template-columns: repeat(3, 1fr); gap:48px; position:relative; }
body.page-home .steps::before {
    content:""; position:absolute; top:64px; left:6%; right:6%; height:1px;
    background: var(--brass); opacity:0.3;
}
body.page-home .step { display:flex; flex-direction:column; align-items:center; text-align:center; position:relative; }
body.page-home .step .ill-wrap {
    width:128px; height:128px; border-radius:50%;
    background: var(--bone); border:1px solid var(--brass);
    display:flex; align-items:center; justify-content:center;
    z-index:1; position:relative;
}
body.page-home .step .ill-wrap svg { width:84px; height:84px; }
body.page-home .step .roman {
    margin-top:18px; font-family: var(--mono); font-size:11px; letter-spacing:0.32em;
    color: var(--brass); font-weight:600; text-transform:uppercase;
}
body.page-home .step h4 { margin-top:10px; font-size:24px; }
body.page-home .step .desc { font-size:15px; color: var(--mute); margin-top:10px; line-height:1.55; max-width:300px; }

/* ── Why choose ─────────────────────────────────────────── */
body.page-home .why-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:24px; }
body.page-home .why-card {
    background: var(--cream); border:1px solid var(--hair);
    padding:32px 28px;
    display:flex; flex-direction:column;
    transition: border-color .25s;
}
body.page-home .why-card:hover { border-color: var(--brass); }
body.page-home .why-card .roman { font-family: var(--mono); font-size:12px; letter-spacing:0.18em; color: var(--brass); }
body.page-home .why-card h4 { font-family: var(--serif); font-size:20px; margin-top:14px; }
body.page-home .why-card p { font-size:14px; line-height:1.55; color: var(--mute); margin-top:10px; }

/* ── Community ──────────────────────────────────────────── */
body.page-home .community { background: var(--ink); color: var(--bone); padding:120px 0; position:relative; overflow:hidden; }
body.page-home .community::before { content:""; position:absolute; inset:48px; border:1px solid var(--brass); opacity:0.3; pointer-events:none; }
body.page-home .community .inner { display:grid; grid-template-columns: 1fr 1fr; gap:96px; align-items:center; }
body.page-home .community h2 { color: var(--bone); }
body.page-home .community .socials { display:grid; grid-template-columns: 1fr 1fr; gap:14px; margin-top:32px; max-width:480px; }
body.page-home .community .soc {
    display:flex; align-items:center; gap:14px;
    padding:18px 20px; border:1px solid rgba(217,195,154,0.25);
    transition: border-color .25s, background .25s;
    text-decoration:none; color: inherit;
}
body.page-home .community .soc:hover { border-color: var(--brass); background: rgba(176,138,74,0.06); }
body.page-home .community .soc .ic { width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family: var(--serif); font-weight:600; color: var(--bone); font-size:18px; flex:0 0 auto; }
body.page-home .community .soc .fb { background:#1877F2; }
body.page-home .community .soc .ig { background: linear-gradient(135deg,#F58529,#DD2A7B,#8134AF); font-size:13px; }
body.page-home .community .soc .li { background:#0A66C2; font-size:14px; }
body.page-home .community .soc .yt { background:#FF0000; font-size:14px; }
body.page-home .community .soc .n { font-size:14px; color: var(--bone); }
body.page-home .community .soc .h { font-size:11px; color: var(--brass-soft); letter-spacing:0.04em; margin-top:1px; }

body.page-home .signup { background: var(--ink-soft); padding:36px; border:1px solid rgba(217,195,154,0.2); }
body.page-home .signup .eyebrow { color: var(--brass-soft); }
body.page-home .signup h3 { color: var(--bone); margin-top:8px; font-size:32px; }
body.page-home .signup p { color: rgba(245,241,232,0.7); font-size:14px; margin-top:8px; }
body.page-home .signup .field input { background: var(--ink-deep); border-color: rgba(217,195,154,0.25); color: var(--bone); }
body.page-home .signup .field label { color: var(--brass-soft); }

/* ── Footer ─────────────────────────────────────────────── */
/* Override the legacy ``.site-footer { padding:0 }`` rule from public.css. */
footer.site-footer { background: var(--ink-deep); color: rgba(245,241,232,0.7); padding:80px 0 36px; margin-top:0; border-top:0; }
footer.site-footer a { color: inherit; text-decoration: none; }
footer.site-footer a:hover { text-decoration: none; }
footer.site-footer .grid { display:grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap:64px; }
footer.site-footer h5 { font-family: var(--sans); font-size:11px; letter-spacing:0.32em; text-transform:uppercase; color: var(--brass); font-weight:600; }
footer.site-footer ul { list-style:none; padding:0; margin:18px 0 0; display:flex; flex-direction:column; gap:10px; }
footer.site-footer ul a { font-size:14px; color: rgba(245,241,232,0.7); }
footer.site-footer ul a:hover { color: var(--brass-soft); }
footer.site-footer .brand .lock { display:flex; align-items:center; gap:12px; }
footer.site-footer .brand .lock .mk { width:42px; height:42px; border:1px solid var(--brass); display:flex; align-items:center; justify-content:center; font-family: var(--serif); font-style:italic; color: var(--brass); font-size:24px; }
footer.site-footer .brand .lock .nm { font-family: var(--serif); font-weight:600; font-size:18px; color: var(--bone); letter-spacing:0.04em; }
footer.site-footer .brand .lock .ts { font-family: var(--serif); font-style:italic; color: var(--brass); font-size:13px; letter-spacing:0.12em; }
footer.site-footer .brand p { font-size:14px; line-height:1.6; margin-top:18px; color: rgba(245,241,232,0.6); max-width:360px; }
footer.site-footer .meta { margin-top:64px; padding-top:24px; border-top:1px solid rgba(217,195,154,0.15); display:flex; justify-content:space-between; font-size:12px; color: rgba(245,241,232,0.5); flex-wrap:wrap; gap:14px; }
footer.site-footer .brand-socials { display:flex; gap:12px; margin-top:24px; }
footer.site-footer .brand-socials a { text-decoration:none; display:inline-flex; }
footer.site-footer .brand-socials .ic {
    width:38px; height:38px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-family: var(--serif); font-weight:600; color: var(--bone);
    font-size:18px; flex:0 0 auto;
    transition: transform .2s ease;
}
footer.site-footer .brand-socials a:hover .ic { transform: translateY(-2px); }
footer.site-footer .brand-socials .fb { background:#1877F2; }
footer.site-footer .brand-socials .ig { background: linear-gradient(135deg,#F58529,#DD2A7B,#8134AF); font-size:13px; }
footer.site-footer .brand-socials .li { background:#0A66C2; font-size:14px; }
footer.site-footer .brand-socials .yt { background:#FF0000; font-size:14px; }

/* ── Tiny utilities ─────────────────────────────────────── */
.row { display:flex; }
.col { display:flex; flex-direction:column; }
.gap-12 { gap:12px; } .gap-16 { gap:16px; } .gap-24 { gap:24px; } .gap-32 { gap:32px; }
.center { display:flex; align-items:center; justify-content:center; }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1180px) {
    .wrap, .narrow { padding: 0 32px; }
    .nav { padding: 20px 32px; }
    .hero .inner { padding: 180px 32px 100px; gap: 48px; }
    .display { font-size:68px; }
    .h1 { font-size:52px; }
    .h2 { font-size:40px; }
}

@media (max-width: 960px) {
    .nav .menu { display:none; }
    .nav .menu-toggle { display:flex; }
    .nav.is-open .menu {
        display:flex; flex-direction:column; gap:18px;
        position:absolute; top:100%; left:0; right:0;
        background: var(--ink-deep); padding:24px 32px;
    }
    .nav.is-open .menu a { color: var(--bone); }
    body.page-home .hero .inner { grid-template-columns: 1fr; padding: 160px 32px 80px; }
    body.page-home .feat-grid { grid-template-columns: 1fr; }
    body.page-home .news-rail { position: static; }
    body.page-home .list-grid { grid-template-columns: 1fr; gap: 40px; align-items:start; }
    body.page-home .list-col { gap:24px; }
    body.page-home .list-col-title { font-size:34px; }
    body.page-home .list-col-lead { font-size:18px; white-space:normal; max-width:520px; }
    body.page-home .list-col-phrase { white-space:normal; }
    body.page-home .list-with::before { inset: 24px; }
    body.page-home .net-stats { grid-template-columns: 1fr; gap: 16px; }
    body.page-home .agent-features { grid-template-columns: 1fr 1fr; }
    body.page-home .list-form--align { height:auto; }
    body.page-home .state-grid { grid-template-columns: repeat(2, 1fr); }
    body.page-home .pop-grid { grid-template-columns: repeat(2, 1fr); }
    body.page-home .duo { grid-template-columns: 1fr; }
    body.page-home .duo .panel { grid-template-columns: 1fr 180px; padding: 36px 32px; }
    body.page-home .calc { padding: 40px 32px; }
    body.page-home .calc-grid { grid-template-columns: 1fr; gap: 32px; }
    body.page-home .suburb-feat,
    body.page-opportunities .suburb-feat,
    body.page-suburb-profiles .suburb-feat { grid-template-columns: 1fr; }
    body.page-home .suburb-mini-grid { grid-template-columns: repeat(2, 1fr); }
    body.page-home .why-grid { grid-template-columns: repeat(2, 1fr); }
    body.page-home .community .inner { grid-template-columns: 1fr; gap: 48px; }
    body.page-home .community::before { inset: 24px; }
    footer.site-footer .grid { grid-template-columns: 1fr 1fr; gap: 40px; }
    body.page-home .listing { grid-template-columns: 1fr; }
    .listing .photo { min-height: 280px; }
    body.page-home .section { padding: 64px 0; }
}

@media (max-width: 640px) {
    .wrap, .narrow { padding: 0 20px; }
    .nav { padding: 18px 20px; }
    body.page-home .nav { padding-top: 26px; }
    .nav .actions .btn { display:none; }
    .display { font-size:48px; }
    .h1 { font-size:36px; }
    .h2 { font-size:32px; }
    .h3 { font-size:26px; }
    .lead { font-size: 18px; }
    body.page-home .hero { min-height: auto; }
    body.page-home .hero .inner { padding: 140px 20px 60px; gap: 36px; }
    body.page-home .hero .keyline { inset: 12px; }
    body.page-home .lead-card { padding: 28px 24px; }
    body.page-home .list-col-title { font-size:28px; }
    body.page-home .list-col-lead { font-size:17px; }
    body.page-home .list-form { padding: 28px 24px; }
    body.page-home .list-form .field-row { grid-template-columns: 1fr; }
    body.page-home .list-form .seg { grid-template-columns: 1fr; }
    body.page-home .agent-features { grid-template-columns: 1fr; }
    body.page-home .net-stat .v { font-size: 32px; }
    body.page-home .ledger { padding: 18px 16px 16px; }
    body.page-home .state-grid { grid-template-columns: 1fr; }
    body.page-home .pop-grid { grid-template-columns: 1fr; }
    body.page-home .suburb-mini-grid { grid-template-columns: 1fr; }
    body.page-home .why-grid { grid-template-columns: 1fr; }
    body.page-home .duo .panel { grid-template-columns: 1fr; gap: 24px; padding: 32px 24px; }
    body.page-home .duo .panel .ill { max-width: 200px; margin: 0 auto; }
    body.page-home .steps { grid-template-columns: 1fr; gap: 40px; }
    body.page-home .steps::before { display:none; }
    body.page-home .calc { padding: 32px 24px; }
    body.page-home .calc .features { grid-template-columns: 1fr; }
    body.page-home .community { padding: 64px 0; }
    body.page-home .community .socials { grid-template-columns: 1fr; }
    footer.site-footer { padding: 56px 0 28px; }
    footer.site-footer .grid { grid-template-columns: 1fr; }
    body.page-home .section-head { gap: 24px; }
    .listing .copy { padding: 28px 24px; }
    .listing .copy h3 { font-size: 28px; }
    .listing .spec { grid-template-columns: repeat(2, 1fr); }
    .pop-card .img { height: 200px; }
    .pop-card .body { padding: 18px 20px 20px; }
    .pop-card .body h4 { font-size: 20px; }
    .pop-card .body .price { font-size: 20px; }
    .pop-card .status-sold { font-size: 24px; }
    .listing .copy .top .status-sold { font-size: 28px; }
    body.page-suburb-profiles .suburb-feat .copy { padding: 28px 24px; }
    body.page-suburb-profiles .suburb-feat .copy h3 { font-size: 28px; }
    body.page-suburb-profiles .suburb-feat .stats { grid-template-columns: 1fr; gap: 14px; }
    body.page-suburb-profiles .suburb-feat .img { min-height: 220px; }
    body.page-suburb-profiles .suburb-feat-list { gap: 24px; }
}
