
    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    :root {
      --navy:    #1a2332;
      --navy-mid:#243044;
      --gold:    #b8964a;
      --gold-lt: #d4b06a;
      --white:   #ffffff;
      --off:     #f8f7f4;
      --off2:    #f2f0eb;
      --border:  #e4e0d8;
      --border2: #d0ccC2;
      --text:    #1a2332;
      --text-mid:#3d4a5c;
      --text-sub:#6b7585;
      --text-lt: #9aa0aa;
    }
    html { scroll-behavior:smooth; }
    body { font-family:'Montserrat',sans-serif; background:var(--white); color:var(--text); overflow-x:hidden; }

    /* NAV */
    .nav {
      position:sticky; top:0; z-index:100;
      display:flex; align-items:center; justify-content:space-between;
      padding:20px 56px;
      background:rgba(255,255,255,0.97);
      backdrop-filter:blur(8px);
      border-bottom:1px solid var(--border);
    }
    .nav-logo {
      font-family:'Cormorant Garamond',serif;
      font-size:22px; font-weight:400; letter-spacing:3px;
      text-transform:uppercase; color:var(--navy); text-decoration:none;
    }
    .nav-links { display:flex; gap:34px; list-style:none; }
    .nav-links a {
      font-size:13px; letter-spacing:2px; text-transform:uppercase;
      color:var(--text-sub); text-decoration:none; transition:color .2s;
    }
    .nav-links a:hover { color:var(--navy); }
    .nav-phone { font-size:13px; letter-spacing:1.5px; color:var(--gold); font-weight:500; }
    .nav-hamburger {
      display:none; flex-direction:column; gap:5px;
      cursor:pointer; background:none; border:none; padding:4px;
    }
    .nav-hamburger span { display:block; width:22px; height:1.5px; background:var(--navy); }

    /* HERO */
    .hero {
      position:relative;
      min-height:75vh;
      overflow:hidden;
      background:var(--navy);
    }
    .hero-left { display:none; }
    .hero-name-overlay {
      position:absolute; inset:0; z-index:2;
      display:flex; flex-direction:column; align-items:center; justify-content:center;
      pointer-events:none; gap:20px;
    }
    .hero-name-overlay h1 {
      font-family:'Cormorant Garamond',serif;
      font-size:72px; font-weight:300; line-height:.92;
      color:#ffffff; letter-spacing:4px; text-transform:uppercase;
      text-shadow:0 2px 24px rgba(0,0,0,0.4);
      white-space:nowrap; margin:0;
    }
    .hero-name-overlay .hero-sub {
      font-family:'Montserrat',sans-serif;
      font-size:11px; font-weight:600; letter-spacing:3px; text-transform:uppercase;
      color:rgba(255,255,255,0.7);
      text-shadow:0 1px 12px rgba(0,0,0,0.4);
    }
    .hero-right {
      position:absolute; inset:0;
      overflow:hidden;
    }
    .hero-right video {
      position:absolute; top:50%; left:50%;
      transform:translate(-50%, -50%);
      width:100%; height:100%; object-fit:cover; object-position:center;
      display:block; min-width:100%; min-height:100%;
    }
    .hero-right-overlay {
      position:absolute; inset:0;
      background:linear-gradient(to bottom, rgba(26,35,50,0.15) 0%, rgba(26,35,50,0.35) 100%);
    }

    /* BUTTONS */
    .btn-gold {
      display:inline-block; padding:14px 36px;
      background:var(--gold); color:#fff;
      font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600;
      letter-spacing:2.5px; text-transform:uppercase;
      border:none; cursor:pointer; text-decoration:none;
      transition:background .2s;
    }
    .btn-gold:hover { background:var(--gold-lt); }
    .btn-outline-light {
      display:inline-block; padding:14px 36px;
      background:transparent; color:var(--gold);
      font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600;
      letter-spacing:2.5px; text-transform:uppercase;
      border:1px solid var(--gold); cursor:pointer; text-decoration:none;
      transition:all .2s;
    }
    .btn-outline-light:hover { border-color:var(--gold); color:var(--gold); }
    .btn-outline-dark {
      display:inline-block; padding:13px 34px;
      background:transparent; color:var(--navy);
      font-family:'Montserrat',sans-serif; font-size:8px; font-weight:500;
      letter-spacing:2.5px; text-transform:uppercase;
      border:1px solid var(--navy); cursor:pointer; text-decoration:none;
      transition:all .2s;
    }
    .btn-outline-dark:hover { background:var(--navy); color:#fff; }

    /* STATS */
    .stats {
      display:grid; grid-template-columns:repeat(4,1fr);
      background:var(--white);
      border-bottom:1px solid var(--border);
    }
    .stat {
      padding:32px 20px; border-right:1px solid var(--border); text-align:center;
    }
    .stat:last-child { border-right:none; }
    .stat-n {
      font-family:'Cormorant Garamond',serif;
      font-size:42px; font-weight:300; color:var(--navy); line-height:1;
    }
    .stat-l {
      font-size:7px; letter-spacing:2px; text-transform:uppercase;
      color:var(--text-lt); margin-top:8px;
    }

    /* SECTIONS */
    .section { padding:88px 56px; }
    .section-off { padding:88px 56px; background:var(--off); }
    .section-navy { padding:88px 56px; background:var(--navy); }
    .sec-label {
      font-size:8px; letter-spacing:4px; text-transform:uppercase;
      color:var(--gold); margin-bottom:10px;
    }
    .sec-label-light {
      font-size:8px; letter-spacing:4px; text-transform:uppercase;
      color:var(--gold-lt); margin-bottom:10px;
    }
    .sec-title {
      font-family:'Cormorant Garamond',serif;
      font-size:48px; font-weight:300; color:var(--navy); line-height:1.05; overflow:visible;
    }
    .sec-title-light {
      font-family:'Cormorant Garamond',serif;
      font-size:48px; font-weight:300; color:#ffffff; line-height:1.05;
    }
    .gold-line { width:44px; height:2px; background:var(--gold); margin:18px 0 44px; }
    .gold-line-light { width:44px; height:2px; background:var(--gold-lt); margin:18px 0 44px; }

    /* ABOUT */
    .about-grid {
      display:grid; grid-template-columns:1fr 1fr;
      gap:80px; align-items:center;
    }
    .about-img-wrap {
      position:relative; height:580px;
    }
    .about-img-wrap img {
      width:100%; height:100%; object-fit:cover; object-position:center 25%;
      display:block;
    }
    .about-accent {
      position:absolute; bottom:-18px; left:-18px;
      width:100px; height:100px;
      border:2px solid var(--gold); opacity:.35;
    }
    .about-body {
      font-size:14px; color:var(--text-mid); line-height:2; margin-bottom:20px;
    }
    .compass-badge {
      display:inline-flex; align-items:center; gap:12px;
      padding:12px 22px; border:1px solid var(--border2); margin-top:12px;
    }
    .compass-sm { font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--text-lt); }
    .compass-brand { font-size:11px; letter-spacing:4px; text-transform:uppercase; color:var(--navy); font-weight:600; }

    /* LISTINGS */
    .listings-intro { padding:88px 56px 0; }
    .listings-grid {
      display:grid; grid-template-columns:repeat(3,1fr);
      gap:24px; margin-top:40px; padding:0 56px;
    }
    .listing-card {
      background:var(--white); border:1px solid var(--border);
      overflow:hidden; transition:box-shadow .25s, transform .25s;
    }
    .listing-card:hover { box-shadow:0 8px 32px rgba(26,35,50,0.1); transform:translateY(-3px); }
    .listing-img-wrap { height:230px; overflow:hidden; position:relative; }
    .listing-img-wrap img {
      width:100%; height:100%; object-fit:cover;
      transition:transform .45s;
    }
    .listing-card:hover .listing-img-wrap img { transform:scale(1.05); }
    .listing-badge {
      position:absolute; top:14px; left:14px;
      padding:4px 12px; font-size:8px; letter-spacing:2px;
      text-transform:uppercase; font-weight:600;
    }
    .badge-active { background:var(--navy); color:#fff; }
    .badge-pending { background:var(--gold); color:#fff; }
    .badge-closed { background:#6b7585; color:#fff; }
    .listing-info { padding:24px; }
    .listing-price {
      font-family:'Cormorant Garamond',serif;
      font-size:30px; font-weight:400; color:var(--navy); margin-bottom:6px;
    }
    .listing-addr { font-size:12px; color:var(--text-sub); margin-bottom:10px; line-height:1.6; }
    .listing-specs {
      font-size:9px; letter-spacing:1.5px; text-transform:uppercase;
      color:var(--text-lt); padding-bottom:14px; border-bottom:1px solid var(--border);
    }
    .listing-desc {
      font-size:12px; color:var(--text-mid); line-height:1.85; margin-top:14px;
    }
    .listing-link {
      display:inline-flex; align-items:center; gap:6px;
      margin-top:16px; font-size:8px; letter-spacing:2px;
      text-transform:uppercase; color:var(--gold); text-decoration:none; font-weight:600;
      transition:opacity .2s;
    }
    .listing-link:hover { opacity:.7; }
    .listings-footer { padding:32px 56px 88px; }

    /* NOTABLE SALES */
    .sales-grid {
      display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
      padding:0 56px; background:var(--white);
    }
    .sale-card { background:var(--white); border:1px solid var(--border); overflow:hidden; }
    .sale-card:hover { box-shadow:0 8px 32px rgba(26,35,50,0.1); transform:translateY(-3px); }
    .sale-img-wrap { height:230px; overflow:hidden; position:relative; }
    .sale-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
    .sale-card:hover .sale-img-wrap img { transform:scale(1.05); }
    .sale-img-placeholder {
      width:100%; height:100%; background:var(--off2);
      display:flex; align-items:center; justify-content:center;
    }
    .sale-img-placeholder i { font-size:32px; color:var(--border2); }
    .sale-info { padding:24px; }
    .sale-tag {
      font-size:8px; letter-spacing:2px; text-transform:uppercase;
      color:var(--gold); margin-bottom:8px;
    }
    .sale-price {
      font-family:'Cormorant Garamond',serif;
      font-size:30px; font-weight:400; color:var(--navy); margin-bottom:6px;
    }
    .sale-addr { font-size:12px; color:var(--text-sub); margin-bottom:10px; line-height:1.6; }
    .sale-specs {
      font-size:9px; letter-spacing:1.5px; text-transform:uppercase;
      color:var(--text-lt); padding-bottom:14px; border-bottom:1px solid var(--border);
    }
    .sale-view-all {
      display:flex; align-items:center; justify-content:center;
      flex-direction:column; gap:8px;
      background:var(--navy); text-decoration:none;
      transition:background .2s; padding:40px;
    }
    .sale-view-all:hover { background:var(--navy-mid); }
    .sale-view-all-title {
      font-family:'Cormorant Garamond',serif;
      font-size:30px; font-weight:300; color:#fff;
    }
    .sale-view-all-sub {
      font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--gold-lt);
    }

    /* DEVELOPMENTS */
    .dev-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
    .dev-card {
      background:var(--white); border:1px solid var(--border);
      padding:32px; position:relative; overflow:hidden;
      transition:border-color .2s, box-shadow .2s;
    }
    .dev-card:hover { border-color:var(--gold); box-shadow:0 4px 20px rgba(26,35,50,0.07); }
    .dev-card::before {
      content:''; position:absolute; top:0; left:0;
      width:100%; height:3px; background:var(--gold);
    }
    .dev-tag {
      font-size:7px; letter-spacing:2.5px; text-transform:uppercase;
      color:var(--gold); margin-bottom:10px;
    }
    .dev-title {
      font-family:'Cormorant Garamond',serif;
      font-size:26px; font-weight:400; color:var(--navy); margin-bottom:5px;
    }
    .dev-loc {
      font-size:9px; letter-spacing:1.5px; text-transform:uppercase;
      color:var(--text-lt); margin-bottom:14px;
    }
    .dev-desc { font-size:12px; color:var(--text-mid); line-height:1.9; }

    /* NEIGHBORHOODS */
    .nbhd-intro { padding:88px 56px 0; }
    .nbhd-grid {
      display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-top:0;
    }
    .nbhd-card {
      background:var(--white); padding:32px 22px;
      border-bottom:3px solid transparent; border-top:1px solid var(--border);
      transition:border-bottom-color .2s; cursor:pointer; text-align:center;
    }
    .nbhd-card:hover { border-bottom-color:var(--gold); }
    .nbhd-name {
      font-family:'Cormorant Garamond',serif;
      font-size:22px; font-weight:400; color:var(--navy); margin-bottom:7px;
    }
    .nbhd-sub { font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--text-lt); }
    .nbhd-footer { padding:24px 56px 88px; }

    /* TESTIMONIALS */
    .test-wrap { max-width:680px; margin:0 auto; text-align:center; }
    .qmark {
      font-family:'Cormorant Garamond',serif; font-size:88px; font-weight:300;
      color:var(--gold-lt); line-height:.4; display:block; margin-bottom:28px; opacity:.5;
    }
    .qtext {
      font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:300;
      font-style:italic; color:#ffffff; line-height:1.75; margin-bottom:28px;
      transition:opacity .3s;
    }
    .qattr {
      font-size:9px; letter-spacing:3px; text-transform:uppercase;
      color:rgba(255,255,255,0.4); transition:opacity .3s;
    }
    .dots { display:flex; justify-content:center; gap:8px; margin-top:18px; }
    .dot {
      width:28px; height:2px; background:rgba(255,255,255,0.15);
      border:none; cursor:pointer; transition:background .2s; padding:0;
    }
    .dot.active { background:var(--gold); }

    /* CONTACT */
    .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
    .c-detail { display:flex; align-items:flex-start; gap:16px; margin-bottom:28px; }
    .c-icon {
      width:40px; height:40px; background:var(--off2); border:1px solid var(--border);
      display:flex; align-items:center; justify-content:center; flex-shrink:0;
    }
    .c-icon i { font-size:16px; color:var(--navy); }
    .c-label { font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--text-lt); margin-bottom:4px; }
    .c-val { font-size:13px; color:var(--text-mid); line-height:1.6; }
    .c-val a { color:var(--text-mid); text-decoration:none; }
    .c-val a:hover { color:var(--gold); }
    .c-divider { margin-top:28px; padding-top:24px; border-top:1px solid var(--border); }
    .c-cred { font-size:11px; color:var(--text-lt); line-height:2; }
    .form-field {
      width:100%; margin-bottom:14px;
      background:var(--white); border:1px solid var(--border);
      color:var(--text); padding:13px 16px;
      font-size:12px; font-family:'Montserrat',sans-serif;
      letter-spacing:.5px; outline:none; transition:border-color .2s; appearance:none;
    }
    .form-field:focus { border-color:var(--navy); }
    .form-field::placeholder { color:var(--text-lt); }
    textarea.form-field { resize:vertical; }

    /* FOOTER */
    .footer {
      padding:36px 56px; border-top:1px solid var(--border);
      display:flex; justify-content:space-between; align-items:center;
      background:var(--off); flex-wrap:wrap; gap:12px;
    }
    .footer-logo {
      font-family:'Cormorant Garamond',serif; font-size:18px; font-weight:400;
      letter-spacing:3px; text-transform:uppercase; color:var(--text-lt);
      flex:1;
    }
    .footer-copy { font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-lt); flex:1; text-align:center; }
    .footer-r { font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-lt); flex:1; text-align:right; }



    /* RESPONSIVE */
    @media (max-width:960px) {
      .nav-phone { display:none; }
      .nav { padding:16px 24px; }
      .nav-links { display:none; }
      .nav-hamburger { display:flex; }
      .nav-links.open {
        display:flex; flex-direction:column;
        position:absolute; top:100%; left:0; right:0;
        background:rgba(255,255,255,0.98);
        padding:24px; gap:20px; border-bottom:1px solid var(--border);
      }
      .hero { min-height:460px; }
      .hero-right video { width:auto; height:auto; min-width:100%; min-height:100%; top:50%; left:50%; transform:translate(-50%,-50%); object-fit:cover; }
      .hero-name-overlay h1 { font-size:36px; letter-spacing:2px; }
      .hero-name-overlay .hero-sub { font-size:9px; letter-spacing:2px; text-align:center; padding:0 24px; }
      .section, .section-off, .section-navy { padding:60px 24px; }
      .listings-intro, .nbhd-intro { padding:60px 24px 0; }
      .listings-grid, .listings-footer, .nbhd-footer, .sales-grid { padding:0 24px; }
      .nbhd-footer { padding-bottom:36px; }
      .listings-grid { gap:16px; margin-top:28px; }
      .listings-footer { padding-top:28px; padding-bottom:60px; }
      .stats { grid-template-columns:repeat(2,1fr); }
      .about-grid { grid-template-columns:1fr; gap:36px; }
      .about-img-wrap { height:360px; }
      .sales-grid, .listings-grid { grid-template-columns:1fr; }
      .dev-grid { grid-template-columns:1fr; }
      .nbhd-grid { grid-template-columns:1fr; }
      .contact-grid { grid-template-columns:1fr; gap:44px; }
      .footer { flex-direction:column; text-align:center; padding:28px 24px; }
    }

    /* ── DEVELOPMENTS PAGE ── */
    #page-dev { background: var(--white); }
    .dev-page-hero {
      position: relative;
      height: 52vh; min-height: 380px;
      background: var(--navy);
      display: flex; align-items: flex-end;
      padding: 0 56px 64px;
      overflow: hidden;
    }
    .dev-page-hero::before {
      content: '';
      position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(200,185,138,0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(200,185,138,0.04) 1px, transparent 1px);
      background-size: 64px 64px;
    }
    .dev-page-hero-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(26,35,50,0.85) 0%, transparent 100%);
    }
    .dev-page-hero-content { position: relative; z-index: 2; max-width: 640px; }
    .dev-page-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 72px; font-weight: 300; color: #fff;
      line-height: 0.95; letter-spacing: 1px; margin: 12px 0 18px;
    }
    .dev-page-sub {
      font-size: 12px; color: rgba(255,255,255,0.5);
      letter-spacing: 0.5px; line-height: 1.9; max-width: 520px;
    }
    .dev-page-body { padding: 72px 56px 88px; }
    .dev-page-label {
      font-size: 8px; letter-spacing: 4px; text-transform: uppercase;
      color: var(--gold); margin-bottom: 28px;
    }
    .dev-page-grid {
      display: grid; grid-template-columns: repeat(3,1fr); gap: 24px;
    }
    .dev-page-grid-3 {
      grid-template-columns: repeat(3, 1fr);
    }
    .dev-page-card {
      border: 1px solid var(--border); padding: 36px;
      position: relative; transition: border-color .2s, box-shadow .2s;
    }
    .dev-page-card:hover {
      border-color: var(--gold);
      box-shadow: 0 4px 24px rgba(26,35,50,0.07);
    }
    .dev-page-card::before {
      content: ''; position: absolute; top: 0; left: 0;
      width: 100%; height: 3px; background: var(--gold);
    }
    .dev-page-card-featured { background: var(--off); }
    .dev-page-card-tag {
      font-size: 7px; letter-spacing: 2.5px; text-transform: uppercase;
      color: var(--gold); margin-bottom: 12px;
    }
    .dev-page-card-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 34px; font-weight: 300; color: var(--navy);
      margin-bottom: 8px; line-height: 1.1;
    }
    .dev-page-card-loc {
      font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase;
      color: var(--text-lt); margin-bottom: 18px;
    }
    .dev-page-card-desc {
      font-size: 13px; color: var(--text-mid); line-height: 1.95;
      margin-bottom: 20px;
    }
    .dev-page-features {
      list-style: none; display: grid;
      grid-template-columns: 1fr 1fr; gap: 8px 24px;
      margin-bottom: 24px;
    }
    .dev-page-features li {
      font-size: 11px; color: var(--text-mid);
      padding-left: 14px; position: relative;
    }
    .dev-page-features li::before {
      content: '—'; position: absolute; left: 0;
      color: var(--gold); font-size: 10px;
    }
    .dev-page-price {
      font-family: 'Cormorant Garamond', serif;
      font-size: 26px; font-weight: 300; color: var(--navy);
    }
    .dev-page-result {
      display: inline-block; margin-top: 16px;
      font-size: 8px; letter-spacing: 2px; text-transform: uppercase;
      color: var(--text-lt); border-top: 1px solid var(--border);
      padding-top: 14px; width: 100%;
    }
    .dev-page-cta-bar {
      margin-top: 72px; padding: 40px 48px;
      background: var(--navy);
      display: flex; align-items: center;
      justify-content: space-between; gap: 32px; flex-wrap: wrap;
    }
    .dev-page-cta-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 28px; font-weight: 300; color: #fff; margin-bottom: 8px;
    }
    .dev-page-cta-sub {
      font-size: 12px; color: rgba(255,255,255,0.45); line-height: 1.7;
    }
    @media (max-width: 960px) {
      .dev-page-hero { padding: 0 24px 48px; }
      .dev-page-title { font-size: 52px; }
      .dev-page-body { padding: 48px 24px 64px; }
      .dev-page-grid-3 { grid-template-columns: 1fr; }
      .dev-page-grid { grid-template-columns: 1fr !important; }
      .dev-page-cta-bar { padding: 32px 24px; flex-direction: column; align-items: flex-start; }
      .dev-page-features { grid-template-columns: 1fr; }
    }

    .nav-active { color: var(--navy) !important; font-weight: 600 !important; }

    /* Neighborhood overlay */
    .nbhd-overlay {
      display:none !important; position:fixed; inset:0; z-index:9999;
      background:rgba(10,16,26,0.6); backdrop-filter:blur(4px);
      overflow-y:auto; padding:40px 20px;
    }
    .nbhd-overlay.open { display:flex !important; align-items:flex-start; justify-content:center; }
    .nbhd-panel {
      background:var(--white); max-width:760px; width:100%;
      padding:56px 56px 64px; position:relative;
      border-top:4px solid var(--gold); margin:auto;
      animation:slideUp .25s ease;
    }
    @keyframes slideUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
    .nbhd-panel-close {
      position:absolute; top:20px; right:24px;
      background:none; border:none; cursor:pointer;
      font-size:22px; color:var(--text-lt); line-height:1;
    }
    .nbhd-panel-close:hover { color:var(--navy); }
    .nbhd-panel-label {
      font-size:8px; letter-spacing:3px; text-transform:uppercase;
      color:var(--gold); margin-bottom:10px;
    }
    .nbhd-panel-title {
      font-family:'Cormorant Garamond',serif;
      font-size:44px; font-weight:400; color:var(--navy);
      margin-bottom:6px; line-height:1.1;
    }
    .nbhd-panel-tagline {
      font-size:14px; color:var(--text-sub); font-style:italic;
      margin-bottom:28px; padding-bottom:28px;
      border-bottom:1px solid var(--border);
    }
    .nbhd-panel-body {
      font-size:14px; color:var(--text-mid); line-height:1.9;
      margin-bottom:28px;
    }
    .nbhd-panel-list {
      list-style:none; padding:0; margin:0 0 36px;
    }
    .nbhd-panel-list li {
      font-size:13px; color:var(--text-mid); line-height:1.8;
      padding:8px 0 8px 20px; border-bottom:1px solid var(--border);
      position:relative;
    }
    .nbhd-panel-list li::before {
      content:''; position:absolute; left:0; top:50%;
      width:6px; height:1px; background:var(--gold);
    }
    .nbhd-card { cursor:default; }
    @media(max-width:600px){
      .nbhd-panel { padding:40px 24px 48px; }
      .nbhd-panel-title { font-size:34px; }
    }

    /* Listing detail pages */
    #page-listing { display:none; background:var(--white); }
    .listing-page-hero {
      position:relative; background:var(--navy);
      height:520px; overflow:hidden;
    }
    .listing-page-hero img {
      width:100%; height:100%; object-fit:cover; opacity:0.7;
      transition:opacity .3s;
    }
    .listing-page-hero-overlay {
      position:absolute; inset:0;
      background:linear-gradient(to right, rgba(26,35,50,0.7) 30%, rgba(26,35,50,0.1) 100%);
    }
    .listing-page-hero-content {
      position:absolute; bottom:48px; left:56px; right:56px;
    }
    .listing-page-price {
      font-family:'Cormorant Garamond',serif;
      font-size:52px; font-weight:400; color:#fff;
      line-height:1; margin-bottom:8px;
    }
    .listing-page-addr {
      font-size:16px; color:rgba(255,255,255,0.8);
      letter-spacing:.5px; margin-bottom:16px;
    }
    .listing-page-specs {
      display:flex; gap:24px; flex-wrap:wrap;
    }
    .listing-page-spec {
      font-size:11px; letter-spacing:2px; text-transform:uppercase;
      color:rgba(255,255,255,0.7);
    }
    .listing-page-spec span {
      color:#fff; font-weight:500;
    }
    /* Photo gallery */
    .listing-gallery {
      position:relative;
      background:#000;
    }
    .listing-gallery-hero {
      position:relative;
      height:800px;
      overflow:hidden;
      cursor:pointer;
    }
    .listing-gallery-hero img {
      width:100%; height:100%; object-fit:cover;
      transition:transform .4s;
    }
    .listing-gallery-hero:hover img { transform:scale(1.02); }
    .listing-gallery-arrow {
      position:absolute; top:50%; transform:translateY(-50%);
      background:rgba(255,255,255,0.15); border:1.5px solid rgba(255,255,255,0.6);
      color:#fff; width:44px; height:44px;
      display:flex; align-items:center; justify-content:center;
      cursor:pointer; font-size:18px; z-index:10;
      transition:background .2s; backdrop-filter:blur(4px);
    }
    .listing-gallery-arrow:hover { background:rgba(255,255,255,0.3); }
    .listing-gallery-prev { left:20px; }
    .listing-gallery-next { right:20px; }
    .listing-gallery-see-all {
      position:absolute; bottom:20px; right:20px;
      display:flex; align-items:center; gap:8px;
      font-size:10px; letter-spacing:2px; text-transform:uppercase;
      color:#fff; cursor:pointer; z-index:10;
    }
    .listing-gallery-see-all-icon {
      width:28px; height:28px; border:1.5px solid #fff;
      display:flex; align-items:center; justify-content:center;
    }
    .listing-gallery-thumbs {
      display:flex; gap:4px; background:#000; padding:4px 0 0;
      overflow-x:auto;
    }
    .listing-gallery-thumbs::-webkit-scrollbar { height:4px; }
    .listing-gallery-thumbs::-webkit-scrollbar-track { background:#000; }
    .listing-gallery-thumbs::-webkit-scrollbar-thumb { background:#444; }
    .listing-gallery-thumb {
      flex-shrink:0; width:160px; height:100px; overflow:hidden; cursor:pointer;
      opacity:0.75; transition:opacity .2s;
    }
    .listing-gallery-thumb.active, .listing-gallery-thumb:hover { opacity:1; }
    .listing-gallery-thumb img {
      width:100%; height:100%; object-fit:cover;
    }
    @media(max-width:960px){
      .listing-gallery-hero { height:260px; }
      .listing-gallery-thumb { width:110px; height:70px; }
    }
    /* Content */
    .listing-page-body {
      display:grid; grid-template-columns:1fr 340px;
      gap:56px; padding:56px;
    }
    .listing-page-desc {
      font-size:15px; color:var(--text-mid);
      line-height:1.95; margin-bottom:32px;
    }
    .listing-details-grid {
      display:grid; grid-template-columns:1fr 1fr;
      gap:0; border:1px solid var(--border);
    }
    .listing-detail-item {
      padding:14px 16px; border-bottom:1px solid var(--border);
      border-right:1px solid var(--border);
    }
    .listing-detail-item:nth-child(even) { border-right:none; }
    .listing-mobile-price {
      display:none;
      grid-column:1/-1;
      padding:20px 16px 16px;
      border-bottom:1px solid var(--border);
      border-top:1px solid var(--border);
      border-right:none;
      align-items:baseline; gap:12px;
    }
    .listing-mobile-price-val {
      font-family:'Cormorant Garamond',serif;
      font-size:28px; font-weight:400; color:var(--navy);
    }
    .listing-mobile-price-status {
      font-size:8px; letter-spacing:2px; text-transform:uppercase; color:var(--gold);
    }
    .listing-detail-label {
      font-size:8px; letter-spacing:2px; text-transform:uppercase;
      color:var(--text-lt); margin-bottom:4px;
    }
    .listing-detail-value {
      font-size:13px; color:var(--navy); font-weight:500;
    }
    /* Sidebar */
    .listing-sidebar {
      position:sticky; top:80px; align-self:start;
    }
    .listing-sidebar-card {
      border:1px solid var(--border); padding:32px;
    }
    .listing-sidebar-price {
      font-family:'Cormorant Garamond',serif;
      font-size:36px; font-weight:400; color:var(--navy);
      margin-bottom:4px;
    }
    .listing-sidebar-status {
      font-size:8px; letter-spacing:2px; text-transform:uppercase;
      color:var(--gold); margin-bottom:24px;
    }
    .listing-sidebar-specs {
      display:grid; grid-template-columns:1fr 1fr;
      gap:16px; margin-bottom:24px; padding-bottom:24px;
      border-bottom:1px solid var(--border);
    }
    .listing-sidebar-spec-label {
      font-size:8px; letter-spacing:1.5px; text-transform:uppercase;
      color:var(--text-lt); margin-bottom:4px;
    }
    .listing-sidebar-spec-val {
      font-size:15px; color:var(--navy); font-weight:500;
    }
    .listing-sidebar-agent {
      display:flex; align-items:center; gap:14px;
      padding:16px 0; border-bottom:1px solid var(--border);
      margin-bottom:20px;
    }
    .listing-sidebar-agent-avatar {
      width:44px; height:44px; border-radius:50%;
      background:var(--navy); display:flex; align-items:center; justify-content:center;
      font-family:'Cormorant Garamond',serif; font-size:16px; color:#fff;
      flex-shrink:0;
    }
    .listing-sidebar-agent-name {
      font-size:13px; font-weight:500; color:var(--navy);
    }
    .listing-sidebar-agent-title {
      font-size:10px; color:var(--text-lt); letter-spacing:.5px;
    }
    /* Lightbox */
    .listing-lightbox {
      display:none; position:fixed; inset:0; z-index:9999;
      background:rgba(0,0,0,0.95); align-items:center; justify-content:center;
    }
    .listing-lightbox.open { display:flex; }
    .listing-lightbox img {
      max-width:90vw; max-height:90vh; object-fit:contain;
    }
    .listing-lightbox-close {
      position:absolute; top:20px; right:28px;
      background:none; border:none; color:#fff;
      font-size:32px; cursor:pointer; line-height:1;
    }
    .listing-lightbox-prev, .listing-lightbox-next {
      position:absolute; top:50%; transform:translateY(-50%);
      background:rgba(255,255,255,0.1); border:none; color:#fff;
      font-size:24px; padding:16px 20px; cursor:pointer;
      transition:background .2s;
    }
    .listing-lightbox-prev { left:16px; }
    .listing-lightbox-next { right:16px; }
    .listing-lightbox-prev:hover, .listing-lightbox-next:hover { background:rgba(255,255,255,0.2); }
    .listing-lightbox-counter {
      position:absolute; bottom:20px; left:50%; transform:translateX(-50%);
      font-size:12px; color:rgba(255,255,255,0.6); letter-spacing:2px;
    }
    @media(max-width:960px){
      .listing-page-hero { height:360px; }
      .listing-page-price { font-size:36px; }
      .listing-page-hero-content { left:24px; right:24px; bottom:28px; }
      .listing-gallery { grid-template-columns:1fr 1fr; grid-template-rows:200px 200px; }
      .listing-gallery-main { grid-row:1/2; grid-column:1/3; }
      .listing-page-body { grid-template-columns:1fr; padding:28px 24px; gap:32px; }
      .listing-sidebar { position:static; }
      .listing-sidebar-card { display:none; }
      .listing-details-grid { border-top:none; }
      .listing-mobile-price { display:flex !important; }
    }
  