@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:wght@300;400;500&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --navy:#0a1628;--navy2:#0f1f3d;--navy3:#071020;
  --white:#fff;--surface:#f4f7fc;--warm:#eef2f9;
  --blue:#1a4bbd;--blue-mid:#2d60d4;--blue-lt:#e8eef9;
  --green:#127a4a;--green-lt:#e6f4ed;
  --gold:#b8860b;--gold-lt:#fdf3d9;
  --red:#c0392b;--red-lt:#fdecea;
  --amber:#d97706;--amber-lt:#fef3c7;
  --purple:#6b3fa0;--purple-lt:#f0ebf9;
  --muted:#64748b;--border:rgba(10,22,40,0.09);--border-d:rgba(10,22,40,0.16);
  --shadow:0 2px 12px rgba(10,22,40,0.07);--shadow-lg:0 8px 40px rgba(10,22,40,0.12);
}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--surface);color:var(--navy);overflow-x:hidden;line-height:1.6;}
a{color:inherit;text-decoration:none;}
input,select,textarea,button{font-family:inherit;}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:64px;background:var(--navy);border-bottom:0.5px solid rgba(255,255,255,0.07);}
.nav-logo{font-family:'DM Serif Display',serif;font-size:1.15rem;color:white;text-decoration:none;display:flex;align-items:center;gap:0.4rem;flex-shrink:0;}
.nav-logo-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;}
.nav-links{display:flex;list-style:none;}
.nav-links a{font-size:0.78rem;color:rgba(255,255,255,0.58);padding:0.32rem 0.6rem;border-radius:4px;transition:all 0.18s;white-space:nowrap;}
.nav-links a:hover,.nav-links a.active{color:white;background:rgba(255,255,255,0.08);}
.nav-right{display:flex;gap:0.45rem;align-items:center;flex-shrink:0;}
.btn-nav-ghost{font-size:0.77rem;color:rgba(255,255,255,0.7);background:none;border:1px solid rgba(255,255,255,0.16);padding:0.36rem 0.85rem;border-radius:4px;cursor:pointer;text-decoration:none;transition:all 0.18s;}
.btn-nav-ghost:hover{border-color:rgba(255,255,255,0.4);color:white;}
.btn-nav-primary{font-size:0.77rem;font-weight:500;background:var(--blue);color:white;border:none;padding:0.38rem 0.95rem;border-radius:4px;cursor:pointer;text-decoration:none;transition:all 0.18s;}
.btn-nav-primary:hover{background:var(--blue-mid);}
.page{padding-top:64px;min-height:100vh;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;font-size:0.86rem;font-weight:500;padding:0.68rem 1.4rem;border-radius:6px;text-decoration:none;cursor:pointer;transition:all 0.18s;border:none;line-height:1;white-space:nowrap;}
.btn-primary{background:var(--blue);color:white;}.btn-primary:hover{background:var(--blue-mid);}
.btn-outline{background:none;color:var(--blue);border:1px solid var(--blue);}.btn-outline:hover{background:var(--blue);color:white;}
.btn-dark{background:var(--navy);color:white;}.btn-dark:hover{background:var(--navy2);}
.btn-white{background:white;color:var(--navy);}.btn-white:hover{background:var(--surface);}
.btn-green{background:var(--green);color:white;}.btn-green:hover{opacity:0.88;}
.btn-red{background:var(--red);color:white;}
.btn-ghost{background:none;color:var(--muted);border:1px solid var(--border-d);}.btn-ghost:hover{color:var(--navy);}
.btn-amber{background:var(--amber);color:white;}
.btn-sm{padding:0.38rem 0.82rem;font-size:0.75rem;}
.btn-lg{padding:0.88rem 2rem;font-size:0.95rem;}
.btn-xl{padding:1rem 2.4rem;font-size:1rem;}
.btn-full{width:100%;}
.btn:disabled{opacity:0.4;cursor:not-allowed;}

