@font-face{
  font-family:"Fraunces Display";
  src:url("../fonts/fraunces.ttf") format("truetype");
  font-weight:300 700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Source Sans";
  src:url("../fonts/sourcesans-regular.otf") format("opentype");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Source Sans";
  src:url("../fonts/sourcesans-semibold.otf") format("opentype");
  font-weight:600; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Source Code";
  src:url("../fonts/sourcecode-regular.otf") format("opentype");
  font-weight:400; font-style:normal; font-display:swap;
}

:root{
  /* Brand */
  --navy-900:       #0D2B45;
  --navy-800:       #163C5A;

  /* Client-specified section backgrounds (CTA / footer) */
  --cta-bg:         #33526B;
  --footer-bg:      #213E54;

  /* Teal */
  --teal-900:       #0E3A45;
  --teal-800:       #0A2C36;
  --teal-700:       #197F8C;
  --teal-600:       #2E97A6;
  --teal-500:       #3AAFBF;
  --teal-100:       #DDF4F7;
  --teal-50:        #F2FAFB;

  /* Gold */
  --gold-700:       #8F6A1F;
  --gold-600:       #B98A2D;
  --gold-500:       #C8A65A;
  --gold-300:       #D6B26A;

  /* Neutrals */
  --paper:          #FAF9F6;
  --paper-2:        #EEF3F5;
  --paper-3:        #E4E9EB;
  --slate:          #2F3B46;
  --line:           #E1DED4;
  --line-strong:    #CBC6B6;

  /* Legacy aliases used throughout this file */
  --ink:            var(--navy-900);
  --ink-2:          var(--navy-800);
  --gold:           var(--gold-500);
  --gold-deep:      var(--gold-600);
  --teal:           var(--teal-500);
  --teal-deep:      var(--teal-700);
  --teal-ink:       var(--teal-900);
  --teal-ink-2:     var(--teal-800);

  --bg:             var(--paper);
  --bg-raised:      #FFFFFF;
  --text:           var(--slate);
  --text-muted:     #6B7680;
  --border:         var(--line);
  --border-strong:  var(--line-strong);
  --accent:         var(--gold-500);
  --accent-strong:  var(--gold-600);
  --sec:            var(--teal-600);
  --sec-strong:     var(--teal-700);
  --card-bg:        var(--bg-raised);
  --shadow:         0 1px 2px rgba(13,43,69,0.06), 0 8px 24px -12px rgba(13,43,69,0.12);

  --tag-new-bg:     var(--paper-2);
  --tag-new-fg:     var(--navy-900);
  --tag-reduced-bg: var(--teal-100);
  --tag-reduced-fg: var(--teal-700);
  --tag-pending-bg: #F2E5C8;
  --tag-pending-fg: var(--gold-700);
  --tag-confidential-bg: var(--navy-900);
  --tag-confidential-fg: var(--paper);

  --font-display:"Fraunces Display", ui-serif, Georgia, serif;
  --font-body:"Source Sans", ui-sans-serif, system-ui, sans-serif;
  --font-mono:"Source Code", ui-monospace, "SFMono-Regular", Menlo, monospace;
}

@media (prefers-color-scheme: dark){
  :root{
    --bg:             #0B1B27;
    --bg-raised:      #102638;
    --text:           #F2EEE1;
    --text-muted:     #A8B4B9;
    --border:         #24404F;
    --border-strong:  #32526357;
    --accent:         #D2A15A;
    --accent-strong:  #E4B876;
    --sec:            #52C2D1;
    --sec-strong:     #7DD3DE;
    --card-bg:        #102638;
    --shadow:         0 1px 2px rgba(0,0,0,0.3), 0 12px 32px -16px rgba(0,0,0,0.5);
    --tag-new-bg:     #1D3547;
    --tag-new-fg:     #F2EEE1;
    --tag-reduced-bg: #1C3630;
    --tag-reduced-fg: #8DC0B4;
    --tag-pending-bg: #3A2E17;
    --tag-pending-fg: #E4B876;
    --tag-confidential-bg: #F2EEE1;
    --tag-confidential-fg: #0B1B27;
  }
}
:root[data-theme="dark"]{
  --bg:             #0B1B27;
  --bg-raised:      #102638;
  --text:           #F2EEE1;
  --text-muted:     #A8B4B9;
  --border:         #24404F;
  --border-strong:  #32526357;
  --accent:         #D2A15A;
  --accent-strong:  #E4B876;
  --sec:            #52C2D1;
  --sec-strong:     #7DD3DE;
  --card-bg:        #102638;
  --shadow:         0 1px 2px rgba(0,0,0,0.3), 0 12px 32px -16px rgba(0,0,0,0.5);
  --tag-new-bg:     #1D3547;
  --tag-new-fg:     #F2EEE1;
  --tag-reduced-bg: #1C3630;
  --tag-reduced-fg: #8DC0B4;
  --tag-pending-bg: #3A2E17;
  --tag-pending-fg: #E4B876;
  --tag-confidential-bg: #F2EEE1;
  --tag-confidential-fg: #0B1B27;
}
:root[data-theme="light"]{
  --bg:             var(--paper);
  --bg-raised:      #FFFFFF;
  --text:           var(--slate);
  --text-muted:     #6B7680;
  --border:         var(--line);
  --border-strong:  var(--line-strong);
  --accent:         var(--gold-500);
  --accent-strong:  var(--gold-600);
  --sec:            var(--teal-600);
  --sec-strong:     var(--teal-700);
  --card-bg:        var(--bg-raised);
  --shadow:         0 1px 2px rgba(13,43,69,0.06), 0 8px 24px -12px rgba(13,43,69,0.12);
  --tag-new-bg:     var(--paper-2);
  --tag-new-fg:     var(--navy-900);
  --tag-reduced-bg: var(--teal-100);
  --tag-reduced-fg: var(--teal-700);
  --tag-pending-bg: #F2E5C8;
  --tag-pending-fg: var(--gold-700);
  --tag-confidential-bg: var(--navy-900);
  --tag-confidential-fg: var(--paper);
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font-body); font-size:17px; line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit;}
body h1,body h2,body h3,body h4{font-family:var(--font-display); font-weight:600; margin:0; text-wrap:balance; color:var(--teal-900);}
h2,h3,h4{ text-transform:uppercase; letter-spacing:.01em; }
p{margin:0;}
.mono{font-family:var(--font-mono); font-variant-numeric:tabular-nums;}
.wrap{max-width:none; margin:0 auto; padding-left:56px; padding-right:56px;}
@media (max-width:1280px){ .wrap{padding-left:40px; padding-right:40px;} }
@media (max-width:720px){ .wrap{padding-left:20px; padding-right:20px;} }

.eyebrow{
  font-family:var(--font-mono); font-size:13px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent-strong); font-weight:400;
}

button, .btn{
  font-family:var(--font-body); font-weight:600; font-size:16px; cursor:pointer;
  border-radius:2px; border:1px solid transparent; transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.btn:focus-visible, a:focus-visible, button:focus-visible{
  outline:2px solid var(--sec); outline-offset:2px;
}
.btn-primary{
  background:var(--sec); color:#fff; padding:13px 26px;
  border:1px solid var(--sec);
}
.btn-primary:hover{background:var(--sec-strong); border-color:var(--sec-strong);}
.btn-ghost{
  background:transparent; color:var(--text); padding:13px 26px; border:1px solid var(--border-strong);
}
.btn-ghost:hover{border-color:var(--text); }
.btn-sm{ padding:9px 16px; font-size:13px; }

/* ---------- Header ---------- */
header.site{
  position:relative; z-index:20;
  border-bottom:1px solid var(--border);
  background:var(--bg);
}
.nav-row{ display:flex; align-items:center; justify-content:space-between; height:84px; gap:24px; }
.brand{ display:flex; align-items:center; gap:12px; }
.brand-mark{
  width:42px; height:42px; border:1.5px solid var(--ink); color:var(--ink); border-radius:2px;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:600; font-size:17px;
}
:root[data-theme="dark"] .brand-mark, @media (prefers-color-scheme:dark){ .brand-mark{ border-color:var(--text); color:var(--text);} }
.brand-text-1{ font-family:var(--font-display); font-weight:600; font-size:18px; letter-spacing:.01em; line-height:1.15; }
.brand-text-2{ font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); margin-top:2px;}
nav.primary{ display:flex; align-items:center; gap:30px; }
nav.primary a{ font-size:14.5px; text-decoration:none; color:var(--text); white-space:nowrap; }
nav.primary a:hover{ color:var(--accent-strong); }
.nav-right{ display:flex; align-items:center; gap:20px; }
.phone-link{ font-family:var(--font-mono); font-size:14.5px; text-decoration:none; display:flex; align-items:center; gap:8px; }
@media (max-width:1020px){ nav.primary{ display:none; } .phone-link span{display:none;} }

/* ---------- Hero ---------- */
.hero{ position:relative; overflow:hidden; min-height:100vh; display:flex; align-items:center; }
.hero > .wrap{ position:relative; width:100%; height:100%; margin-left:0; margin-right:0; }
@media (max-width:920px){ .hero{ min-height:0; } }
.hero-grain{
  position:absolute; inset:0; pointer-events:none; opacity:.5; mix-blend-mode:multiply;
  background-image:radial-gradient(var(--ink) 0.6px, transparent 0.6px);
  background-size:3px 3px; opacity:.035; z-index:2;
}
:root[data-theme="dark"] .hero-grain{ opacity:.06; mix-blend-mode:overlay; }