/* BADGES */
.badge{display:inline-flex;align-items:center;font-size:0.63rem;font-weight:700;padding:0.18rem 0.55rem;border-radius:20px;letter-spacing:0.04em;text-transform:uppercase;white-space:nowrap;}
.badge-premium{background:var(--gold-lt);color:var(--gold);}
.badge-featured{background:var(--blue-lt);color:var(--blue);}
.badge-sold{background:var(--green-lt);color:var(--green);}
.badge-leased{background:var(--purple-lt);color:var(--purple);}
.badge-pending{background:var(--amber-lt);color:var(--amber);}
.badge-new{background:var(--amber-lt);color:var(--amber);}
.badge-verified{background:var(--green-lt);color:var(--green);}
.badge-fsbo{background:var(--blue-lt);color:var(--blue);}
.badge-broker{background:rgba(10,22,40,0.07);color:var(--navy);}
.badge-approved{background:var(--green-lt);color:var(--green);}
.badge-declined{background:var(--red-lt);color:var(--red);}
.badge-screening{background:var(--amber-lt);color:var(--amber);}

/* LISTING CARD */
.listing-card{background:white;border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:all 0.2s;text-decoration:none;display:block;color:inherit;}
.listing-card:hover{border-color:rgba(26,75,189,0.28);transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.lc-img{height:138px;display:flex;align-items:center;justify-content:center;font-size:2.4rem;position:relative;background:var(--warm);}
.lc-badges{position:absolute;top:0.6rem;left:0.6rem;display:flex;gap:0.3rem;flex-wrap:wrap;}
.lc-fav{position:absolute;top:0.6rem;right:0.6rem;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,0.9);display:flex;align-items:center;justify-content:center;font-size:0.78rem;cursor:pointer;border:none;transition:all 0.18s;}
.lc-fav:hover{background:white;transform:scale(1.1);}
.lc-body{padding:0.9rem 1rem;}
.lc-meta{display:flex;justify-content:space-between;margin-bottom:0.28rem;}
.lc-industry{font-size:0.63rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;}
.lc-location{font-size:0.66rem;color:var(--muted);}
.lc-title{font-family:'DM Serif Display',serif;font-size:0.94rem;line-height:1.3;color:var(--navy);margin-bottom:0.75rem;}
.lc-stats{display:grid;grid-template-columns:repeat(3,1fr);padding-top:0.65rem;border-top:1px solid var(--border);}
.lc-stat-label{font-size:0.61rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.04em;}
.lc-stat-val{font-size:0.85rem;font-weight:500;color:var(--navy);margin-top:0.08rem;}
.lc-asking{color:var(--blue);}
.lc-footer{padding:0.5rem 1rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:rgba(248,250,252,0.6);}
.lc-ai-live{font-size:0.66rem;color:var(--green);display:flex;align-items:center;gap:0.28rem;}
.lc-ai-dot{width:4px;height:4px;border-radius:50%;background:var(--green);animation:blink 2s infinite;}
.lc-days{font-size:0.66rem;color:var(--muted);}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.25;}}

/* SECTIONS */
.sec{padding:4.5rem 2.5rem;}
.sec-sm{padding:3rem 2.5rem;}
.sec-eyebrow{font-size:0.65rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--blue);margin-bottom:0.55rem;font-weight:500;}
.sec-h2{font-family:'DM Serif Display',serif;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.1;letter-spacing:-0.02em;margin-bottom:0.65rem;}
.sec-h2 em{font-style:italic;color:var(--blue);}
.sec-sub{font-size:0.92rem;color:var(--muted);line-height:1.75;max-width:520px;font-weight:300;}
.sec-head-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;flex-wrap:wrap;gap:1rem;}

/* FORMS */
.form-group{margin-bottom:1rem;}
.form-label{display:block;font-size:0.77rem;font-weight:500;color:var(--navy);margin-bottom:0.35rem;}
.req{color:var(--red);margin-left:2px;}
.form-input,.form-select,.form-textarea{width:100%;font-size:0.83rem;padding:0.6rem 0.82rem;border:1px solid var(--border-d);border-radius:6px;background:white;color:var(--navy);outline:none;transition:border-color 0.18s;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,75,189,0.07);}
.form-textarea{resize:vertical;min-height:90px;line-height:1.6;}
.form-hint{font-size:0.7rem;color:var(--muted);margin-top:0.25rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0.9rem;}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.9rem;}
.form-card{background:white;border:1px solid var(--border);border-radius:10px;padding:1.6rem;}
.form-section-title{font-family:'DM Serif Display',serif;font-size:1.02rem;color:var(--navy);margin-bottom:1rem;padding-bottom:0.6rem;border-bottom:1px solid var(--border);}

/* MODE BAR */
.mode-bar{background:white;border-bottom:1px solid var(--border);position:sticky;top:64px;z-index:100;}
.mode-bar-inner{display:flex;overflow-x:auto;padding:0 2rem;}
.mode-bar-inner::-webkit-scrollbar{display:none;}
.mode-tab{display:flex;align-items:center;gap:0.38rem;font-size:0.79rem;color:var(--muted);border:none;background:none;cursor:pointer;white-space:nowrap;text-decoration:none;border-bottom:2px solid transparent;padding:0.82rem 0.9rem;transition:all 0.18s;}
.mode-tab:hover{color:var(--navy);}
.mode-tab.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:500;}

/* DISCLAIMER BAR */
.disclaimer-bar{background:#fffbeb;border-bottom:1px solid #fde68a;padding:0.55rem 2.5rem;font-size:0.72rem;color:#92400e;display:flex;align-items:flex-start;gap:0.45rem;line-height:1.5;}
.disclaimer-bar a{color:#92400e;text-decoration:underline;font-weight:500;}

/* PLATFORM NOTE */
.platform-note{background:var(--blue-lt);border:1px solid rgba(26,75,189,0.14);border-radius:8px;padding:1rem 1.3rem;font-size:0.76rem;color:var(--navy2);line-height:1.65;display:flex;gap:0.7rem;align-items:flex-start;margin-top:1.75rem;}
.platform-note a{color:var(--blue);text-decoration:underline;font-weight:500;}

/* SEARCH BOX */
.search-box{background:white;border-radius:8px;padding:0.42rem;display:flex;gap:0.38rem;box-shadow:var(--shadow-lg);}
.search-select{font-size:0.82rem;padding:0.58rem 0.82rem;border:none;outline:none;color:var(--navy);background:var(--surface);border-radius:5px;cursor:pointer;min-width:170px;}
.search-input{flex:1;font-size:0.82rem;padding:0.58rem 0.82rem;border:none;outline:none;color:var(--navy);}
.search-btn{padding:0.58rem 1.35rem;background:var(--blue);color:white;font-size:0.82rem;font-weight:500;border:none;border-radius:5px;cursor:pointer;transition:all 0.18s;}
.search-btn:hover{background:var(--blue-mid);}

/* FILTER SIDEBAR */
.filter-sidebar{width:242px;flex-shrink:0;}
.filter-panel{background:white;border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:0.8rem;}
.filter-panel-title{font-size:0.69rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--navy);margin-bottom:0.85rem;padding-bottom:0.6rem;border-bottom:1px solid var(--border);}
.filter-group{margin-bottom:0.9rem;}
.filter-label{font-size:0.74rem;font-weight:500;color:var(--navy);margin-bottom:0.35rem;display:block;}
.filter-select,.filter-input{width:100%;font-size:0.76rem;padding:0.45rem 0.68rem;border:1px solid var(--border-d);border-radius:5px;background:white;color:var(--navy);outline:none;}
.filter-range{display:grid;grid-template-columns:1fr 1fr;gap:0.45rem;}
.filter-checks{display:flex;flex-direction:column;gap:0.38rem;}
.filter-check{display:flex;align-items:center;gap:0.5rem;font-size:0.76rem;color:var(--navy);cursor:pointer;}
.filter-check input{accent-color:var(--blue);width:13px;height:13px;}

/* GRIDS */
.listings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.listings-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:0.9rem;}