.hero-bg{ position:absolute; inset:0; z-index:0; }
.hero-bg-photo{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  object-position:center; filter:saturate(.94) contrast(1.02);
}
.hero-bg-blur{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  object-position:center; filter:saturate(.94) contrast(1.02) blur(18px);
  -webkit-mask-image:linear-gradient(to right, #000 0%, #000 32%, transparent 54%);
  mask-image:linear-gradient(to right, #000 0%, #000 32%, transparent 54%);
}
.hero-bg-scrim{
  position:absolute; inset:0;
  background:linear-gradient(to right, rgba(250,249,246,.97) 0%, rgba(250,249,246,.92) 24%, rgba(250,249,246,.55) 42%, rgba(250,249,246,.1) 56%, rgba(250,249,246,0) 64%);
}
:root[data-theme="dark"] .hero-bg-scrim{
  background:linear-gradient(to right, rgba(11,27,39,.95) 0%, rgba(11,27,39,.88) 24%, rgba(11,27,39,.5) 42%, rgba(11,27,39,.12) 56%, rgba(11,27,39,0) 64%);
}
@media (max-width:920px){
  .hero-bg-blur{ -webkit-mask-image:none; mask-image:none; }
  .hero-bg-scrim{ background:linear-gradient(180deg, rgba(250,249,246,.94) 0%, rgba(250,249,246,.94) 100%); }
  :root[data-theme="dark"] .hero-bg-scrim{ background:linear-gradient(180deg, rgba(11,27,39,.92) 0%, rgba(11,27,39,.92) 100%); }
}

.hero-inner{
  position:relative; z-index:3; width:100%; max-width:640px;
  padding:110px 0 84px;
}
@media (max-width:920px){ .hero-inner{ max-width:none; padding:44px 0 32px; } }
body .hero-headline{
  font-family:"Playfair Display",Georgia,"Times New Roman",serif; font-size:clamp(40px,5.4vw,64px); line-height:1.15; letter-spacing:-.01em; font-weight:700;
  color:var(--teal-900);
}
body .hero-headline em{ font-style:normal; color:var(--teal-900); font-weight:600; }
.hero-sub{
  margin-top:22px; max-width:48ch; font-size:18px; line-height:1.6; font-weight:400; color:var(--slate);
}
.hero-ctas{ display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }

.hero-ctas .btn-primary{
  background:var(--accent); color:#fff; border:1px solid var(--accent); border-radius:999px;
}
.hero-ctas .btn-primary:hover{ background:var(--accent-strong); border-color:var(--accent-strong); }
.hero-ctas .btn-ghost{
  background:transparent; color:var(--navy-900); border:1px solid var(--border-strong); border-radius:999px;
}
.hero-ctas .btn-ghost:hover{ border-color:var(--navy-900); }

.hero-ledger .ledger-num{ font-family:Georgia,"Times New Roman",serif; font-size:26px; font-weight:600; color:var(--teal-900); }
.hero-ledger .ledger-label{ font-family:var(--font-body); font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--slate); }

.ai-answer-card{
  position:absolute; right:0; bottom:0; z-index:4; width:420px;
  background:var(--bg-raised); border:1px solid var(--border-strong); border-radius:8px;
  padding:24px 26px 22px; box-shadow:0 12px 32px -12px rgba(13,43,69,.22), 0 2px 6px rgba(13,43,69,.08);
}
@media (max-width:920px){ .ai-answer-card{ position:static; width:auto; margin-top:24px; } }
.ai-answer-head{ display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.ai-answer-head svg{ flex:none; }
.ai-answer-head span{ font-family:var(--font-mono); font-size:13.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--sec-strong); font-weight:600; white-space:nowrap; }
.ai-answer-card p{ font-size:17px; line-height:1.6; color:var(--text); }
.ai-answer-card p + p{ margin-top:12px; }
.ai-answer-card a{ display:inline-flex; align-items:center; gap:5px; margin-top:14px; font-size:15.5px; font-weight:600; color:var(--sec-strong); text-decoration:none; }

/* Stat ledger strip */
.ledger{
  margin-top:48px; border-top:1px solid var(--border-strong); border-bottom:1px solid var(--border-strong);
  display:grid; grid-template-columns:repeat(4,1fr);
}
@media (max-width:720px){ .ledger{ grid-template-columns:repeat(2,1fr); } }
.ledger-cell{
  padding:22px 24px; border-right:1px solid var(--border);
}
.ledger-cell:last-child{ border-right:none; }
@media (max-width:720px){ .ledger-cell:nth-child(2n){ border-right:none; } .ledger-cell{ border-bottom:1px solid var(--border);} .ledger-cell:nth-last-child(-n+2){border-bottom:none;} }
.ledger-num{ font-family:var(--font-mono); font-size:27px; font-weight:400; color:var(--ink); letter-spacing:-.01em; }
:root[data-theme="dark"] .ledger-num, @media (prefers-color-scheme:dark){ .ledger-num{ color:var(--text);} }
.ledger-label{ font-size:13.5px; color:var(--text-muted); margin-top:4px; }

.hero-ledger{ grid-template-columns:repeat(2,1fr); max-width:460px; border-color:var(--border-strong); }
.hero-ledger .ledger-cell{ padding:16px 20px; border-color:var(--border); }
.hero-ledger .ledger-cell:nth-child(2n){ border-right:none; }
.hero-ledger .ledger-cell:nth-child(-n+2){ border-bottom:1px solid var(--border); }
.hero-ledger .ledger-num{ font-size:26px; }
.hero-ledger .ledger-label{ font-size:13.5px; }
@media (max-width:920px){ .hero-ledger{ max-width:none; } }

/* Trust strip */
.trust{ padding:44px 0; background:var(--paper); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.trust-label{
  text-align:center; font-family:var(--font-mono); font-size:14px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--navy-900); margin-bottom:26px; font-weight:600;
}
.trust-row{ display:flex; align-items:center; justify-content:center; gap:44px; flex-wrap:wrap; opacity:.95; }
.trust-row .tlogo{ font-family:var(--font-display); font-weight:600; font-size:17px; color:var(--navy-900); white-space:nowrap; letter-spacing:.01em; }
.trust-row .tlogo b{ color:var(--navy-900); font-weight:700; }
.trust-row .tlogo-chip{ display:flex; align-items:center; justify-content:center; background:#fff; border-radius:6px; padding:9px 16px; border:1px solid var(--border); }
.trust-row .tlogo-img{ height:32px; width:auto; display:block; }
.trust-row .tlogo-icon{ display:flex; align-items:center; justify-content:center; width:38px; height:38px; flex:none; }
.trust-row .tlogo-icon-img{ width:100%; height:100%; object-fit:contain; display:block; }
.trust-row .tlogo-text{ font-family:var(--font-mono); font-weight:600; font-size:13.5px; letter-spacing:.02em; line-height:1.35; color:var(--navy-900); white-space:nowrap; text-align:left; }
@media (max-width:560px){ .trust-row .tlogo-text{ white-space:normal; max-width:220px; } }
.trust-row .tlogo-pair{ display:flex; align-items:center; gap:10px; }
.trust-row .tlogo-pair .tlogo-text{ text-align:left; }

/* ---------- Section scaffolding ---------- */
section{ padding:98px 0; }
.section-alt{ background:var(--bg-raised); }
.section-head{ display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:34px; flex-wrap:wrap; }
.section-head-center{ justify-content:center; text-align:center; }
.section-title{ font-size:clamp(24px,2.6vw,32px); }

/* ---------- Broker banner ---------- */
#broker-banner{ position:relative; overflow:hidden; background:var(--teal-500); padding:64px 0; }
#broker-banner .wrap{ position:relative; z-index:1; padding-left:160px; padding-right:160px; }
@media (max-width:1280px){ #broker-banner .wrap{ padding-left:100px; padding-right:100px; } }
@media (max-width:900px){ #broker-banner .wrap{ padding-left:56px; padding-right:56px; } }
@media (max-width:600px){ #broker-banner .wrap{ padding-left:24px; padding-right:24px; } }
.broker-banner-inner{
  display:grid; grid-template-columns:0.7fr 1.2fr 0.7fr; gap:40px; align-items:center;
}
@media (max-width:980px){ .broker-banner-inner{ grid-template-columns:1fr; text-align:center; } }
.broker-banner-photo{ max-width:320px; margin:0 auto; border-radius:14px; overflow:hidden; box-shadow:0 16px 36px -16px rgba(13,43,69,.35); }
.broker-banner-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.broker-banner-photo-cutout{
  max-width:100%; border-radius:0; overflow:visible; box-shadow:none; background:none;
}
.broker-banner-photo-cutout img{ width:100%; height:auto; object-fit:contain; }
.broker-banner-video-placeholder{
  aspect-ratio:4/5; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  background:var(--navy-800); color:#fff;
}
.broker-banner-video-placeholder span{ font-size:13px; font-weight:600; letter-spacing:.02em; color:rgba(255,255,255,.8); }
.broker-banner-copy{ position:relative; z-index:1; text-align:center; }
.broker-banner-name{ color:var(--navy-900); font-size:clamp(26px,2.6vw,32px); line-height:1.2; text-transform:none; }
.broker-banner-role{ margin-top:10px; font-size:16px; font-weight:700; color:var(--navy-800); }
.broker-banner-tagline{ margin-top:20px; font-family:var(--font-display); font-size:19px; font-style:normal; line-height:1.5; color:var(--navy-800); }
.broker-banner-phone{
  margin-top:26px; display:inline-flex; align-items:center; gap:10px; background:var(--navy-900); color:#fff;
  text-decoration:none; font-size:15px; font-weight:700; padding:14px 26px; border-radius:999px;
}
.broker-banner-phone:hover{ background:var(--navy-800); }

/* ---------- Why Choose ---------- */
#why-choose{ background:var(--paper); border-top:4px solid var(--teal-500); }
#why-choose .section-title{ width:100%; text-align:center; text-transform:none; }
#process .section-title{ text-transform:none; }
.why-choose-sub{ max-width:52ch; margin:14px auto 0; font-size:16.5px; line-height:1.6; color:var(--text-muted); }
.why-choose-grid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; max-width:980px; margin:0 auto; }
@media (max-width:820px){ .why-choose-grid{ grid-template-columns:1fr; max-width:520px; } }
.why-choose-card{
  position:relative; overflow:hidden; display:flex; gap:20px; background:#fff; border-radius:10px;
  padding:30px 32px; border-top:3px solid var(--teal-500); box-shadow:0 2px 10px -6px rgba(13,43,69,.12);
}
.why-choose-gold{ border-top-color:var(--gold-500); }
.why-choose-teal{ border-top-color:var(--teal-600); }
.why-choose-card::after{
  content:""; position:absolute; top:-18px; right:-18px; width:80px; height:80px; border-radius:50%;
  background:var(--paper-2); z-index:0;
}
.why-choose-icon{
  position:relative; z-index:1; flex:none; width:52px; height:52px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
}
.why-choose-icon-gold{ background:var(--gold-600); }
.why-choose-icon-teal{ background:var(--navy-800); }
.why-choose-card > div:last-child{ position:relative; z-index:1; }
.why-choose-title{ font-size:19px; color:var(--teal-900); text-transform:none; }
.why-choose-text{ margin-top:10px; font-size:15px; line-height:1.6; color:var(--text-muted); }
.listings-title{ text-transform:none; letter-spacing:normal; }
.view-all{ font-size:15px; font-weight:600; text-decoration:none; color:var(--sec-strong); white-space:nowrap; display:inline-flex; gap:6px; align-items:center; }
.view-all:hover{ text-decoration:underline; }

/* ---------- Listings ---------- */
#listings .wrap{ max-width:1300px; }
.listings-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
@media (max-width:980px){ .listings-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .listings-grid{ grid-template-columns:1fr; } }
.listing-card{
  background:var(--card-bg); border:1px solid var(--border); border-radius:8px; overflow:hidden;
  display:flex; flex-direction:column; box-shadow:0 2px 8px -4px rgba(13,43,69,.08);
  transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.listing-card:hover{
  border-color:var(--border-strong); transform:translateY(-2px);
  box-shadow:0 12px 32px -12px rgba(13,43,69,.22), 0 2px 6px rgba(13,43,69,.08);
}
.listing-photo-wrap{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--paper-2); }
.listing-photo-wrap img{ width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.9); }
.tag{
  position:absolute; top:12px; left:12px; font-family:var(--font-mono); font-size:10px; letter-spacing:.08em;
  text-transform:uppercase; padding:5px 9px; border-radius:2px; font-weight:600;
}
.tag-new{ background:var(--tag-new-bg); color:var(--tag-new-fg); }
.tag-reduced{ background:var(--tag-reduced-bg); color:var(--tag-reduced-fg); }
.tag-pending{ background:var(--tag-pending-bg); color:var(--tag-pending-fg); }
.tag-confidential{ background:var(--tag-confidential-bg); color:var(--tag-confidential-fg); }
.listing-body{ padding:18px 18px 20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.listing-location{
  font-family:var(--font-mono); font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--accent-strong);
}
.listing-title{ font-size:17px; font-weight:600; font-family:var(--font-display); line-height:1.25; color:var(--teal-900); }
.listing-title a{ text-decoration:none; color:inherit; }
.listing-title a:hover{ color:var(--sec-strong); }
.listing-excerpt{ font-size:15px; line-height:1.6; color:var(--text-muted); flex:1; }
.listing-cta{
  margin-top:12px; align-self:flex-start; text-align:center; padding:11px 22px; background:var(--accent); color:#fff;
  border:1px solid var(--accent); text-decoration:none; font-size:14px; font-weight:700; display:inline-block; border-radius:999px;
}
.listing-cta:hover{ background:var(--accent-strong); border-color:var(--accent-strong); color:#fff; }

.listings-footer{ display:flex; justify-content:center; margin-top:40px; }
.listings-footer .btn-primary{
  background:var(--sec); color:#fff; border:1px solid var(--sec); border-radius:999px; padding:14px 30px;
}
.listings-footer .btn-primary:hover{ background:var(--sec-strong); border-color:var(--sec-strong); }

/* ---------- Team section ---------- */
.team-inner{ display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; }
@media (max-width:860px){ .team-inner{ grid-template-columns:1fr; gap:28px; } }
.team-photo{ border-radius:6px; overflow:hidden; box-shadow:var(--shadow); }
.team-photo img{ width:100%; height:auto; display:block; }
.team-title{
  font-family:"Playfair Display",Georgia,"Times New Roman",serif; font-size:clamp(28px,2.8vw,36px);
  font-weight:700; text-transform:none; letter-spacing:normal; color:var(--teal-900);
}
.team-copy p{ margin-top:16px; font-size:17px; line-height:1.65; color:var(--text-muted); }
.team-list{ list-style:none; padding:0; margin:22px 0 0; display:flex; flex-direction:column; gap:14px; }
.team-list li{ display:flex; gap:12px; align-items:flex-start; font-size:16px; font-weight:600; color:var(--teal-900); }
.team-list li svg{ flex:none; margin-top:1px; color:#fff; background:var(--accent); border-radius:50%; padding:5px; width:16px; height:16px; box-sizing:content-box; }

/* ---------- Split banner (sell/buy) ---------- */
.split-banner{ background:var(--teal-ink); color:var(--paper); padding:0; }
:root[data-theme="dark"] .split-banner{ background:var(--teal-ink-2); }
.split-inner{
  display:grid; grid-template-columns:1fr auto 1fr; gap:0; align-items:stretch; padding:88px 0;
}
@media (max-width:900px){ .split-inner{ grid-template-columns:1fr; gap:40px; padding:56px 0; } }
.split-col{ padding:0 60px; display:flex; flex-direction:column; gap:16px; }
.split-col:first-child{ padding-left:0; }
.split-col:last-child{ padding-right:0; text-align:right; }
@media (max-width:900px){ .split-col{ padding:0 !important; text-align:left !important; } }
.split-col h3{ font-size:30px; color:var(--paper); margin-top:6px; }
.split-rule{ width:44px; height:2px; background:var(--accent); margin:14px 0 4px; }
.split-col:last-child .split-rule{ margin-left:auto; }
@media (max-width:900px){ .split-col:last-child .split-rule{ margin-left:0; } }
.split-col p{ color:#C8CED2; font-size:16px; max-width:38ch; }
.split-col:last-child p{ margin-left:auto; }
@media (max-width:900px){ .split-col:last-child p{ margin-left:0; } }
.split-list{ list-style:none; padding:0; margin:6px 0 0; display:flex; flex-direction:column; gap:14px; }
.split-col:last-child .split-list{ align-items:flex-end; }
@media (max-width:900px){ .split-col:last-child .split-list{ align-items:flex-start; } }
.split-list li{ font-size:16px; display:flex; align-items:center; gap:14px; color:#E4E7E8; }
.split-col:last-child .split-list li{ flex-direction:row-reverse; }
@media (max-width:900px){ .split-col:last-child .split-list li{ flex-direction:row; } }

.split-ico{
  flex:none; width:36px; height:36px; border-radius:50%;
  border:1.5px solid var(--accent); color:var(--accent);
  display:flex; align-items:center; justify-content:center;
  background:rgba(201,166,90,.08);
}
.split-ico-lg{ width:44px; height:44px; }
.split-col .btn-primary{
  align-self:flex-start; margin-top:8px;
  background:var(--accent); border-color:var(--accent); color:var(--navy-900);
}
.split-col .btn-primary:hover{ background:var(--accent-strong); border-color:var(--accent-strong); }
.split-col:last-child .btn-primary{ align-self:flex-end; }
@media (max-width:900px){ .split-col:last-child .btn-primary{ align-self:flex-start; } }
.split-mid{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:16px; padding:0 64px;
  border-left:1px solid rgba(255,255,255,.14); border-right:1px solid rgba(255,255,255,.14);
}
@media (max-width:900px){ .split-mid{ border-left:none; border-right:none; border-top:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); padding:40px 0; } }
.split-portrait{ width:220px; height:220px; border-radius:50%; overflow:hidden; border:5px solid var(--accent); box-shadow:0 8px 24px -8px rgba(0,0,0,.4); }
.split-portrait img{ width:100%; height:100%; object-fit:cover; object-position:top center; }

.split-stats{ display:flex; align-items:stretch; gap:0; width:100%; max-width:300px; }
.split-stat-row{ flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:0 12px; }
.split-stat-row + .split-stat-row{ border-left:1px solid rgba(255,255,255,.14); }
.split-stat-num{ font-family:var(--font-mono); font-size:28px; font-weight:600; color:var(--accent); line-height:1; }
.split-stat-label{ font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:#C8CED2; }
.split-mid-label{
  display:flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:12px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--accent); margin-top:6px; font-weight:600;
  padding-top:18px; border-top:1px solid rgba(255,255,255,.14); width:100%; max-width:300px; justify-content:center;
}
.split-mid-label svg{ flex:none; }

.split-mid-list{
  list-style:none; padding:0; margin:2px 0 0; width:100%; max-width:300px;
  display:flex; flex-direction:column; gap:8px; text-align:left;
}
.split-mid-list li{ font-size:14px; display:flex; gap:8px; align-items:flex-start; color:#C8CED2; }
.split-mid-list li b{ color:var(--accent); flex:none; }
.split-mid .btn-ghost{
  margin-top:4px; border-color:rgba(255,255,255,.3); color:var(--paper);
}
.split-mid .btn-ghost:hover{ border-color:var(--paper); }

.split-trustbar{ border-top:1px solid rgba(255,255,255,.14); background:rgba(0,0,0,.12); }
.split-trustbar-row{
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:48px;
  padding:28px 0;
}
.split-trust-item{ display:flex; align-items:center; gap:12px; }
.split-trust-item span:last-child{
  font-size:13px; letter-spacing:.05em; text-transform:uppercase; font-weight:600; color:#E4E7E8; line-height:1.4;
}

/* ---------- Process timeline ---------- */
.process-wrap{ overflow-x:auto; padding-bottom:8px; }
.process-track{
  display:grid; grid-template-columns:repeat(9, minmax(96px,1fr)); gap:0; min-width:828px;
  position:relative;
}
.process-track::before{
  content:""; position:absolute; top:19px; left:0; right:0; height:1px; background:var(--border-strong);
}
.process-step{ display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 8px; position:relative; }
.process-num{
  width:38px; height:38px; border-radius:50%; background:var(--bg); border:1.5px solid var(--accent);
  color:var(--accent-strong); font-family:var(--font-mono); font-size:13px; font-weight:600;
  display:flex; align-items:center; justify-content:center; position:relative; z-index:1;
}
.process-title{ font-size:12.5px; font-weight:600; margin-top:12px; }
.process-desc{ font-size:11.5px; color:var(--text-muted); margin-top:4px; line-height:1.4; }

/* ---------- 4-col info grid ---------- */
.info-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); }
@media (max-width:980px){ .info-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .info-grid{ grid-template-columns:1fr; } }
.info-col{ background:var(--bg); padding:26px 24px; display:flex; flex-direction:column; gap:16px; }
.info-col-head{ display:flex; align-items:center; justify-content:space-between; }
.info-col-title{ font-family:var(--font-mono); font-size:11.5px; letter-spacing:.09em; text-transform:uppercase; font-weight:600; color:var(--text); }

.insight-item{ display:flex; gap:11px; align-items:flex-start; }
.insight-item svg{ flex:none; color:var(--sec); margin-top:2px; }
.insight-item span{ font-size:14.5px; color:var(--text-muted); line-height:1.5; }

.faq-item{ border-top:1px solid var(--border); }
.faq-item:first-child{ border-top:none; }
.faq-q{ padding:12px 0; display:flex; align-items:center; justify-content:space-between; gap:10px; cursor:pointer; }
.faq-q span{ font-size:15px; font-weight:600; line-height:1.4; }
.faq-q .plus{ flex:none; color:var(--accent-strong); font-family:var(--font-mono); font-size:16px; }


.resource-item{ display:flex; align-items:center; gap:10px; font-size:15px; padding:2px 0; }
.resource-item svg{ flex:none; color:var(--sec); }

/* ---------- About / coverage / articles row ---------- */
.trio-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:stretch; }
@media (max-width:820px){ .trio-grid{ grid-template-columns:1fr; } }
.panel{ border:1px solid var(--border); border-radius:8px; background:var(--card-bg); padding:26px; box-shadow:var(--shadow); }
.panel-title{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); margin-bottom:16px; font-weight:600; }

.testimonials-panel{ display:flex; flex-direction:column; }
.testimonials-panel .lc_reviews_widget{ min-height:340px; border:none; }

.map-panel{ display:flex; flex-direction:column; gap:16px; }
.ca-map{ align-self:center; width:100%; height:auto; border-radius:2px; }

.article-row{ display:flex; gap:14px; padding:14px 0; border-top:1px solid var(--border); }
.article-row:first-child{ border-top:none; padding-top:0; }
.article-thumb{ width:64px; height:64px; border-radius:2px; overflow:hidden; flex:none; background:var(--paper-2); }
.article-thumb img{ width:100%; height:100%; object-fit:cover; }
.article-cat{ font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--sec-strong); font-weight:600; }
.article-title{ font-size:15px; font-weight:600; margin-top:4px; line-height:1.4; }
.article-meta{ font-size:11.5px; color:var(--text-muted); margin-top:5px; }

/* ---------- Final CTA ---------- */
.final-cta{ background:var(--cta-bg); color:#fff; padding:90px 0; }
:root[data-theme="dark"] .final-cta{ background:var(--cta-bg); }
.final-inner{ display:flex; align-items:center; justify-content:space-between; gap:48px; padding:44px 32px; flex-wrap:wrap; }
@media (max-width:720px){ .final-inner{ padding:36px 20px; gap:28px; } }
.final-left{ display:flex; align-items:center; gap:16px; }
.final-left svg{ flex:none; }
.final-left h4{ color:#fff; font-size:19px; }
.final-left p{ color:#D7E5E1; font-size:14.5px; margin-top:3px; }
.final-badges{ display:flex; gap:44px; flex-wrap:wrap; }
.final-badge{ display:flex; align-items:center; gap:12px; font-size:14px; color:#E4EEEB; }
.final-badge svg{ flex:none; width:26px; height:26px; color:var(--gold-300); }

/* ---------- Testimonials (on final CTA background) ---------- */
.testimonials-block{ text-align:center; margin-bottom:80px; }
.testimonials-eyebrow{ color:var(--gold-300); text-align:center; }
.testimonials-title{ color:#fff; font-size:clamp(28px,3vw,38px); margin-top:10px; margin-bottom:48px; text-transform:none; }
.testimonials-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:left; margin-left:56px; margin-right:56px; }
@media (max-width:1280px){ .testimonials-grid{ margin-left:40px; margin-right:40px; } }
@media (max-width:720px){ .testimonials-grid{ margin-left:20px; margin-right:20px; } }
@media (max-width:980px){ .testimonials-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .testimonials-grid{ grid-template-columns:1fr; } }
.testimonial-card{
  background:#fff; border-radius:8px; padding:26px 24px; border-top:3px solid var(--teal-500);
  display:flex; flex-direction:column; gap:14px;
}
.testimonial-card:nth-child(1),.testimonial-card:nth-child(4){ border-top-color:var(--gold-500); }
.testimonial-quote{ color:var(--paper-3); }
.testimonial-stars{ color:var(--gold-500); font-size:14px; letter-spacing:2px; }
.testimonial-quote-text{ font-family:var(--font-display); font-style:italic; font-size:15.5px; line-height:1.55; color:var(--navy-900); flex:1; }
.testimonial-person{ display:flex; align-items:center; gap:12px; padding-top:14px; border-top:1px solid var(--border); }
.testimonial-avatar{
  flex:none; width:38px; height:38px; border-radius:50%; background:var(--navy-800); color:#fff;
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:600; font-size:13px;
}
.testimonial-card:nth-child(1) .testimonial-avatar,.testimonial-card:nth-child(4) .testimonial-avatar{ background:var(--gold-600); }
.testimonial-name{ display:block; font-size:14px; font-weight:700; color:var(--navy-900); }
.testimonial-tag{ display:block; font-size:11.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--gold-600); margin-top:2px; }

.final-inner-simple{ text-align:center; max-width:720px; margin:0 auto; padding-top:56px; }
.final-title{ color:#fff; font-size:clamp(22px,2.6vw,34px); text-transform:none; white-space:nowrap; }
@media (max-width:640px){ .final-title{ white-space:normal; } }
.final-sub{ color:#D7E5E1; font-size:16.5px; line-height:1.6; margin-top:16px; }
.final-inner-simple .btn-primary{
  margin-top:28px; display:inline-flex; background:var(--accent); color:#fff; border:1px solid var(--accent); border-radius:999px; padding:14px 32px;
}
.final-inner-simple .btn-primary:hover{ background:var(--accent-strong); border-color:var(--accent-strong); }

/* ---------- Footer ---------- */
footer{ background:var(--footer-bg); color:#C8CED2; padding:56px 0 22px; }
:root[data-theme="dark"] footer{ background:var(--footer-bg); }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; }
@media (max-width:820px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-brand{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.footer-brand .brand-mark{ border-color:#C8CED2; color:#F2EEE1; }
.footer-brand-text-1{ font-family:var(--font-display); font-weight:600; font-size:16px; color:#F2EEE1; }
.footer-brand-text-2{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:#8A99A1; margin-top:2px; }
.footer-desc{ font-size:14.5px; line-height:1.65; color:#9AA7AD; max-width:34ch; }
.footer-social{ display:flex; gap:12px; margin-top:18px; }
.footer-social a{ width:32px; height:32px; border:1px solid #1D4C53; border-radius:50%; display:flex; align-items:center; justify-content:center; text-decoration:none; }
.footer-social a:hover{ border-color:var(--accent); }
.footer-col h5{ font-family:var(--font-mono); font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:#8A99A1; font-weight:600; margin-bottom:14px; }
.footer-col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:9px; }
.footer-col a{ font-size:14.5px; color:#C8CED2; text-decoration:none; }
.footer-col a:hover{ color:var(--accent); }
.footer-contact-item{ display:flex; gap:9px; font-size:14.5px; color:#C8CED2; align-items:flex-start; }
.footer-contact-item svg{ flex:none; margin-top:2px; color:var(--accent); }
.footer-bottom{
  margin-top:44px; padding-top:22px; border-top:1px solid #17393E;
  display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;
  font-size:12px; color:#7C8B93;
}
.footer-bottom-links{ display:flex; gap:22px; }
.footer-bottom-links a{ color:#7C8B93; text-decoration:none; }
.footer-bottom-links a:hover{ color:var(--accent); }

@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; animation:none !important; }
}