/* LIST VIEW */
.list-card{background:white;border:1px solid var(--border);border-radius:10px;display:grid;grid-template-columns:120px 1fr auto;overflow:hidden;transition:all 0.2s;text-decoration:none;color:inherit;}
.list-card:hover{border-color:rgba(26,75,189,0.28);box-shadow:var(--shadow);}
.list-card-img{background:var(--warm);display:flex;align-items:center;justify-content:center;font-size:2rem;}
.list-card-body{padding:1rem;}
.list-card-actions{padding:1rem;display:flex;flex-direction:column;justify-content:center;gap:0.5rem;border-left:1px solid var(--border);min-width:130px;align-items:flex-end;}

/* TABLE VIEW */
.table-wrap{background:white;border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.data-table{width:100%;border-collapse:collapse;}
.data-table th{background:var(--navy);color:white;font-size:0.7rem;font-weight:500;padding:0.7rem 1rem;text-align:left;white-space:nowrap;}
.data-table td{padding:0.75rem 1rem;font-size:0.8rem;border-bottom:1px solid var(--border);}
.data-table tr:last-child td{border-bottom:none;}
.data-table tr:hover td{background:var(--warm);}

/* DASHBOARD LAYOUT */
.dash-layout{display:flex;min-height:calc(100vh - 64px);}
.dash-sidebar{width:220px;flex-shrink:0;background:var(--navy);min-height:calc(100vh - 64px);display:flex;flex-direction:column;}
.dash-sidebar-logo{padding:1.25rem 1.25rem 0.5rem;font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.28);font-weight:600;}
.dash-nav{padding:0.5rem 0.75rem;flex:1;}
.dash-nav-section{font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.25);padding:0.75rem 0.5rem 0.4rem;font-weight:600;}
.dash-nav-link{display:flex;align-items:center;gap:0.65rem;padding:0.55rem 0.75rem;border-radius:6px;font-size:0.8rem;color:rgba(255,255,255,0.6);cursor:pointer;text-decoration:none;transition:all 0.18s;margin-bottom:0.15rem;}
.dash-nav-link:hover{background:rgba(255,255,255,0.07);color:white;}
.dash-nav-link.active{background:rgba(255,255,255,0.1);color:white;font-weight:500;}
.dash-nav-link .nav-icon{font-size:0.9rem;width:18px;text-align:center;}
.dash-nav-badge{margin-left:auto;background:var(--blue);color:white;font-size:0.6rem;font-weight:700;padding:0.1rem 0.45rem;border-radius:20px;}
.dash-nav-badge.red{background:var(--red);}
.dash-main{flex:1;overflow-x:hidden;}
.dash-topbar{background:white;border-bottom:1px solid var(--border);padding:0.85rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.dash-page-title{font-family:'DM Serif Display',serif;font-size:1.25rem;color:var(--navy);}
.dash-content{padding:2rem;}
.dash-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;}
.dash-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;}
.dash-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;}
.stat-card{background:white;border:1px solid var(--border);border-radius:10px;padding:1.25rem 1.5rem;}
.stat-card-label{font-size:0.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.4rem;}
.stat-card-val{font-family:'DM Serif Display',serif;font-size:1.9rem;color:var(--navy);line-height:1;}
.stat-card-delta{font-size:0.72rem;margin-top:0.35rem;display:flex;align-items:center;gap:0.3rem;}
.delta-up{color:var(--green);}
.delta-down{color:var(--red);}
.dash-card{background:white;border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.dash-card-header{padding:1rem 1.4rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.dash-card-title{font-size:0.82rem;font-weight:500;color:var(--navy);}
.dash-card-body{padding:1.25rem 1.4rem;}

/* CHAT */
.chat-layout{display:grid;grid-template-columns:300px 1fr;height:calc(100vh - 64px);}
.chat-sidebar{border-right:1px solid var(--border);background:white;display:flex;flex-direction:column;overflow:hidden;}
.chat-sidebar-search{padding:0.85rem;border-bottom:1px solid var(--border);}
.chat-sidebar-search input{width:100%;font-size:0.8rem;padding:0.5rem 0.75rem;border:1px solid var(--border-d);border-radius:6px;outline:none;}
.chat-list{overflow-y:auto;flex:1;}
.chat-list::-webkit-scrollbar{width:3px;}
.chat-list::-webkit-scrollbar-thumb{background:var(--border);}
.chat-item{padding:0.85rem 1rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background 0.15s;display:flex;gap:0.75rem;align-items:flex-start;}
.chat-item:hover{background:var(--warm);}
.chat-item.active{background:var(--blue-lt);}
.chat-item.unread .chat-item-name{font-weight:500;}
.chat-av{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:600;background:var(--blue-lt);color:var(--blue);}
.chat-item-info{flex:1;min-width:0;}
.chat-item-name{font-size:0.8rem;color:var(--navy);}
.chat-item-listing{font-size:0.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.chat-item-preview{font-size:0.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:0.15rem;}
.chat-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:0.3rem;flex-shrink:0;}
.chat-item-time{font-size:0.65rem;color:var(--muted);}
.chat-unread-dot{width:7px;height:7px;border-radius:50%;background:var(--blue);}
.chat-main{display:flex;flex-direction:column;overflow:hidden;}
.chat-header{padding:0.85rem 1.5rem;border-bottom:1px solid var(--border);background:white;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0;}
.chat-header-info{display:flex;flex-direction:column;gap:0.15rem;}
.chat-header-name{font-weight:500;font-size:0.92rem;}
.chat-header-listing{font-size:0.74rem;color:var(--muted);}
.chat-header-actions{display:flex;gap:0.4rem;flex-wrap:wrap;}
.chat-messages{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;}
.chat-messages::-webkit-scrollbar{width:4px;}
.chat-messages::-webkit-scrollbar-thumb{background:var(--border);}
.msg-row{display:flex;gap:0.7rem;align-items:flex-end;}
.msg-row.mine{flex-direction:row-reverse;}
.msg-av-sm{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:0.65rem;font-weight:600;}
.msg-av-sm.ai{background:var(--navy);color:white;font-family:'DM Serif Display',serif;font-size:0.75rem;}
.msg-av-sm.buyer{background:var(--blue-lt);color:var(--blue);}
.msg-av-sm.seller{background:var(--green-lt);color:var(--green);}
.msg-bubble{max-width:68%;padding:0.72rem 0.95rem;border-radius:10px;font-size:0.83rem;line-height:1.65;}
.msg-row.theirs .msg-bubble{background:white;border:1px solid var(--border);}
.msg-row.mine .msg-bubble{background:var(--blue);color:white;}
.msg-row.ai-msg .msg-bubble{background:var(--navy);color:white;border-radius:10px;}
.msg-meta-sm{font-size:0.62rem;color:var(--muted);margin-top:0.25rem;}
.msg-row.mine .msg-meta-sm{text-align:right;}
.msg-system{text-align:center;font-size:0.73rem;color:var(--muted);background:var(--warm);padding:0.45rem 1rem;border-radius:20px;margin:0.5rem auto;max-width:420px;}
.msg-system.success{background:var(--green-lt);color:var(--green);}
.msg-system.warning{background:var(--amber-lt);color:var(--amber);}
.chat-input-area{padding:0.85rem 1.25rem;border-top:1px solid var(--border);background:white;flex-shrink:0;}
.chat-input-row{display:flex;gap:0.5rem;align-items:flex-end;}
.chat-textarea{flex:1;font-size:0.83rem;padding:0.65rem 0.9rem;border:1px solid var(--border-d);border-radius:6px;outline:none;resize:none;min-height:40px;max-height:100px;line-height:1.5;}
.chat-textarea:focus{border-color:var(--blue);}
.chat-send{padding:0.65rem 1.25rem;background:var(--blue);color:white;border:none;border-radius:6px;cursor:pointer;font-size:0.82rem;font-weight:500;transition:all 0.18s;flex-shrink:0;}
.chat-send:hover{background:var(--blue-mid);}
.chat-tools{display:flex;gap:0.4rem;margin-bottom:0.5rem;flex-wrap:wrap;}
.chat-tool-btn{font-size:0.73rem;padding:0.3rem 0.7rem;border:1px solid var(--border-d);background:white;border-radius:20px;cursor:pointer;color:var(--muted);transition:all 0.15s;}
.chat-tool-btn:hover{border-color:var(--blue);color:var(--blue);}
.chat-disclaimer{font-size:0.67rem;color:var(--muted);text-align:center;margin-top:0.4rem;line-height:1.5;}

/* AI SCREENING */
.screening-panel{background:white;border:1px solid var(--border);border-radius:10px;padding:1.5rem;margin-bottom:1rem;}
.screening-step{display:flex;align-items:flex-start;gap:0.85rem;padding:0.85rem 0;border-bottom:1px solid var(--border);}
.screening-step:last-child{border-bottom:none;}
.step-num{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:0.72rem;font-weight:700;}
.step-num.done{background:var(--green-lt);color:var(--green);}
.step-num.active{background:var(--blue-lt);color:var(--blue);}
.step-num.todo{background:var(--warm);color:var(--muted);}
.step-body{flex:1;}
.step-title{font-size:0.82rem;font-weight:500;margin-bottom:0.2rem;}
.step-desc{font-size:0.75rem;color:var(--muted);line-height:1.5;}

/* FOOTER */
.footer{background:var(--navy3);color:rgba(255,255,255,0.42);padding:4rem 2.5rem 2rem;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:0.5px solid rgba(255,255,255,0.07);}
.footer-logo{font-family:'DM Serif Display',serif;font-size:1.1rem;color:white;display:flex;align-items:center;gap:0.4rem;margin-bottom:0.75rem;}
.footer-logo-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;}
.footer-desc{font-size:0.77rem;line-height:1.8;max-width:250px;font-weight:300;}
.footer-col-h{font-size:0.63rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.2);margin-bottom:1rem;font-weight:700;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:0.55rem;}
.footer-links a{font-size:0.77rem;color:rgba(255,255,255,0.38);transition:color 0.18s;font-weight:300;}
.footer-links a:hover{color:white;}
.footer-bottom{padding-top:1.75rem;display:flex;justify-content:space-between;align-items:flex-start;font-size:0.7rem;color:rgba(255,255,255,0.2);flex-wrap:wrap;gap:1rem;}
.footer-legal{font-size:0.68rem;color:rgba(255,255,255,0.2);line-height:1.7;max-width:680px;}
.footer-legal a{color:rgba(255,255,255,0.35);text-decoration:underline;}

/* UTILITIES */
.reveal{opacity:0;transform:translateY(18px);transition:opacity 0.6s ease,transform 0.6s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.text-center{text-align:center;}
.mt-1{margin-top:0.5rem;}.mt-2{margin-top:1rem;}.mt-3{margin-top:1.5rem;}.mt-4{margin-top:2rem;}
.mb-1{margin-bottom:0.5rem;}.mb-2{margin-bottom:1rem;}.mb-3{margin-bottom:1.5rem;}.mb-4{margin-bottom:2rem;}
.flex{display:flex;}.flex-col{flex-direction:column;}.items-center{align-items:center;}.justify-between{justify-content:space-between;}
.gap-1{gap:0.5rem;}.gap-2{gap:1rem;}.gap-3{gap:1.5rem;}
.w-full{width:100%;}
.hidden{display:none;}
.divider{height:0.5px;background:var(--border);margin:1.25rem 0;}

@media(max-width:1024px){
  .listings-grid{grid-template-columns:repeat(2,1fr);}
  .dash-grid-4{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .nav-links{display:none;}
  .sec,.sec-sm{padding:3rem 1.25rem;}
  .listings-grid{grid-template-columns:1fr;}
  .form-row,.form-row-3{grid-template-columns:1fr;}
  .dash-sidebar{display:none;}
  .chat-layout{grid-template-columns:1fr;}
  .chat-sidebar{display:none;}
  .footer-grid{grid-template-columns:1fr;}
  .dash-grid-4,.dash-grid-3,.dash-grid-2{grid-template-columns:1fr;}
}