
:root{
  --porcelain:#FCFBF7;
  --graphite:#16181D;
  --stone:#6B6F76;
  --brass:#A9855C;
  --brass-deep:#8A6A44;
  --signal:#2E6E8E;
  --signal-soft:#E8F0F4;
  --line:#E5E1D8;
  --card:#FFFFFF;
  --radius:14px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',sans-serif;
  background:var(--porcelain);
  color:var(--graphite);
  font-weight:300;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{font-family:'Fraunces',serif;font-weight:400}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.eyebrow{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--brass-deep);font-weight:500;margin-bottom:14px;
}
section{padding:96px 0}
@media(max-width:720px){section{padding:64px 0}}

/* ---------- NAV ---------- */
nav{
  position:sticky;top:0;z-index:50;
  background:rgba(252,251,247,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font-family:'Fraunces',serif;font-size:19px;letter-spacing:.04em}
.logo b{font-weight:600}
.logo .tick{color:var(--brass)}
.nav-links{display:flex;gap:30px;align-items:center;font-size:13.5px;font-weight:400}
.nav-links a{color:var(--stone);transition:color .2s}
.nav-links a:hover{color:var(--graphite)}
.nav-cta{
  background:var(--graphite);color:#fff;padding:10px 20px;border-radius:100px;
  font-size:13px;font-weight:500;transition:background .2s;
}
.nav-cta:hover{background:var(--brass-deep);color:#fff}
@media(max-width:860px){.nav-links a:not(.nav-cta){display:none}}

/* ---------- HERO ---------- */
.hero{
  padding:100px 0 84px;text-align:center;position:relative;overflow:hidden;
  background-image:linear-gradient(rgba(14,16,20,.60),rgba(14,16,20,.55) 45%,rgba(252,251,247,.97) 96%,#FCFBF7);
  background-size:cover;background-position:center 30%;
}
.hero .eyebrow{color:#D9B98C}
.hero h1{color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero h1 em{color:#E4C79B}
.hero p.sub{color:rgba(255,255,255,.88);text-shadow:0 1px 12px rgba(0,0,0,.3)}
.hero-stats div{color:#5A5E66}

.hero h1{
  font-size:clamp(38px,6vw,66px);line-height:1.08;letter-spacing:-.01em;
  max-width:800px;margin:0 auto 20px;
}
.hero h1 em{font-style:italic;color:var(--brass-deep)}
.hero p.sub{
  max-width:560px;margin:0 auto 46px;color:var(--stone);font-size:17px;
}
.hero-stats{
  display:flex;gap:44px;justify-content:center;margin-top:64px;flex-wrap:wrap;
}
.hero-stats div{font-size:12.5px;color:var(--stone);letter-spacing:.04em}
.hero-stats b{
  display:block;font-family:'Fraunces',serif;font-size:26px;font-weight:500;
  color:var(--graphite);letter-spacing:0;
}

/* ---------- VOICE MODULE (signature) ---------- */
.voice-shell{
  max-width:760px;margin:0 auto;background:var(--card);
  border:1px solid var(--line);border-radius:24px;
  box-shadow:0 24px 60px -30px rgba(22,24,29,.18);
  padding:44px 40px 36px;position:relative;
}
.voice-lang{
  position:absolute;top:18px;right:20px;display:flex;gap:4px;
  background:var(--porcelain);border:1px solid var(--line);border-radius:100px;padding:3px;
}
.voice-lang button{
  border:none;background:transparent;padding:5px 13px;border-radius:100px;
  font-family:'Inter',sans-serif;font-size:12px;cursor:pointer;color:var(--stone);
}
.voice-lang button.on{background:var(--graphite);color:#fff}
.mic-ring{position:relative;width:120px;height:120px;margin:0 auto 22px}
.mic-btn{
  position:absolute;inset:14px;border-radius:50%;border:none;cursor:pointer;
  background:var(--graphite);color:#fff;display:flex;align-items:center;justify-content:center;
  transition:transform .2s, background .3s;z-index:2;
}
.mic-btn:hover{transform:scale(1.05)}
.mic-btn.live{background:var(--signal)}
.mic-btn svg{width:34px;height:34px}
.mintel{
  position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--signal);
  opacity:0;pointer-events:none;
}
.mic-ring.live .mintel{animation:mintel 1.8s ease-out infinite}
.mic-ring.live .mintel:nth-child(2){animation-delay:.6s}
.mic-ring.live .mintel:nth-child(3){animation-delay:1.2s}
@keyframes mintel{0%{transform:scale(.75);opacity:.7}100%{transform:scale(1.35);opacity:0}}
@media(prefers-reduced-motion:reduce){.mic-ring.live .mintel{animation:none;opacity:.4}}
.voice-status{text-align:center;font-size:14px;color:var(--stone);min-height:22px;margin-bottom:6px}
.voice-status.live{color:var(--signal);font-weight:500}
.voice-hint{text-align:center;font-size:12.5px;color:#A6A9AF;margin-bottom:20px}
.transcript{
  background:var(--porcelain);border:1px dashed var(--line);border-radius:var(--radius);
  padding:16px 18px;font-size:15px;min-height:56px;color:var(--graphite);
  font-style:italic;display:none;
}
.transcript.show{display:block}
.type-row{display:flex;gap:10px;margin-top:14px}
.type-row input{
  flex:1;border:1px solid var(--line);border-radius:100px;padding:12px 20px;
  font-family:'Inter',sans-serif;font-size:14px;background:var(--porcelain);outline:none;
}
.type-row input:focus{border-color:var(--signal)}
.type-row button{
  border:none;background:var(--brass);color:#fff;border-radius:100px;padding:12px 24px;
  font-family:'Inter',sans-serif;font-size:13.5px;font-weight:500;cursor:pointer;
}
.type-row button:hover{background:var(--brass-deep)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;justify-content:center}
.chip{
  background:var(--signal-soft);color:var(--signal);border-radius:100px;
  padding:6px 15px;font-size:12.5px;font-weight:500;
}
.thinking{
  display:none;text-align:center;margin-top:18px;font-size:13.5px;color:var(--signal);
}
.thinking.show{display:block}
.dots::after{content:'';animation:dots 1.4s steps(4,end) infinite}
@keyframes dots{0%{content:''}25%{content:'.'}50%{content:'..'}75%{content:'...'}}

/* ---------- LIFESTYLE ---------- */
.life-panel{max-width:820px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:34px 36px;box-shadow:0 18px 44px -28px rgba(22,24,29,.15)}
.life-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:26px}
.life-chips button{border:1px solid var(--line);background:var(--porcelain);border-radius:100px;padding:10px 18px;font-family:'Inter',sans-serif;font-size:13.5px;color:var(--graphite);cursor:pointer;transition:all .15s;display:flex;gap:8px;align-items:center}
.life-chips button:hover{border-color:var(--brass)}
.life-chips button.on{background:var(--graphite);color:#fff;border-color:var(--graphite)}
.life-chips button.on .ic{filter:grayscale(1) brightness(3)}
.life-row{display:flex;gap:18px;align-items:center;justify-content:center;margin-bottom:24px;font-size:14px;color:var(--stone)}
.life-row b{color:var(--graphite);font-family:'Fraunces',serif;font-size:17px}
.life-row input[type=range]{width:260px;accent-color:var(--brass)}
.life-go{display:block;margin:0 auto;border:none;background:var(--brass);color:#fff;border-radius:100px;padding:14px 32px;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;cursor:pointer}
.life-go:hover{background:var(--brass-deep)}

/* ---------- MATCHES ---------- */
#matches{display:none;padding-top:72px}
#matches.show{display:block}
.match-head{text-align:center;margin-bottom:40px}
.match-head p{color:var(--stone);max-width:540px;margin:8px auto 0;font-size:15px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px}
.prop{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;transition:transform .25s, box-shadow .25s;
}
.prop:hover{transform:translateY(-4px);box-shadow:0 20px 44px -22px rgba(22,24,29,.22)}
.prop .ph{height:210px;background-size:cover;background-position:center;position:relative}
.match-badge{
  position:absolute;top:14px;left:14px;background:var(--signal);color:#fff;
  border-radius:100px;padding:5px 13px;font-size:11.5px;font-weight:600;letter-spacing:.03em;
}
.prop .body{padding:22px 22px 24px}
.prop .price{font-family:'Fraunces',serif;font-size:22px;font-weight:500}
.prop .name{font-size:14.5px;color:var(--stone);margin:2px 0 12px}
.prop .specs{display:flex;gap:16px;font-size:12.5px;color:var(--stone);border-top:1px solid var(--line);padding-top:12px}
.prop .specs b{color:var(--graphite);font-weight:600}
.why{
  margin-top:12px;background:var(--signal-soft);border-radius:10px;padding:10px 14px;
  font-size:12.5px;color:var(--signal);line-height:1.5;
}

/* ---------- COMMUTE + SCHOOL ROWS ---------- */
.life-extra{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}
@media(max-width:640px){.life-extra{grid-template-columns:1fr}}
.life-extra .cell{background:var(--porcelain);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.life-extra label{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:500;margin-bottom:10px}
.life-extra select{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-family:'Inter',sans-serif;font-size:13.5px;background:#fff;outline:none;color:var(--graphite)}
.life-extra .commute-line{display:flex;gap:10px;align-items:center;margin-top:10px;font-size:13px;color:var(--stone)}
.life-extra .commute-line input{flex:1;accent-color:var(--brass)}
.life-extra .commute-line b{color:var(--graphite);min-width:56px;text-align:right}

/* ---------- NEARBY EXPLORER ---------- */
.explore-btn{margin-top:12px;width:100%;border:1px solid var(--line);background:var(--porcelain);color:var(--graphite);border-radius:100px;padding:10px;font-family:'Inter',sans-serif;font-size:12.5px;font-weight:500;cursor:pointer;transition:all .15s}
.explore-btn:hover{background:var(--graphite);color:#fff;border-color:var(--graphite)}
.nearby-head{display:none;margin-top:34px;text-align:center}
.nearby-head.show{display:block}
.nearby-head .serif{font-size:22px}
.nearby-head .sub{font-size:13.5px;color:var(--stone);margin-top:4px}
.cat-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px 0 8px}
.cat-chips button{border:1px solid var(--line);background:#fff;border-radius:100px;padding:8px 16px;font-family:'Inter',sans-serif;font-size:12.5px;cursor:pointer;color:var(--stone);display:flex;gap:7px;align-items:center;transition:all .15s}
.cat-chips button .dot{width:9px;height:9px;border-radius:50%}
.cat-chips button.on{color:var(--graphite);border-color:var(--graphite);background:var(--porcelain)}
.cat-chips button.off{opacity:.4}
.nearby-list{display:none;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:20px}
.nearby-list.show{display:grid}
.nb{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;gap:12px;align-items:center}
.nb .dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}
.nb .t{font-size:13.5px;font-weight:500;line-height:1.3}
.nb .m{font-size:12px;color:var(--stone);margin-top:2px}
.nb .m b{color:var(--brass-deep);font-weight:600}

/* ---------- MARKET PULSE ---------- */
.mintel{background:#F6F0E4;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mintel-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:44px}
.ps{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px;text-align:center}
.ps .v{font-family:'Fraunces',serif;font-size:27px;font-weight:500}
.ps .v.up{color:#3E7C4F}.ps .v.down{color:#B5542D}
.ps .l{font-size:12px;color:var(--stone);margin-top:5px;line-height:1.45}
.mintel-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
@media(max-width:720px){.mintel-cols{grid-template-columns:1fr}}
.pcol{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 26px}
.pcol h4{font-family:'Fraunces',serif;font-size:18px;font-weight:500;margin-bottom:14px;display:flex;gap:9px;align-items:center}
.pcol.hot h4{color:#B5542D}.pcol.cool h4{color:var(--signal)}
.pcol li{list-style:none;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--graphite)}
.pcol li:last-child{border-bottom:none}
.mintel-tips{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
@media(max-width:720px){.mintel-tips{grid-template-columns:1fr}}
.ptip{border-radius:14px;padding:22px 26px;font-size:13.5px;line-height:1.65}
.ptip b{display:block;font-family:'Fraunces',serif;font-size:16px;font-weight:500;margin-bottom:8px}
.ptip.buyer{background:var(--signal-soft);color:#28536B}
.ptip.seller{background:#F3EBDD;color:#6B5433}
.mintel-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;flex-wrap:wrap}
.mintel-src{font-size:11.5px;color:#A6A9AF}
.mintel-btn{border:1px solid var(--line);background:#fff;color:var(--graphite);border-radius:100px;padding:11px 22px;font-family:'Inter',sans-serif;font-size:13px;font-weight:500;cursor:pointer}
.mintel-btn:hover{border-color:var(--signal);color:var(--signal)}
.mintel-btn.busy{color:var(--signal);border-color:var(--signal)}

/* ---------- QUIZ ---------- */
.quiz{background:#F5F2EA;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.quiz-card{max-width:680px;margin:44px auto 0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:40px 42px;box-shadow:0 18px 44px -28px rgba(22,24,29,.15)}
.quiz-q{font-family:'Fraunces',serif;font-size:23px;margin-bottom:22px}
.quiz-opts{display:grid;gap:10px}
.quiz-opts button{text-align:left;border:1px solid var(--line);background:var(--porcelain);border-radius:12px;padding:14px 18px;font-family:'Inter',sans-serif;font-size:14.5px;color:var(--graphite);cursor:pointer;transition:all .15s}
.quiz-opts button:hover{border-color:var(--brass);background:#fff}
.quiz-prog{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:14px;font-weight:500}
.quiz-result{text-align:center}
.quiz-result .hood{font-family:'Fraunces',serif;font-size:34px;margin:8px 0 12px}
.quiz-result p{color:var(--stone);font-size:15px;max-width:460px;margin:0 auto 24px}
.quiz-result button{border:none;background:var(--brass);color:#fff;border-radius:100px;padding:13px 28px;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;cursor:pointer;margin:0 6px}
.quiz-result button.ghost{background:transparent;color:var(--graphite);border:1px solid var(--line)}
.quiz-result button:hover{background:var(--brass-deep);color:#fff}

/* ---------- STAGING ---------- */
.stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;border-radius:var(--radius);overflow:hidden;margin-top:44px;border:1px solid var(--line)}
@media(max-width:640px){.stage-grid{grid-template-columns:1fr}}
.stage-grid .half{position:relative;height:340px;background-size:cover;background-position:center}
.stage-grid .tag{position:absolute;top:16px;left:16px;background:rgba(22,24,29,.82);color:#fff;border-radius:100px;padding:6px 16px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.stage-grid .half.after .tag{background:var(--brass)}
.stage-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px;margin-top:44px}
.stage-points h3{font-size:17px;font-weight:500;margin-bottom:8px}
.stage-points p{font-size:13.5px;color:var(--stone)}
.stage-points .n{font-family:'Fraunces',serif;color:var(--brass);font-size:14px;letter-spacing:.1em;margin-bottom:12px}

/* ---------- VALUATION ---------- */
.val{background:var(--graphite);color:#fff}
.val .eyebrow{color:var(--brass)}
.val .match-head p{color:#A6A9AF}
.val-card{max-width:920px;margin:44px auto 0;background:#1D2026;border:1px solid #2A2D34;border-radius:20px;padding:38px 40px}
.val-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.val-form .f label{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);font-weight:500;margin-bottom:8px}
.val-form input,.val-form select{width:100%;border:1px solid #33373F;border-radius:10px;padding:12px 14px;font-family:'Inter',sans-serif;font-size:14px;background:#14161B;color:#fff;outline:none}
.val-form input:focus,.val-form select:focus{border-color:var(--brass)}
.val-go{grid-column:1/-1;border:none;background:var(--brass);color:#fff;border-radius:100px;padding:15px;font-family:'Inter',sans-serif;font-size:14.5px;font-weight:500;cursor:pointer;margin-top:6px}
.val-go:hover{background:var(--brass-deep)}
.val-out{display:none;margin-top:38px;border-top:1px solid #2A2D34;padding-top:34px}
.val-out.show{display:block}
.val-num{text-align:center;margin-bottom:8px}
.val-num .big{font-family:'Fraunces',serif;font-size:clamp(30px,5vw,46px);color:#fff}
.val-num .rng{font-size:14px;color:#A6A9AF;margin-top:6px}
.val-num .conf{display:inline-block;margin-top:12px;background:rgba(169,133,92,.15);color:var(--brass);border-radius:100px;padding:6px 16px;font-size:12px;letter-spacing:.06em}
.comps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:30px 0}
.comp{background:#14161B;border:1px solid #2A2D34;border-radius:14px;padding:18px}
.comp .cp{font-family:'Fraunces',serif;font-size:19px}
.comp .cn{font-size:12.5px;color:#A6A9AF;margin:3px 0 10px}
.comp .adj{font-size:12px;color:#8B8F96;line-height:1.7;border-top:1px solid #2A2D34;padding-top:10px}
.comp .adj b{color:var(--brass)}
.val-strategy{background:#14161B;border:1px solid #2A2D34;border-left:3px solid var(--brass);border-radius:14px;padding:22px 26px;font-size:14px;color:#C9CCD1;line-height:1.75}
.val-strategy h4{font-family:'Fraunces',serif;font-size:18px;color:#fff;margin-bottom:10px;font-weight:500}
.val-note{font-size:11.5px;color:#6B6F76;text-align:center;margin-top:22px}
.val-cta{text-align:center;margin-top:26px}

/* ---------- MORTGAGE ---------- */
.mort-card{max-width:960px;margin:44px auto 0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:38px 40px;box-shadow:0 18px 44px -28px rgba(22,24,29,.15)}
.mort-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
@media(max-width:820px){.mort-grid{grid-template-columns:1fr}}
.mort-form .f{margin-bottom:16px}
.mort-form label{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:500;margin-bottom:8px}
.mort-form input,.mort-form select{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-family:'Inter',sans-serif;font-size:14px;background:var(--porcelain);outline:none;color:var(--graphite)}
.mort-form input:focus,.mort-form select:focus{border-color:var(--brass)}
.mort-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dp-line{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--stone)}
.dp-line input[type=range]{flex:1;accent-color:var(--brass)}
.dp-line b{color:var(--graphite);min-width:88px;text-align:right;font-size:13.5px}
.mort-out .pay{font-family:'Fraunces',serif;font-size:clamp(32px,5vw,44px)}
.mort-out .pay small{font-size:16px;color:var(--stone);font-family:'Inter',sans-serif;font-weight:300}
.mort-break{margin-top:18px;border-top:1px solid var(--line)}
.mort-break div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--stone)}
.mort-break div b{color:var(--graphite);font-weight:500}
.mort-break div.warn b{color:#B5542D}
.broker{margin-top:38px;border-top:1px solid var(--line);padding-top:34px}
.broker-card{background:var(--signal-soft);border:1px solid #CFE0E9;border-radius:16px;padding:26px 28px;display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap}
.broker-card .av{width:58px;height:58px;border-radius:50%;background:var(--signal);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:22px;flex-shrink:0}
.broker-card h4{font-family:'Fraunces',serif;font-size:20px;font-weight:500}
.broker-card .role{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--signal);font-weight:600;margin:2px 0 10px}
.broker-card p{font-size:13.5px;color:var(--stone);max-width:520px}
.broker-card .why-b{margin-top:10px;font-size:12.5px;color:var(--signal)}
.broker-card button{border:none;background:var(--signal);color:#fff;border-radius:100px;padding:12px 24px;font-family:'Inter',sans-serif;font-size:13.5px;font-weight:500;cursor:pointer;margin-left:auto;align-self:center}
.broker-card button:hover{background:#245a75}

/* ---------- PROPERTY FILMS ---------- */
.films{background:#101318;color:#fff}
.films .eyebrow{color:var(--brass)}
.films .match-head p{color:#A6A9AF}
.film-row{display:flex;gap:34px;justify-content:center;flex-wrap:wrap;margin-top:48px}
.film{width:300px;max-width:88vw}
.film .frame{border-radius:26px;overflow:hidden;border:1px solid #2A2D34;box-shadow:0 30px 70px -30px rgba(0,0,0,.7);background:#000}
.film video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover}
.film .cap{margin-top:16px;text-align:center}
.film .cap .t{font-family:'Fraunces',serif;font-size:18px}
.film .cap .s{font-size:12.5px;color:#A6A9AF;margin-top:3px}
.film .badge{display:inline-block;background:var(--brass);color:#fff;border-radius:100px;padding:5px 14px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:10px}
.film .badge.soon{background:#B5542D}

/* ---------- MORTGAGE EXTRAS ---------- */
.freq-row{display:flex;gap:6px;background:var(--porcelain);border:1px solid var(--line);border-radius:100px;padding:4px;margin-bottom:16px}
.freq-row button{flex:1;border:none;background:transparent;border-radius:100px;padding:9px 6px;font-family:'Inter',sans-serif;font-size:12px;cursor:pointer;color:var(--stone)}
.freq-row button.on{background:var(--graphite);color:#fff}
.scen{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px;border-top:1px solid var(--line);padding-top:26px}
@media(max-width:640px){.scen{grid-template-columns:1fr}}
.sc{background:var(--porcelain);border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center}
.sc.best{border-color:var(--brass);background:#FBF7EF}
.sc .sd{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-deep);font-weight:600}
.sc .sp{font-family:'Fraunces',serif;font-size:22px;margin:8px 0 2px}
.sc .sl{font-size:11.5px;color:var(--stone);line-height:1.5}
.sc .tag{display:inline-block;margin-top:8px;background:var(--brass);color:#fff;border-radius:100px;padding:3px 10px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.tot{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.tot div{background:var(--porcelain);border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center}
.tot .tv{font-family:'Fraunces',serif;font-size:18px}
.tot .tl{font-size:11px;color:var(--stone);margin-top:2px}

/* ---------- TRENDS ---------- */
.trends{background:var(--porcelain)}
.tr-bar{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.tr-bar select{border:1px solid var(--line);border-radius:100px;padding:11px 20px;font-family:'Inter',sans-serif;font-size:13.5px;background:#fff;outline:none;color:var(--graphite);cursor:pointer}
.tr-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:26px}
.tk{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;text-align:center}
.tk .v{font-family:'Fraunces',serif;font-size:24px}
.tk .d{font-size:12px;font-weight:600;margin-top:3px}
.tk .d.up{color:#3E7C4F}.tk .d.dn{color:#B5542D}
.tk .l{font-size:11.5px;color:var(--stone);margin-top:5px;line-height:1.45}
.tr-charts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
@media(max-width:820px){.tr-charts{grid-template-columns:1fr}}
.tc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 26px}
.tc h4{font-family:'Fraunces',serif;font-size:17px;font-weight:500;margin-bottom:4px}
.tc .sub{font-size:11.5px;color:var(--stone);margin-bottom:16px}
.tc svg{width:100%;height:170px;display:block}
.gauge-wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.gauge-txt .gv{font-family:'Fraunces',serif;font-size:30px}
.gauge-txt .gl{font-size:12.5px;color:var(--stone);max-width:230px;line-height:1.5;margin-top:4px}
.tr-note{font-size:11.5px;color:#A6A9AF;text-align:center;margin-top:20px}

/* ---------- PSF MAP ---------- */
.psf-wrap{background:#101318;color:#fff}
.psf-wrap .eyebrow{color:var(--brass)}
.psf-wrap .match-head p{color:#A6A9AF}
#psfMap{height:520px;border-radius:16px;border:1px solid #2A2D34;margin-top:34px;z-index:1}
.psf-pill{background:#fff;color:#16181D;border-radius:100px;padding:5px 11px;font-family:'Inter',sans-serif;font-size:12.5px;font-weight:600;box-shadow:0 3px 10px rgba(0,0,0,.35);white-space:nowrap;border:1.5px solid #fff}
.psf-pill.deal{background:#3E7C4F;color:#fff;border-color:#fff}
.psf-pill.high{background:#B5542D;color:#fff;border-color:#fff}
.psf-pill.mid{background:#16181D;color:#fff;border-color:#fff}
.psf-legend{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:18px;font-size:12.5px;color:#A6A9AF}
.psf-legend span::before{content:'\25CF';margin-right:6px}
.psf-legend .g::before{color:#3E7C4F}.psf-legend .n::before{color:#fff}.psf-legend .r::before{color:#B5542D}
.psf-bar{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.psf-bar button{border:1px solid #2A2D34;background:#1D2026;color:#A6A9AF;border-radius:100px;padding:9px 18px;font-family:'Inter',sans-serif;font-size:12.5px;cursor:pointer}
.psf-bar button.on{background:var(--brass);color:#fff;border-color:var(--brass)}
.psf-stats{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.psf-stats .b{background:#1D2026;border:1px solid #2A2D34;border-radius:12px;padding:16px 22px;text-align:center;min-width:150px}
.psf-stats .bv{font-family:'Fraunces',serif;font-size:22px}
.psf-stats .bl{font-size:11.5px;color:#A6A9AF;margin-top:3px}

/* ---------- INVEST ---------- */
.invest{background:#F5F2EA;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.inv-card{max-width:960px;margin:44px auto 0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:38px 40px;box-shadow:0 18px 44px -28px rgba(22,24,29,.15)}
.inv-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
@media(max-width:820px){.inv-grid{grid-template-columns:1fr}}
.inv-form .f{margin-bottom:14px}
.inv-form label{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:500;margin-bottom:7px}
.inv-form input,.inv-form select{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-family:'Inter',sans-serif;font-size:14px;background:var(--porcelain);outline:none;color:var(--graphite)}
.inv-form input:focus{border-color:var(--brass)}
.inv-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.inv-out .cash{font-family:'Fraunces',serif;font-size:clamp(30px,5vw,42px)}
.inv-out .cash.pos{color:#3E7C4F}.inv-out .cash.neg{color:#B5542D}
.inv-out .cash small{font-size:15px;color:var(--stone);font-family:'Inter',sans-serif;font-weight:300}
.inv-kpis{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:18px}
@media(max-width:560px){.inv-kpis{grid-template-columns:1fr}}
.kpi{background:var(--porcelain);border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center}
.kpi .kv{font-family:'Fraunces',serif;font-size:19px}
.kpi .kl{font-size:11px;color:var(--stone);margin-top:3px}
.inv-break{margin-top:18px;border-top:1px solid var(--line)}
.inv-break div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--stone)}
.inv-break div b{color:var(--graphite);font-weight:500}
.inv-verdict{margin-top:18px;border-radius:12px;padding:16px 20px;font-size:13.5px;line-height:1.6}
.inv-verdict.pos{background:#EAF3EC;color:#2E5C3A}
.inv-verdict.neg{background:#F6E9E2;color:#7A3E22}

/* ---------- MAP ---------- */
#map{height:480px;border-radius:var(--radius);border:1px solid var(--line);margin-top:44px;z-index:1}
.leaflet-popup-content{font-family:'Inter',sans-serif;font-size:13px}
.leaflet-popup-content .pp{font-family:'Fraunces',serif;font-size:17px;margin-bottom:2px}
.map-legend{display:flex;gap:22px;justify-content:center;margin-top:18px;font-size:12.5px;color:var(--stone);flex-wrap:wrap}
.map-legend span::before{content:'●';margin-right:6px}
.map-legend .lux::before{color:var(--brass)}
.map-legend .fam::before{color:var(--signal)}

/* ---------- HOW IT WORKS ---------- */
.how{background:var(--graphite);color:#fff}
.how .eyebrow{color:var(--brass)}
.how h2{font-size:clamp(28px,4vw,42px);max-width:620px;margin-bottom:56px}
.how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;background:#2A2D34;border-radius:var(--radius);overflow:hidden}
.how-cell{background:var(--graphite);padding:34px 30px}
.how-cell .n{font-family:'Fraunces',serif;font-size:15px;color:var(--brass);margin-bottom:16px;letter-spacing:.1em}
.how-cell h3{font-size:19px;margin-bottom:10px;font-weight:500}
.how-cell p{font-size:14px;color:#A6A9AF}

/* ---------- MAGAZINE / ALERTS ---------- */
.mag{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
@media(max-width:860px){.mag{grid-template-columns:1fr;gap:40px}}
.mag h2{font-size:clamp(28px,4vw,40px);margin-bottom:18px}
.mag h2 em{font-style:italic;color:var(--brass-deep)}
.mag p{color:var(--stone);margin-bottom:26px;font-size:15.5px}
.mag ul{list-style:none;margin-bottom:32px}
.mag li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px;display:flex;gap:12px;align-items:baseline}
.mag li::before{content:'—';color:var(--brass)}
.mag-form{display:flex;gap:10px;flex-wrap:wrap}
.mag-form input{
  flex:1;min-width:220px;border:1px solid var(--line);border-radius:100px;
  padding:13px 22px;font-family:'Inter',sans-serif;font-size:14px;background:#fff;outline:none;
}
.mag-form input:focus{border-color:var(--brass)}
.mag-form button{
  border:none;background:var(--graphite);color:#fff;border-radius:100px;
  padding:13px 26px;font-family:'Inter',sans-serif;font-size:13.5px;font-weight:500;cursor:pointer;
}
.mag-form button:hover{background:var(--brass-deep)}
.mag-visual{
  border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
  box-shadow:0 30px 60px -34px rgba(22,24,29,.3);
}
.mag-visual .cover{
  background-image:linear-gradient(rgba(22,24,29,.15),rgba(22,24,29,.55)),url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?w=900&q=70');
  background-size:cover;background-position:center;height:420px;
  display:flex;flex-direction:column;justify-content:flex-end;padding:34px;color:#fff;
}
.mag-visual .cover .kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);margin-bottom:10px}
.mag-visual .cover h3{font-size:26px;font-weight:400;line-height:1.25}
.ok-note{display:none;margin-top:12px;font-size:13.5px;color:var(--signal);font-weight:500}
.ok-note.show{display:block}

/* ---------- MEET ---------- */
.meet{background:#F5F2EA;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.meet-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
@media(max-width:860px){.meet-inner{grid-template-columns:1fr;gap:40px}}
.meet img{border-radius:var(--radius)}
.meet h2{font-size:clamp(28px,4vw,40px);margin-bottom:18px}
.meet p{color:var(--stone);font-size:15.5px;margin-bottom:14px}
.meet-form{display:grid;gap:12px;margin-top:26px}
.meet-form input,.meet-form select{
  border:1px solid var(--line);border-radius:12px;padding:13px 18px;
  font-family:'Inter',sans-serif;font-size:14px;background:#fff;outline:none;color:var(--graphite);
}
.meet-form input:focus,.meet-form select:focus{border-color:var(--brass)}
.meet-form button{
  border:none;background:var(--brass);color:#fff;border-radius:100px;padding:14px;
  font-family:'Inter',sans-serif;font-size:14px;font-weight:500;cursor:pointer;
}
.meet-form button:hover{background:var(--brass-deep)}

/* ---------- FOOTER ---------- */
footer{padding:56px 0 44px;border-top:1px solid var(--line)}
.foot{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;font-size:13px;color:var(--stone)}
.foot .logo{font-size:17px;color:var(--graphite)}
.hero{background-image:linear-gradient(rgba(14,16,20,.60),rgba(14,16,20,.50) 45%,rgba(252,251,247,.94) 92%,#FCFBF7),url(hero-estate.jpg)}

/* ---------- MULTI-PAGE NAV ---------- */
.nav-links{position:relative}
.navitem{position:relative}
.navitem>a{display:inline-flex;align-items:center;gap:5px;padding:26px 0}
.navitem>a::after{content:'';display:none}
.navitem.has>a::after{content:'';display:inline-block;width:5px;height:5px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6}
.drop{position:absolute;top:100%;left:-18px;min-width:238px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 22px 50px -26px rgba(22,24,29,.3);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .16s;z-index:60}
.navitem:hover .drop,.navitem:focus-within .drop{opacity:1;visibility:visible;transform:translateY(0)}
.drop a{display:block;padding:10px 14px;border-radius:9px;font-size:13.5px;color:var(--graphite)}
.drop a:hover{background:var(--porcelain);color:var(--brass-deep)}
.drop a small{display:block;font-size:11.5px;color:var(--stone);margin-top:2px}
.navitem>a.active{color:var(--graphite);font-weight:500}
.burger{display:none;border:none;background:transparent;font-size:23px;cursor:pointer;color:var(--graphite)}
/* old mobile nav removed — replaced by v2 below */
/* page header band */
.pagehead{background:#F5F2EA;border-bottom:1px solid var(--line);padding:70px 0 60px;text-align:center}
.pagehead h1{font-size:clamp(30px,5vw,46px);line-height:1.12}
.pagehead h1 em{font-style:italic;color:var(--brass-deep)}
.pagehead p{color:var(--stone);max-width:560px;margin:14px auto 0;font-size:16px}
/* news cards */
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:44px}
.na{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s}
.na:hover{transform:translateY(-4px);box-shadow:0 20px 44px -24px rgba(22,24,29,.22)}
.na .ph{height:180px;background-size:cover;background-position:center}
.na .bd{padding:22px;flex:1;display:flex;flex-direction:column}
.na .tag{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:600;margin-bottom:9px}
.na h3{font-size:19px;font-weight:500;line-height:1.3;margin-bottom:9px}
.na p{font-size:13.5px;color:var(--stone);line-height:1.6;flex:1}
.na .src{font-size:11.5px;color:#A6A9AF;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.news-run{text-align:center;margin-top:40px}
.news-run button{border:none;background:var(--graphite);color:#fff;border-radius:100px;padding:15px 34px;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;cursor:pointer}
.news-run button:hover{background:var(--brass-deep)}
.news-note{font-size:11.5px;color:#A6A9AF;margin-top:14px}




/* =====================================================================
   UI/UX REFINEMENT PASS  (fonts unchanged: Fraunces + Inter)
   Focus: readable hero, clear hierarchy, calmer spacing, better states
   ===================================================================== */

/* ---- 1. HERO: let the photograph breathe, protect the words ---- */
.hero{padding:96px 0 84px;position:relative}
.hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(10,14,20,.42) 0%,
    rgba(10,14,20,.30) 38%,
    rgba(247,245,240,.55) 78%,
    var(--porcelain) 97%);
}
.hero>.wrap{position:relative;z-index:2}
.hero h1{text-shadow:0 2px 26px rgba(10,14,20,.55),0 1px 3px rgba(10,14,20,.4)}
.hero .eyebrow{color:#F2CE9B;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.hero p.sub{
  color:#fff;font-size:16.5px;line-height:1.6;max-width:600px;
  background:rgba(12,16,22,.42);
  -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;padding:16px 22px;text-shadow:none;
}
.hero-stats{margin-top:56px;gap:0;border-top:1px solid var(--line);padding-top:0}
.hero-stats div{
  flex:1;min-width:150px;color:var(--stone);padding:20px 14px 0;
  border-right:1px solid var(--line);
}
.hero-stats div:last-child{border-right:none}
@media(max-width:720px){.hero-stats div{border-right:none;border-bottom:1px solid var(--line);padding-bottom:16px}}

/* ---- 2. TYPE SCALE: one clear hierarchy everywhere ---- */
h1{letter-spacing:-.018em}
h2,.serif{letter-spacing:-.012em}
.eyebrow{font-size:10.5px;letter-spacing:.22em;color:var(--brass-deep)}
.match-head h2,.pagehead h1{line-height:1.1}
.match-head p,.pagehead p{font-size:15.5px;line-height:1.62}
p{line-height:1.65}

/* ---- 3. SPACING RHYTHM ---- */
section{padding:96px 0}
@media(max-width:720px){section{padding:64px 0}}
.match-head{margin-bottom:40px}
.pagehead{padding:78px 0 66px;position:relative}
.pagehead::after{content:'';position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);width:56px;height:2px;background:var(--brass)}

/* ---- 4. CARDS + STATES: quieter borders, clearer feedback ---- */
.prop,.tk,.ps,.tc,.na,.sc,.kpi,.nb,.mort-card,.inv-card,.life-panel,.quiz-card,.broker-card{
  transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s,border-color .2s}
.tk:hover,.ps:hover,.tc:hover,.nb:hover{border-color:#D6CFC0}
.na:hover,.prop:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(22,24,29,.26)}
.prop .ph,.na .ph{position:relative}
.prop .ph::after,.na .ph::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(10,14,20,.18));pointer-events:none}

/* ---- 5. CONTROLS: consistent size, real focus, clear affordance ---- */
input,select,textarea,button{font-family:'Inter',sans-serif}
.type-row input,.mag-form input,.meet-form input,.meet-form select,
.life-extra select,.mort-form input,.mort-form select,.inv-form input,.tr-bar select{
  min-height:46px;font-size:14.5px;transition:border-color .15s,box-shadow .15s}
.type-row input:focus,.mag-form input:focus,.meet-form input:focus,.meet-form select:focus,
.life-extra select:focus,.mort-form input:focus,.mort-form select:focus,.inv-form input:focus{
  box-shadow:0 0 0 3px rgba(176,141,63,.14)}
button{transition:background .18s,color .18s,border-color .18s,transform .12s}
button:active{transform:translateY(1px)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:2px solid var(--signal);outline-offset:2px;border-radius:4px}
.life-chips button,.cat-chips button,.psf-bar button{min-height:40px}

/* ---- 6. NAV: steadier, clearer current page ---- */
nav{background:rgba(252,251,247,.94);backdrop-filter:blur(14px);transition:box-shadow .2s}
.nav-inner{height:70px}
.navitem>a{position:relative}
.navitem>a.active::before{
  content:'';position:absolute;left:0;right:0;bottom:20px;height:2px;background:var(--brass)}
.nav-cta{box-shadow:0 6px 18px -10px rgba(22,24,29,.6)}
.drop a{transition:background .14s,padding-left .14s}
.drop a:hover{padding-left:18px}

/* ---- 7. VOICE MODULE: the signature gets more presence ---- */
.voice-shell{box-shadow:0 30px 70px -34px rgba(22,24,29,.34);border-color:rgba(255,255,255,.5)}
.mic-btn{box-shadow:0 10px 26px -10px rgba(22,24,29,.55)}
.voice-hint{font-size:12.5px;line-height:1.55;max-width:520px;margin-left:auto;margin-right:auto}

/* ---- 8. FOOTER ---- */
footer{padding:60px 0 48px;background:#fff;border-top:1px solid var(--line)}
.foot a{color:var(--stone);transition:color .15s}
.foot a:hover{color:var(--brass-deep)}
.foot>div{max-width:280px}

/* ---- 9. MOBILE POLISH ---- */
@media(max-width:640px){
  .hero{padding:70px 0 64px}
  .hero p.sub{padding:14px 18px;font-size:15.5px}
  .voice-shell{padding:34px 22px 28px}
  .wrap{padding:0 20px}
  .match-head h2,.pagehead h1{font-size:clamp(26px,7vw,34px)}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}


/* ---------- PERSPECTIVE / QUOTE WALL ---------- */
.persp{background:#16181D;color:#fff}
.persp .eyebrow{color:var(--brass)}
.persp .match-head p{color:#A6A9AF}
.qfeature{max-width:820px;margin:44px auto 0;text-align:center;position:relative;padding:0 20px}
.qfeature .mark{font-family:'Fraunces',serif;font-size:74px;line-height:.6;color:var(--brass);opacity:.5}
.qfeature blockquote{font-family:'Fraunces',serif;font-size:clamp(22px,3.4vw,34px);line-height:1.34;font-weight:400;margin:14px 0 20px;min-height:96px}
.qfeature .by{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);font-weight:600}
.qfeature .role{font-size:12.5px;color:#8B8F96;margin-top:5px}
.qdots{display:flex;gap:7px;justify-content:center;margin-top:26px}
.qdots button{width:8px;height:8px;border-radius:50%;border:none;background:#3A3E46;cursor:pointer;padding:0}
.qdots button.on{background:var(--brass);width:22px;border-radius:100px}
.qgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin-top:52px}
.qc{background:#1D2026;border:1px solid #2A2D34;border-left:2px solid var(--brass);border-radius:10px;padding:24px 26px}
.qc p{font-family:'Fraunces',serif;font-size:16.5px;line-height:1.5;color:#E8E6E2}
.qc .by{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-top:14px}
.qc .note{font-size:11.5px;color:#8B8F96;margin-top:5px;line-height:1.5}


/* ---------- VOW REGISTRATION GATE ---------- */
.gate-lock{position:relative}
.gate-lock>.gate-inner{filter:blur(7px);pointer-events:none;user-select:none;opacity:.5}
.gate-cover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;z-index:5}
.gate-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px 36px;max-width:430px;text-align:center;box-shadow:0 30px 70px -34px rgba(22,24,29,.4)}
.gate-box .ic{font-size:26px}
.gate-box h3{font-family:'Fraunces',serif;font-size:22px;font-weight:500;margin:12px 0 8px}
.gate-box p{font-size:13.5px;color:var(--stone);line-height:1.6}
.gate-box button{margin-top:18px;border:none;background:var(--graphite);color:#fff;border-radius:6px;padding:13px 28px;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;cursor:pointer}
.gate-box button:hover{background:var(--brass-deep)}
.gate-box .why{font-size:11.5px;color:#A6A9AF;margin-top:14px;line-height:1.55}
.modal{position:fixed;inset:0;background:rgba(12,14,18,.62);display:none;align-items:center;justify-content:center;z-index:200;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.modal.on{display:flex}
.modal-card{background:#fff;border-radius:18px;max-width:470px;width:100%;padding:36px 38px;max-height:92vh;overflow:auto}
.modal-card .eyebrow{color:var(--brass-deep)}
.modal-card h3{font-family:'Fraunces',serif;font-size:25px;font-weight:500;margin:8px 0 8px}
.modal-card .lead{font-size:14px;color:var(--stone);line-height:1.6;margin-bottom:22px}
.modal-card label{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:500;margin:0 0 7px}
.modal-card input{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-family:'Inter',sans-serif;font-size:14.5px;background:var(--porcelain);outline:none;margin-bottom:14px}
.modal-card input:focus{border-color:var(--brass)}
.consent{display:flex;gap:10px;align-items:flex-start;background:var(--porcelain);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:4px 0 16px}
.consent input{width:auto;margin:3px 0 0}
.consent span{font-size:12px;color:var(--stone);line-height:1.55}
.modal-card .submit{width:100%;border:none;background:var(--brass);color:#fff;border-radius:6px;padding:14px;font-family:'Inter',sans-serif;font-size:14.5px;font-weight:500;cursor:pointer}
.modal-card .submit:hover{background:var(--brass-deep)}
.modal-card .cancel{width:100%;border:none;background:transparent;color:var(--stone);padding:12px;font-family:'Inter',sans-serif;font-size:13px;cursor:pointer;margin-top:4px}
.modal-card .legal{font-size:11px;color:#A6A9AF;line-height:1.55;margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.modal-card .err{color:#B5542D;font-size:12.5px;margin-bottom:10px;display:none}
.gate-badge{display:inline-flex;align-items:center;gap:6px;background:var(--signal-soft);color:#28536B;border-radius:100px;padding:5px 13px;font-size:11px;font-weight:600;letter-spacing:.04em;margin-bottom:14px}

/* ---------- POWER OF SALE ---------- */
.pos-hero{background:#16181D;color:#fff;padding:70px 0}
.pos-hero .eyebrow{color:var(--brass)}
.pos-hero h1{font-size:clamp(30px,5vw,46px);line-height:1.12}
.pos-hero h1 em{font-style:italic;color:var(--brass)}
.pos-hero p{color:#A6A9AF;max-width:620px;margin:14px auto 0;font-size:16px}
.pos-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;max-width:900px;margin:34px auto 0}
.pos-stats .s{background:#1D2026;border:1px solid #2A2D34;border-radius:12px;padding:20px;text-align:center}
.pos-stats .sv{font-family:'Fraunces',serif;font-size:24px;color:var(--brass)}
.pos-stats .sl{font-size:11.5px;color:#A6A9AF;margin-top:5px;line-height:1.45}
.pos-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}
@media(max-width:820px){.pos-two{grid-template-columns:1fr}}
.pos-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 28px}
.pos-card.warn{border-left:3px solid #B5542D}
.pos-card.good{border-left:3px solid #3E7C4F}
.pos-card h3{font-family:'Fraunces',serif;font-size:19px;font-weight:500;margin-bottom:12px}
.pos-card li{list-style:none;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--graphite);line-height:1.55}
.pos-card li:last-child{border-bottom:none}
.pos-card li b{font-weight:600}
.pos-alert{background:var(--porcelain);border:1px solid var(--line);border-radius:16px;padding:34px 38px;margin-top:40px;text-align:center}
.pos-alert h3{font-family:'Fraunces',serif;font-size:24px;font-weight:500}
.pos-alert p{font-size:14.5px;color:var(--stone);max-width:520px;margin:10px auto 20px}
.pos-alert form{display:flex;gap:9px;max-width:520px;margin:0 auto;flex-wrap:wrap}
.pos-alert input{flex:1;min-width:190px;border:1px solid var(--line);border-radius:6px;padding:13px 16px;font-family:'Inter',sans-serif;font-size:14px;background:#fff;outline:none}
.pos-alert input:focus{border-color:var(--brass)}
.pos-alert button{border:none;background:var(--graphite);color:#fff;border-radius:6px;padding:13px 26px;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;cursor:pointer}
.pos-alert button:hover{background:var(--brass-deep)}
.pos-src{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:22px}
.pos-src a{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px;text-decoration:none;color:var(--graphite);transition:all .18s}
.pos-src a:hover{border-color:var(--brass);transform:translateY(-2px)}
.pos-src .t{font-family:'Fraunces',serif;font-size:16.5px;margin-bottom:5px}
.pos-src .d{font-size:12.5px;color:var(--stone);line-height:1.5}
.steps-num{counter-reset:s}
.steps-num li{counter-increment:s;position:relative;padding-left:38px!important}
.steps-num li::before{content:counter(s);position:absolute;left:0;top:9px;width:24px;height:24px;border-radius:50%;background:var(--brass);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif}

/* ---------- RENTALS ---------- */
.rent-hero{background:#16181D;color:#fff;padding:66px 0 60px;text-align:center}
.rent-hero .eyebrow{color:var(--brass)}
.rent-hero h1{font-size:clamp(30px,5vw,46px);line-height:1.12;margin-top:9px}
.rent-hero h1 em{font-style:italic;color:var(--brass)}
.rent-hero p{color:#A6A9AF;max-width:640px;margin:14px auto 0;font-size:16px}
.rent-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px;max-width:940px;margin:32px auto 0}
.rent-stats .s{background:#1D2026;border:1px solid #2A2D34;border-radius:12px;padding:18px;text-align:center}
.rent-stats .sv{font-family:'Fraunces',serif;font-size:23px;color:var(--brass)}
.rent-stats .sl{font-size:11.5px;color:#A6A9AF;margin-top:5px;line-height:1.45}
.aud{display:flex;gap:6px;background:var(--porcelain);border:1px solid var(--line);border-radius:100px;padding:5px;max-width:430px;margin:0 auto 40px}
.aud button{flex:1;border:none;background:transparent;border-radius:100px;padding:12px 8px;font-family:'Inter',sans-serif;font-size:13.5px;cursor:pointer;color:var(--stone)}
.aud button.on{background:var(--graphite);color:#fff}
.rpanel{display:none}.rpanel.on{display:block}
.tool{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px 34px;margin-bottom:20px}
.tool>h3{font-family:'Fraunces',serif;font-size:23px;font-weight:500}
.tool>.lead{font-size:14px;color:var(--stone);margin:6px 0 22px;line-height:1.6;max-width:620px}
.t2{display:grid;grid-template-columns:1fr 1fr;gap:30px}
@media(max-width:820px){.t2{grid-template-columns:1fr}}
.fld{margin-bottom:13px}
.fld label{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:500;margin-bottom:7px}
.fld input,.fld select{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-family:'Inter',sans-serif;font-size:14.5px;background:var(--porcelain);outline:none;color:var(--graphite)}
.fld input:focus{border-color:var(--brass)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.big{font-family:'Fraunces',serif;font-size:clamp(30px,5vw,42px);line-height:1.05}
.big small{font-family:'Inter',sans-serif;font-size:15px;color:var(--stone);font-weight:300}
.big.good{color:#3E7C4F}.big.bad{color:#B5542D}
.lines{margin-top:16px;border-top:1px solid var(--line)}
.lines div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--stone)}
.lines div b{color:var(--graphite);font-weight:500;white-space:nowrap}
.verdict{border-radius:12px;padding:17px 20px;font-size:13.5px;line-height:1.65;margin-top:16px}
.verdict.good{background:#EAF3EC;color:#2E5C3A}
.verdict.warn{background:#F6E9E2;color:#7A3E22}
.verdict.info{background:var(--signal-soft);color:#28536B}
.verdict b{font-weight:600}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:18px}
.opt{background:var(--porcelain);border:1px solid var(--line);border-radius:12px;padding:18px}
.opt.best{border-color:var(--brass);background:#FBF7EF}
.opt .on{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-deep);font-weight:600}
.opt .ov{font-family:'Fraunces',serif;font-size:20px;margin:7px 0 3px}
.opt .od{font-size:12px;color:var(--stone);line-height:1.5}
.opt .tag{display:inline-block;margin-top:9px;background:var(--brass);color:#fff;border-radius:100px;padding:3px 10px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.pass{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:22px}
.pcard{background:var(--porcelain);border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:12px;padding:22px 24px}
.pcard h4{font-family:'Fraunces',serif;font-size:17px;font-weight:500;margin-bottom:10px}
.pcard li{list-style:none;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.55;color:var(--graphite)}
.pcard li:last-child{border-bottom:none}
.pcard.alert{border-left-color:#B5542D}
.langsw{display:flex;gap:5px;background:var(--porcelain);border:1px solid var(--line);border-radius:100px;padding:4px;width:190px;margin-bottom:18px}
.langsw button{flex:1;border:none;background:transparent;border-radius:100px;padding:8px;font-family:'Inter',sans-serif;font-size:12.5px;cursor:pointer;color:var(--stone)}
.langsw button.on{background:var(--graphite);color:#fff}
[dir="rtl"]{direction:rtl;text-align:right}

/* ---------- RENTAL LISTINGS ---------- */
.rsearch{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 30px;margin-bottom:22px}
.rs-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.rs-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.rs-chips button{border:1px solid var(--line);background:var(--porcelain);border-radius:4px;padding:9px 15px;font-family:'Inter',sans-serif;font-size:12.5px;cursor:pointer;color:var(--stone)}
.rs-chips button.on{background:var(--graphite);color:#fff;border-color:var(--graphite)}
.rs-sort{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.rs-sort .lbl{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:600}
.rs-sort button{border:1px solid var(--line);background:#fff;border-radius:4px;padding:8px 14px;font-size:12.5px;cursor:pointer;font-family:'Inter',sans-serif;color:var(--stone)}
.rs-sort button.on{background:var(--brass);color:#fff;border-color:var(--brass)}
.rs-count{font-size:13px;color:var(--stone);margin:22px 0 14px}
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.rcard{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.rcard:hover{transform:translateY(-3px);box-shadow:0 20px 44px -26px rgba(22,24,29,.28)}
.rcard .ph{height:170px;background-size:cover;background-position:center;position:relative}
.rcard .ph .flag{position:absolute;top:12px;left:12px;background:rgba(22,24,29,.86);color:#fff;border-radius:3px;padding:5px 11px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.rcard .ph .flag.deal{background:#3E7C4F}
.rcard .bd{padding:20px 22px}
.rcard .addr{font-family:'Fraunces',serif;font-size:17px;font-weight:500}
.rcard .area{font-size:12.5px;color:var(--stone);margin-top:2px}
.rcard .prices{display:flex;align-items:baseline;gap:10px;margin:13px 0 4px;flex-wrap:wrap}
.rcard .ask{font-size:14px;color:var(--stone);text-decoration:line-through}
.rcard .trueR{font-family:'Fraunces',serif;font-size:25px;color:#3E7C4F}
.rcard .trueR.plain{color:var(--graphite)}
.rcard .lbl2{font-size:11px;color:var(--stone)}
.rcard .allin{font-size:12.5px;color:var(--stone);border-top:1px solid var(--line);margin-top:12px;padding-top:11px;line-height:1.6}
.rcard .allin b{color:var(--graphite);font-weight:500}
.rcard .feats{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.rcard .feats span{background:var(--porcelain);border:1px solid var(--line);border-radius:3px;padding:4px 9px;font-size:11px;color:var(--stone)}
.rcard .nego{margin-top:12px;border-radius:8px;padding:11px 14px;font-size:12.5px;line-height:1.55}
.rcard .nego.hot{background:#F6E9E2;color:#7A3E22}
.rcard .nego.warm{background:var(--signal-soft);color:#28536B}
.rcard .nego.cool{background:#EAF3EC;color:#2E5C3A}
.rcard .act{display:block;text-align:center;background:var(--graphite);color:#fff;border-radius:4px;padding:11px;margin-top:14px;font-size:13px;text-decoration:none;font-weight:500}
.rcard .act:hover{background:var(--brass-deep)}
.rs-none{text-align:center;padding:48px 20px;color:var(--stone);font-size:14.5px}


/* page header band */
.pagehead{background:#F5F2EA;border-bottom:1px solid var(--line);padding:70px 0 60px;text-align:center}
.pagehead h1{font-size:clamp(30px,5vw,46px);line-height:1.12}
.pagehead h1 em{font-style:italic;color:var(--brass-deep)}
.pagehead p{color:var(--stone);max-width:560px;margin:14px auto 0;font-size:16px}
/* news cards */
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:44px}
.na{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s}
.na:hover{transform:translateY(-4px);box-shadow:0 20px 44px -24px rgba(22,24,29,.22)}
.na .ph{height:180px;background-size:cover;background-position:center}
.na .bd{padding:22px;flex:1;display:flex;flex-direction:column}
.na .tag{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:600;margin-bottom:9px}
.na h3{font-size:19px;font-weight:500;line-height:1.3;margin-bottom:9px}
.na p{font-size:13.5px;color:var(--stone);line-height:1.6;flex:1}
.na .src{font-size:11.5px;color:#A6A9AF;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.news-run{text-align:center;margin-top:40px}
.news-run button{border:none;background:var(--graphite);color:#fff;border-radius:100px;padding:15px 34px;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;cursor:pointer}
.news-run button:hover{background:var(--brass-deep)}
.news-note{font-size:11.5px;color:#A6A9AF;margin-top:14px}




/* =====================================================================
   UI/UX REFINEMENT PASS  (fonts unchanged: Fraunces + Inter)
   Focus: readable hero, clear hierarchy, calmer spacing, better states
   ===================================================================== */

/* ---- 1. HERO: let the photograph breathe, protect the words ---- */
.hero{padding:96px 0 84px;position:relative}
.hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(10,14,20,.42) 0%,
    rgba(10,14,20,.30) 38%,
    rgba(247,245,240,.55) 78%,
    var(--porcelain) 97%);
}
.hero>.wrap{position:relative;z-index:2}
.hero h1{text-shadow:0 2px 26px rgba(10,14,20,.55),0 1px 3px rgba(10,14,20,.4)}
.hero .eyebrow{color:#F2CE9B;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.hero p.sub{
  color:#fff;font-size:16.5px;line-height:1.6;max-width:600px;
  background:rgba(12,16,22,.42);
  -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;padding:16px 22px;text-shadow:none;
}
.hero-stats{margin-top:56px;gap:0;border-top:1px solid var(--line);padding-top:0}
.hero-stats div{
  flex:1;min-width:150px;color:var(--stone);padding:20px 14px 0;
  border-right:1px solid var(--line);
}
.hero-stats div:last-child{border-right:none}
@media(max-width:720px){.hero-stats div{border-right:none;border-bottom:1px solid var(--line);padding-bottom:16px}}

/* ---- 2. TYPE SCALE: one clear hierarchy everywhere ---- */
h1{letter-spacing:-.018em}
h2,.serif{letter-spacing:-.012em}
.eyebrow{font-size:10.5px;letter-spacing:.22em;color:var(--brass-deep)}
.match-head h2,.pagehead h1{line-height:1.1}
.match-head p,.pagehead p{font-size:15.5px;line-height:1.62}
p{line-height:1.65}

/* ---- 3. SPACING RHYTHM ---- */
section{padding:96px 0}
@media(max-width:720px){section{padding:64px 0}}
.match-head{margin-bottom:40px}
.pagehead{padding:78px 0 66px;position:relative}
.pagehead::after{content:'';position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);width:56px;height:2px;background:var(--brass)}

/* ---- 4. CARDS + STATES: quieter borders, clearer feedback ---- */
.prop,.tk,.ps,.tc,.na,.sc,.kpi,.nb,.mort-card,.inv-card,.life-panel,.quiz-card,.broker-card{
  transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s,border-color .2s}
.tk:hover,.ps:hover,.tc:hover,.nb:hover{border-color:#D6CFC0}
.na:hover,.prop:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(22,24,29,.26)}
.prop .ph,.na .ph{position:relative}
.prop .ph::after,.na .ph::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(10,14,20,.18));pointer-events:none}

/* ---- 5. CONTROLS: consistent size, real focus, clear affordance ---- */
input,select,textarea,button{font-family:'Inter',sans-serif}
.type-row input,.mag-form input,.meet-form input,.meet-form select,
.life-extra select,.mort-form input,.mort-form select,.inv-form input,.tr-bar select{
  min-height:46px;font-size:14.5px;transition:border-color .15s,box-shadow .15s}
.type-row input:focus,.mag-form input:focus,.meet-form input:focus,.meet-form select:focus,
.life-extra select:focus,.mort-form input:focus,.mort-form select:focus,.inv-form input:focus{
  box-shadow:0 0 0 3px rgba(176,141,63,.14)}
button{transition:background .18s,color .18s,border-color .18s,transform .12s}
button:active{transform:translateY(1px)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:2px solid var(--signal);outline-offset:2px;border-radius:4px}
.life-chips button,.cat-chips button,.psf-bar button{min-height:40px}

/* ---- 6. NAV: steadier, clearer current page ---- */
nav{background:rgba(252,251,247,.94);backdrop-filter:blur(14px);transition:box-shadow .2s}
.nav-inner{height:70px}
.navitem>a{position:relative}
.navitem>a.active::before{
  content:'';position:absolute;left:0;right:0;bottom:20px;height:2px;background:var(--brass)}
.nav-cta{box-shadow:0 6px 18px -10px rgba(22,24,29,.6)}
.drop a{transition:background .14s,padding-left .14s}
.drop a:hover{padding-left:18px}

/* ---- 7. VOICE MODULE: the signature gets more presence ---- */
.voice-shell{box-shadow:0 30px 70px -34px rgba(22,24,29,.34);border-color:rgba(255,255,255,.5)}
.mic-btn{box-shadow:0 10px 26px -10px rgba(22,24,29,.55)}
.voice-hint{font-size:12.5px;line-height:1.55;max-width:520px;margin-left:auto;margin-right:auto}

/* ---- 8. FOOTER ---- */
footer{padding:60px 0 48px;background:#fff;border-top:1px solid var(--line)}
.foot a{color:var(--stone);transition:color .15s}
.foot a:hover{color:var(--brass-deep)}
.foot>div{max-width:280px}

/* ---- 9. MOBILE POLISH ---- */
@media(max-width:640px){
  .hero{padding:70px 0 64px}
  .hero p.sub{padding:14px 18px;font-size:15.5px}
  .voice-shell{padding:34px 22px 28px}
  .wrap{padding:0 20px}
  .match-head h2,.pagehead h1{font-size:clamp(26px,7vw,34px)}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}


/* ---------- PERSPECTIVE / QUOTE WALL ---------- */
.persp{background:#16181D;color:#fff}
.persp .eyebrow{color:var(--brass)}
.persp .match-head p{color:#A6A9AF}
.qfeature{max-width:820px;margin:44px auto 0;text-align:center;position:relative;padding:0 20px}
.qfeature .mark{font-family:'Fraunces',serif;font-size:74px;line-height:.6;color:var(--brass);opacity:.5}
.qfeature blockquote{font-family:'Fraunces',serif;font-size:clamp(22px,3.4vw,34px);line-height:1.34;font-weight:400;margin:14px 0 20px;min-height:96px}
.qfeature .by{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);font-weight:600}
.qfeature .role{font-size:12.5px;color:#8B8F96;margin-top:5px}
.qdots{display:flex;gap:7px;justify-content:center;margin-top:26px}
.qdots button{width:8px;height:8px;border-radius:50%;border:none;background:#3A3E46;cursor:pointer;padding:0}
.qdots button.on{background:var(--brass);width:22px;border-radius:100px}
.qgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin-top:52px}
.qc{background:#1D2026;border:1px solid #2A2D34;border-left:2px solid var(--brass);border-radius:10px;padding:24px 26px}
.qc p{font-family:'Fraunces',serif;font-size:16.5px;line-height:1.5;color:#E8E6E2}
.qc .by{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-top:14px}
.qc .note{font-size:11.5px;color:#8B8F96;margin-top:5px;line-height:1.5}


/* ---------- VOW REGISTRATION GATE ---------- */
.gate-lock{position:relative}
.gate-lock>.gate-inner{filter:blur(7px);pointer-events:none;user-select:none;opacity:.5}
.gate-cover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;z-index:5}
.gate-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px 36px;max-width:430px;text-align:center;box-shadow:0 30px 70px -34px rgba(22,24,29,.4)}
.gate-box .ic{font-size:26px}
.gate-box h3{font-family:'Fraunces',serif;font-size:22px;font-weight:500;margin:12px 0 8px}
.gate-box p{font-size:13.5px;color:var(--stone);line-height:1.6}
.gate-box button{margin-top:18px;border:none;background:var(--graphite);color:#fff;border-radius:6px;padding:13px 28px;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;cursor:pointer}
.gate-box button:hover{background:var(--brass-deep)}
.gate-box .why{font-size:11.5px;color:#A6A9AF;margin-top:14px;line-height:1.55}
.modal{position:fixed;inset:0;background:rgba(12,14,18,.62);display:none;align-items:center;justify-content:center;z-index:200;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.modal.on{display:flex}
.modal-card{background:#fff;border-radius:18px;max-width:470px;width:100%;padding:36px 38px;max-height:92vh;overflow:auto}
.modal-card .eyebrow{color:var(--brass-deep)}
.modal-card h3{font-family:'Fraunces',serif;font-size:25px;font-weight:500;margin:8px 0 8px}
.modal-card .lead{font-size:14px;color:var(--stone);line-height:1.6;margin-bottom:22px}
.modal-card label{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:500;margin:0 0 7px}
.modal-card input{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-family:'Inter',sans-serif;font-size:14.5px;background:var(--porcelain);outline:none;margin-bottom:14px}
.modal-card input:focus{border-color:var(--brass)}
.consent{display:flex;gap:10px;align-items:flex-start;background:var(--porcelain);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:4px 0 16px}
.consent input{width:auto;margin:3px 0 0}
.consent span{font-size:12px;color:var(--stone);line-height:1.55}
.modal-card .submit{width:100%;border:none;background:var(--brass);color:#fff;border-radius:6px;padding:14px;font-family:'Inter',sans-serif;font-size:14.5px;font-weight:500;cursor:pointer}
.modal-card .submit:hover{background:var(--brass-deep)}
.modal-card .cancel{width:100%;border:none;background:transparent;color:var(--stone);padding:12px;font-family:'Inter',sans-serif;font-size:13px;cursor:pointer;margin-top:4px}
.modal-card .legal{font-size:11px;color:#A6A9AF;line-height:1.55;margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.modal-card .err{color:#B5542D;font-size:12.5px;margin-bottom:10px;display:none}
.gate-badge{display:inline-flex;align-items:center;gap:6px;background:var(--signal-soft);color:#28536B;border-radius:100px;padding:5px 13px;font-size:11px;font-weight:600;letter-spacing:.04em;margin-bottom:14px}

/* ---------- POWER OF SALE ---------- */
.pos-hero{background:#16181D;color:#fff;padding:70px 0}
.pos-hero .eyebrow{color:var(--brass)}
.pos-hero h1{font-size:clamp(30px,5vw,46px);line-height:1.12}
.pos-hero h1 em{font-style:italic;color:var(--brass)}
.pos-hero p{color:#A6A9AF;max-width:620px;margin:14px auto 0;font-size:16px}
.pos-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;max-width:900px;margin:34px auto 0}
.pos-stats .s{background:#1D2026;border:1px solid #2A2D34;border-radius:12px;padding:20px;text-align:center}
.pos-stats .sv{font-family:'Fraunces',serif;font-size:24px;color:var(--brass)}
.pos-stats .sl{font-size:11.5px;color:#A6A9AF;margin-top:5px;line-height:1.45}
.pos-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}
@media(max-width:820px){.pos-two{grid-template-columns:1fr}}
.pos-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 28px}
.pos-card.warn{border-left:3px solid #B5542D}
.pos-card.good{border-left:3px solid #3E7C4F}
.pos-card h3{font-family:'Fraunces',serif;font-size:19px;font-weight:500;margin-bottom:12px}
.pos-card li{list-style:none;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--graphite);line-height:1.55}
.pos-card li:last-child{border-bottom:none}
.pos-card li b{font-weight:600}
.pos-alert{background:var(--porcelain);border:1px solid var(--line);border-radius:16px;padding:34px 38px;margin-top:40px;text-align:center}
.pos-alert h3{font-family:'Fraunces',serif;font-size:24px;font-weight:500}
.pos-alert p{font-size:14.5px;color:var(--stone);max-width:520px;margin:10px auto 20px}
.pos-alert form{display:flex;gap:9px;max-width:520px;margin:0 auto;flex-wrap:wrap}
.pos-alert input{flex:1;min-width:190px;border:1px solid var(--line);border-radius:6px;padding:13px 16px;font-family:'Inter',sans-serif;font-size:14px;background:#fff;outline:none}
.pos-alert input:focus{border-color:var(--brass)}
.pos-alert button{border:none;background:var(--graphite);color:#fff;border-radius:6px;padding:13px 26px;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;cursor:pointer}
.pos-alert button:hover{background:var(--brass-deep)}
.pos-src{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:22px}
.pos-src a{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px;text-decoration:none;color:var(--graphite);transition:all .18s}
.pos-src a:hover{border-color:var(--brass);transform:translateY(-2px)}
.pos-src .t{font-family:'Fraunces',serif;font-size:16.5px;margin-bottom:5px}
.pos-src .d{font-size:12.5px;color:var(--stone);line-height:1.5}
.steps-num{counter-reset:s}
.steps-num li{counter-increment:s;position:relative;padding-left:38px!important}
.steps-num li::before{content:counter(s);position:absolute;left:0;top:9px;width:24px;height:24px;border-radius:50%;background:var(--brass);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif}

/* ---------- RENTALS ---------- */
.rent-hero{background:#16181D;color:#fff;padding:66px 0 60px;text-align:center}
.rent-hero .eyebrow{color:var(--brass)}
.rent-hero h1{font-size:clamp(30px,5vw,46px);line-height:1.12;margin-top:9px}
.rent-hero h1 em{font-style:italic;color:var(--brass)}
.rent-hero p{color:#A6A9AF;max-width:640px;margin:14px auto 0;font-size:16px}
.rent-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px;max-width:940px;margin:32px auto 0}
.rent-stats .s{background:#1D2026;border:1px solid #2A2D34;border-radius:12px;padding:18px;text-align:center}
.rent-stats .sv{font-family:'Fraunces',serif;font-size:23px;color:var(--brass)}
.rent-stats .sl{font-size:11.5px;color:#A6A9AF;margin-top:5px;line-height:1.45}
.aud{display:flex;gap:6px;background:var(--porcelain);border:1px solid var(--line);border-radius:100px;padding:5px;max-width:430px;margin:0 auto 40px}
.aud button{flex:1;border:none;background:transparent;border-radius:100px;padding:12px 8px;font-family:'Inter',sans-serif;font-size:13.5px;cursor:pointer;color:var(--stone)}
.aud button.on{background:var(--graphite);color:#fff}
.rpanel{display:none}.rpanel.on{display:block}
.tool{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px 34px;margin-bottom:20px}
.tool>h3{font-family:'Fraunces',serif;font-size:23px;font-weight:500}
.tool>.lead{font-size:14px;color:var(--stone);margin:6px 0 22px;line-height:1.6;max-width:620px}
.t2{display:grid;grid-template-columns:1fr 1fr;gap:30px}
@media(max-width:820px){.t2{grid-template-columns:1fr}}
.fld{margin-bottom:13px}
.fld label{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:500;margin-bottom:7px}
.fld input,.fld select{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-family:'Inter',sans-serif;font-size:14.5px;background:var(--porcelain);outline:none;color:var(--graphite)}
.fld input:focus{border-color:var(--brass)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.big{font-family:'Fraunces',serif;font-size:clamp(30px,5vw,42px);line-height:1.05}
.big small{font-family:'Inter',sans-serif;font-size:15px;color:var(--stone);font-weight:300}
.big.good{color:#3E7C4F}.big.bad{color:#B5542D}
.lines{margin-top:16px;border-top:1px solid var(--line)}
.lines div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--stone)}
.lines div b{color:var(--graphite);font-weight:500;white-space:nowrap}
.verdict{border-radius:12px;padding:17px 20px;font-size:13.5px;line-height:1.65;margin-top:16px}
.verdict.good{background:#EAF3EC;color:#2E5C3A}
.verdict.warn{background:#F6E9E2;color:#7A3E22}
.verdict.info{background:var(--signal-soft);color:#28536B}
.verdict b{font-weight:600}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:18px}
.opt{background:var(--porcelain);border:1px solid var(--line);border-radius:12px;padding:18px}
.opt.best{border-color:var(--brass);background:#FBF7EF}
.opt .on{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-deep);font-weight:600}
.opt .ov{font-family:'Fraunces',serif;font-size:20px;margin:7px 0 3px}
.opt .od{font-size:12px;color:var(--stone);line-height:1.5}
.opt .tag{display:inline-block;margin-top:9px;background:var(--brass);color:#fff;border-radius:100px;padding:3px 10px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.pass{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:22px}
.pcard{background:var(--porcelain);border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:12px;padding:22px 24px}
.pcard h4{font-family:'Fraunces',serif;font-size:17px;font-weight:500;margin-bottom:10px}
.pcard li{list-style:none;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.55;color:var(--graphite)}
.pcard li:last-child{border-bottom:none}
.pcard.alert{border-left-color:#B5542D}
.langsw{display:flex;gap:5px;background:var(--porcelain);border:1px solid var(--line);border-radius:100px;padding:4px;width:190px;margin-bottom:18px}
.langsw button{flex:1;border:none;background:transparent;border-radius:100px;padding:8px;font-family:'Inter',sans-serif;font-size:12.5px;cursor:pointer;color:var(--stone)}
.langsw button.on{background:var(--graphite);color:#fff}
[dir="rtl"]{direction:rtl;text-align:right}

/* ---------- RENTAL LISTINGS ---------- */
.rsearch{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 30px;margin-bottom:22px}
.rs-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.rs-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.rs-chips button{border:1px solid var(--line);background:var(--porcelain);border-radius:4px;padding:9px 15px;font-family:'Inter',sans-serif;font-size:12.5px;cursor:pointer;color:var(--stone)}
.rs-chips button.on{background:var(--graphite);color:#fff;border-color:var(--graphite)}
.rs-sort{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.rs-sort .lbl{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:600}
.rs-sort button{border:1px solid var(--line);background:#fff;border-radius:4px;padding:8px 14px;font-size:12.5px;cursor:pointer;font-family:'Inter',sans-serif;color:var(--stone)}
.rs-sort button.on{background:var(--brass);color:#fff;border-color:var(--brass)}
.rs-count{font-size:13px;color:var(--stone);margin:22px 0 14px}
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.rcard{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.rcard:hover{transform:translateY(-3px);box-shadow:0 20px 44px -26px rgba(22,24,29,.28)}
.rcard .ph{height:170px;background-size:cover;background-position:center;position:relative}
.rcard .ph .flag{position:absolute;top:12px;left:12px;background:rgba(22,24,29,.86);color:#fff;border-radius:3px;padding:5px 11px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.rcard .ph .flag.deal{background:#3E7C4F}
.rcard .bd{padding:20px 22px}
.rcard .addr{font-family:'Fraunces',serif;font-size:17px;font-weight:500}
.rcard .area{font-size:12.5px;color:var(--stone);margin-top:2px}
.rcard .prices{display:flex;align-items:baseline;gap:10px;margin:13px 0 4px;flex-wrap:wrap}
.rcard .ask{font-size:14px;color:var(--stone);text-decoration:line-through}
.rcard .trueR{font-family:'Fraunces',serif;font-size:25px;color:#3E7C4F}
.rcard .trueR.plain{color:var(--graphite)}
.rcard .lbl2{font-size:11px;color:var(--stone)}
.rcard .allin{font-size:12.5px;color:var(--stone);border-top:1px solid var(--line);margin-top:12px;padding-top:11px;line-height:1.6}
.rcard .allin b{color:var(--graphite);font-weight:500}
.rcard .feats{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.rcard .feats span{background:var(--porcelain);border:1px solid var(--line);border-radius:3px;padding:4px 9px;font-size:11px;color:var(--stone)}
.rcard .nego{margin-top:12px;border-radius:8px;padding:11px 14px;font-size:12.5px;line-height:1.55}
.rcard .nego.hot{background:#F6E9E2;color:#7A3E22}
.rcard .nego.warm{background:var(--signal-soft);color:#28536B}
.rcard .nego.cool{background:#EAF3EC;color:#2E5C3A}
.rcard .act{display:block;text-align:center;background:var(--graphite);color:#fff;border-radius:4px;padding:11px;margin-top:14px;font-size:13px;text-decoration:none;font-weight:500}
.rcard .act:hover{background:var(--brass-deep)}
.rs-none{text-align:center;padding:48px 20px;color:var(--stone);font-size:14.5px}


/* page header band */
.pagehead{background:#F5F2EA;border-bottom:1px solid var(--line);padding:70px 0 60px;text-align:center}
.pagehead h1{font-size:clamp(30px,5vw,46px);line-height:1.12}
.pagehead h1 em{font-style:italic;color:var(--brass-deep)}
.pagehead p{color:var(--stone);max-width:560px;margin:14px auto 0;font-size:16px}
/* news cards */
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:44px}
.na{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s}
.na:hover{transform:translateY(-4px);box-shadow:0 20px 44px -24px rgba(22,24,29,.22)}
.na .ph{height:180px;background-size:cover;background-position:center}
.na .bd{padding:22px;flex:1;display:flex;flex-direction:column}
.na .tag{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:600;margin-bottom:9px}
.na h3{font-size:19px;font-weight:500;line-height:1.3;margin-bottom:9px}
.na p{font-size:13.5px;color:var(--stone);line-height:1.6;flex:1}
.na .src{font-size:11.5px;color:#A6A9AF;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.news-run{text-align:center;margin-top:40px}
.news-run button{border:none;background:var(--graphite);color:#fff;border-radius:100px;padding:15px 34px;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;cursor:pointer}
.news-run button:hover{background:var(--brass-deep)}
.news-note{font-size:11.5px;color:#A6A9AF;margin-top:14px}




/* =====================================================================
   UI/UX REFINEMENT PASS  (fonts unchanged: Fraunces + Inter)
   Focus: readable hero, clear hierarchy, calmer spacing, better states
   ===================================================================== */

/* ---- 1. HERO: let the photograph breathe, protect the words ---- */
.hero{padding:96px 0 84px;position:relative}
.hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(10,14,20,.42) 0%,
    rgba(10,14,20,.30) 38%,
    rgba(247,245,240,.55) 78%,
    var(--porcelain) 97%);
}
.hero>.wrap{position:relative;z-index:2}
.hero h1{text-shadow:0 2px 26px rgba(10,14,20,.55),0 1px 3px rgba(10,14,20,.4)}
.hero .eyebrow{color:#F2CE9B;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.hero p.sub{
  color:#fff;font-size:16.5px;line-height:1.6;max-width:600px;
  background:rgba(12,16,22,.42);
  -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;padding:16px 22px;text-shadow:none;
}
.hero-stats{margin-top:56px;gap:0;border-top:1px solid var(--line);padding-top:0}
.hero-stats div{
  flex:1;min-width:150px;color:var(--stone);padding:20px 14px 0;
  border-right:1px solid var(--line);
}
.hero-stats div:last-child{border-right:none}
@media(max-width:720px){.hero-stats div{border-right:none;border-bottom:1px solid var(--line);padding-bottom:16px}}

/* ---- 2. TYPE SCALE: one clear hierarchy everywhere ---- */
h1{letter-spacing:-.018em}
h2,.serif{letter-spacing:-.012em}
.eyebrow{font-size:10.5px;letter-spacing:.22em;color:var(--brass-deep)}
.match-head h2,.pagehead h1{line-height:1.1}
.match-head p,.pagehead p{font-size:15.5px;line-height:1.62}
p{line-height:1.65}

/* ---- 3. SPACING RHYTHM ---- */
section{padding:96px 0}
@media(max-width:720px){section{padding:64px 0}}
.match-head{margin-bottom:40px}
.pagehead{padding:78px 0 66px;position:relative}
.pagehead::after{content:'';position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);width:56px;height:2px;background:var(--brass)}

/* ---- 4. CARDS + STATES: quieter borders, clearer feedback ---- */
.prop,.tk,.ps,.tc,.na,.sc,.kpi,.nb,.mort-card,.inv-card,.life-panel,.quiz-card,.broker-card{
  transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s,border-color .2s}
.tk:hover,.ps:hover,.tc:hover,.nb:hover{border-color:#D6CFC0}
.na:hover,.prop:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(22,24,29,.26)}
.prop .ph,.na .ph{position:relative}
.prop .ph::after,.na .ph::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(10,14,20,.18));pointer-events:none}

/* ---- 5. CONTROLS: consistent size, real focus, clear affordance ---- */
input,select,textarea,button{font-family:'Inter',sans-serif}
.type-row input,.mag-form input,.meet-form input,.meet-form select,
.life-extra select,.mort-form input,.mort-form select,.inv-form input,.tr-bar select{
  min-height:46px;font-size:14.5px;transition:border-color .15s,box-shadow .15s}
.type-row input:focus,.mag-form input:focus,.meet-form input:focus,.meet-form select:focus,
.life-extra select:focus,.mort-form input:focus,.mort-form select:focus,.inv-form input:focus{
  box-shadow:0 0 0 3px rgba(176,141,63,.14)}
button{transition:background .18s,color .18s,border-color .18s,transform .12s}
button:active{transform:translateY(1px)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:2px solid var(--signal);outline-offset:2px;border-radius:4px}
.life-chips button,.cat-chips button,.psf-bar button{min-height:40px}

/* ---- 6. NAV: steadier, clearer current page ---- */
nav{background:rgba(252,251,247,.94);backdrop-filter:blur(14px);transition:box-shadow .2s}
.nav-inner{height:70px}
.navitem>a{position:relative}
.navitem>a.active::before{
  content:'';position:absolute;left:0;right:0;bottom:20px;height:2px;background:var(--brass)}
.nav-cta{box-shadow:0 6px 18px -10px rgba(22,24,29,.6)}
.drop a{transition:background .14s,padding-left .14s}
.drop a:hover{padding-left:18px}

/* ---- 7. VOICE MODULE: the signature gets more presence ---- */
.voice-shell{box-shadow:0 30px 70px -34px rgba(22,24,29,.34);border-color:rgba(255,255,255,.5)}
.mic-btn{box-shadow:0 10px 26px -10px rgba(22,24,29,.55)}
.voice-hint{font-size:12.5px;line-height:1.55;max-width:520px;margin-left:auto;margin-right:auto}

/* ---- 8. FOOTER ---- */
footer{padding:60px 0 48px;background:#fff;border-top:1px solid var(--line)}
.foot a{color:var(--stone);transition:color .15s}
.foot a:hover{color:var(--brass-deep)}
.foot>div{max-width:280px}

/* ---- 9. MOBILE POLISH ---- */
@media(max-width:640px){
  .hero{padding:70px 0 64px}
  .hero p.sub{padding:14px 18px;font-size:15.5px}
  .voice-shell{padding:34px 22px 28px}
  .wrap{padding:0 20px}
  .match-head h2,.pagehead h1{font-size:clamp(26px,7vw,34px)}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}


/* ---------- PERSPECTIVE / QUOTE WALL ---------- */
.persp{background:#16181D;color:#fff}
.persp .eyebrow{color:var(--brass)}
.persp .match-head p{color:#A6A9AF}
.qfeature{max-width:820px;margin:44px auto 0;text-align:center;position:relative;padding:0 20px}
.qfeature .mark{font-family:'Fraunces',serif;font-size:74px;line-height:.6;color:var(--brass);opacity:.5}
.qfeature blockquote{font-family:'Fraunces',serif;font-size:clamp(22px,3.4vw,34px);line-height:1.34;font-weight:400;margin:14px 0 20px;min-height:96px}
.qfeature .by{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);font-weight:600}
.qfeature .role{font-size:12.5px;color:#8B8F96;margin-top:5px}
.qdots{display:flex;gap:7px;justify-content:center;margin-top:26px}
.qdots button{width:8px;height:8px;border-radius:50%;border:none;background:#3A3E46;cursor:pointer;padding:0}
.qdots button.on{background:var(--brass);width:22px;border-radius:100px}
.qgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin-top:52px}
.qc{background:#1D2026;border:1px solid #2A2D34;border-left:2px solid var(--brass);border-radius:10px;padding:24px 26px}
.qc p{font-family:'Fraunces',serif;font-size:16.5px;line-height:1.5;color:#E8E6E2}
.qc .by{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-top:14px}
.qc .note{font-size:11.5px;color:#8B8F96;margin-top:5px;line-height:1.5}


/* ---------- VOW REGISTRATION GATE ---------- */
.gate-lock{position:relative}
.gate-lock>.gate-inner{filter:blur(7px);pointer-events:none;user-select:none;opacity:.5}
.gate-cover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;z-index:5}
.gate-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px 36px;max-width:430px;text-align:center;box-shadow:0 30px 70px -34px rgba(22,24,29,.4)}
.gate-box .ic{font-size:26px}
.gate-box h3{font-family:'Fraunces',serif;font-size:22px;font-weight:500;margin:12px 0 8px}
.gate-box p{font-size:13.5px;color:var(--stone);line-height:1.6}
.gate-box button{margin-top:18px;border:none;background:var(--graphite);color:#fff;border-radius:6px;padding:13px 28px;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;cursor:pointer}
.gate-box button:hover{background:var(--brass-deep)}
.gate-box .why{font-size:11.5px;color:#A6A9AF;margin-top:14px;line-height:1.55}
.modal{position:fixed;inset:0;background:rgba(12,14,18,.62);display:none;align-items:center;justify-content:center;z-index:200;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.modal.on{display:flex}
.modal-card{background:#fff;border-radius:18px;max-width:470px;width:100%;padding:36px 38px;max-height:92vh;overflow:auto}
.modal-card .eyebrow{color:var(--brass-deep)}
.modal-card h3{font-family:'Fraunces',serif;font-size:25px;font-weight:500;margin:8px 0 8px}
.modal-card .lead{font-size:14px;color:var(--stone);line-height:1.6;margin-bottom:22px}
.modal-card label{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:500;margin:0 0 7px}
.modal-card input{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-family:'Inter',sans-serif;font-size:14.5px;background:var(--porcelain);outline:none;margin-bottom:14px}
.modal-card input:focus{border-color:var(--brass)}
.consent{display:flex;gap:10px;align-items:flex-start;background:var(--porcelain);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:4px 0 16px}
.consent input{width:auto;margin:3px 0 0}
.consent span{font-size:12px;color:var(--stone);line-height:1.55}
.modal-card .submit{width:100%;border:none;background:var(--brass);color:#fff;border-radius:6px;padding:14px;font-family:'Inter',sans-serif;font-size:14.5px;font-weight:500;cursor:pointer}
.modal-card .submit:hover{background:var(--brass-deep)}
.modal-card .cancel{width:100%;border:none;background:transparent;color:var(--stone);padding:12px;font-family:'Inter',sans-serif;font-size:13px;cursor:pointer;margin-top:4px}
.modal-card .legal{font-size:11px;color:#A6A9AF;line-height:1.55;margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.modal-card .err{color:#B5542D;font-size:12.5px;margin-bottom:10px;display:none}
.gate-badge{display:inline-flex;align-items:center;gap:6px;background:var(--signal-soft);color:#28536B;border-radius:100px;padding:5px 13px;font-size:11px;font-weight:600;letter-spacing:.04em;margin-bottom:14px}

/* ---------- POWER OF SALE ---------- */
.pos-hero{background:#16181D;color:#fff;padding:70px 0}
.pos-hero .eyebrow{color:var(--brass)}
.pos-hero h1{font-size:clamp(30px,5vw,46px);line-height:1.12}
.pos-hero h1 em{font-style:italic;color:var(--brass)}
.pos-hero p{color:#A6A9AF;max-width:620px;margin:14px auto 0;font-size:16px}
.pos-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;max-width:900px;margin:34px auto 0}
.pos-stats .s{background:#1D2026;border:1px solid #2A2D34;border-radius:12px;padding:20px;text-align:center}
.pos-stats .sv{font-family:'Fraunces',serif;font-size:24px;color:var(--brass)}
.pos-stats .sl{font-size:11.5px;color:#A6A9AF;margin-top:5px;line-height:1.45}
.pos-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}
@media(max-width:820px){.pos-two{grid-template-columns:1fr}}
.pos-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 28px}
.pos-card.warn{border-left:3px solid #B5542D}
.pos-card.good{border-left:3px solid #3E7C4F}
.pos-card h3{font-family:'Fraunces',serif;font-size:19px;font-weight:500;margin-bottom:12px}
.pos-card li{list-style:none;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--graphite);line-height:1.55}
.pos-card li:last-child{border-bottom:none}
.pos-card li b{font-weight:600}
.pos-alert{background:var(--porcelain);border:1px solid var(--line);border-radius:16px;padding:34px 38px;margin-top:40px;text-align:center}
.pos-alert h3{font-family:'Fraunces',serif;font-size:24px;font-weight:500}
.pos-alert p{font-size:14.5px;color:var(--stone);max-width:520px;margin:10px auto 20px}
.pos-alert form{display:flex;gap:9px;max-width:520px;margin:0 auto;flex-wrap:wrap}
.pos-alert input{flex:1;min-width:190px;border:1px solid var(--line);border-radius:6px;padding:13px 16px;font-family:'Inter',sans-serif;font-size:14px;background:#fff;outline:none}
.pos-alert input:focus{border-color:var(--brass)}
.pos-alert button{border:none;background:var(--graphite);color:#fff;border-radius:6px;padding:13px 26px;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;cursor:pointer}
.pos-alert button:hover{background:var(--brass-deep)}
.pos-src{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:22px}
.pos-src a{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px;text-decoration:none;color:var(--graphite);transition:all .18s}
.pos-src a:hover{border-color:var(--brass);transform:translateY(-2px)}
.pos-src .t{font-family:'Fraunces',serif;font-size:16.5px;margin-bottom:5px}
.pos-src .d{font-size:12.5px;color:var(--stone);line-height:1.5}
.steps-num{counter-reset:s}
.steps-num li{counter-increment:s;position:relative;padding-left:38px!important}
.steps-num li::before{content:counter(s);position:absolute;left:0;top:9px;width:24px;height:24px;border-radius:50%;background:var(--brass);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif}

/* ---------- RENTALS ---------- */
.rent-hero{background:#16181D;color:#fff;padding:66px 0 60px;text-align:center}
.rent-hero .eyebrow{color:var(--brass)}
.rent-hero h1{font-size:clamp(30px,5vw,46px);line-height:1.12;margin-top:9px}
.rent-hero h1 em{font-style:italic;color:var(--brass)}
.rent-hero p{color:#A6A9AF;max-width:640px;margin:14px auto 0;font-size:16px}
.rent-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px;max-width:940px;margin:32px auto 0}
.rent-stats .s{background:#1D2026;border:1px solid #2A2D34;border-radius:12px;padding:18px;text-align:center}
.rent-stats .sv{font-family:'Fraunces',serif;font-size:23px;color:var(--brass)}
.rent-stats .sl{font-size:11.5px;color:#A6A9AF;margin-top:5px;line-height:1.45}
.aud{display:flex;gap:6px;background:var(--porcelain);border:1px solid var(--line);border-radius:100px;padding:5px;max-width:430px;margin:0 auto 40px}
.aud button{flex:1;border:none;background:transparent;border-radius:100px;padding:12px 8px;font-family:'Inter',sans-serif;font-size:13.5px;cursor:pointer;color:var(--stone)}
.aud button.on{background:var(--graphite);color:#fff}
.rpanel{display:none}.rpanel.on{display:block}
.tool{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px 34px;margin-bottom:20px}
.tool>h3{font-family:'Fraunces',serif;font-size:23px;font-weight:500}
.tool>.lead{font-size:14px;color:var(--stone);margin:6px 0 22px;line-height:1.6;max-width:620px}
.t2{display:grid;grid-template-columns:1fr 1fr;gap:30px}
@media(max-width:820px){.t2{grid-template-columns:1fr}}
.fld{margin-bottom:13px}
.fld label{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:500;margin-bottom:7px}
.fld input,.fld select{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-family:'Inter',sans-serif;font-size:14.5px;background:var(--porcelain);outline:none;color:var(--graphite)}
.fld input:focus{border-color:var(--brass)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.big{font-family:'Fraunces',serif;font-size:clamp(30px,5vw,42px);line-height:1.05}
.big small{font-family:'Inter',sans-serif;font-size:15px;color:var(--stone);font-weight:300}
.big.good{color:#3E7C4F}.big.bad{color:#B5542D}
.lines{margin-top:16px;border-top:1px solid var(--line)}
.lines div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--stone)}
.lines div b{color:var(--graphite);font-weight:500;white-space:nowrap}
.verdict{border-radius:12px;padding:17px 20px;font-size:13.5px;line-height:1.65;margin-top:16px}
.verdict.good{background:#EAF3EC;color:#2E5C3A}
.verdict.warn{background:#F6E9E2;color:#7A3E22}
.verdict.info{background:var(--signal-soft);color:#28536B}
.verdict b{font-weight:600}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:18px}
.opt{background:var(--porcelain);border:1px solid var(--line);border-radius:12px;padding:18px}
.opt.best{border-color:var(--brass);background:#FBF7EF}
.opt .on{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-deep);font-weight:600}
.opt .ov{font-family:'Fraunces',serif;font-size:20px;margin:7px 0 3px}
.opt .od{font-size:12px;color:var(--stone);line-height:1.5}
.opt .tag{display:inline-block;margin-top:9px;background:var(--brass);color:#fff;border-radius:100px;padding:3px 10px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.pass{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:22px}
.pcard{background:var(--porcelain);border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:12px;padding:22px 24px}
.pcard h4{font-family:'Fraunces',serif;font-size:17px;font-weight:500;margin-bottom:10px}
.pcard li{list-style:none;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.55;color:var(--graphite)}
.pcard li:last-child{border-bottom:none}
.pcard.alert{border-left-color:#B5542D}
.langsw{display:flex;gap:5px;background:var(--porcelain);border:1px solid var(--line);border-radius:100px;padding:4px;width:190px;margin-bottom:18px}
.langsw button{flex:1;border:none;background:transparent;border-radius:100px;padding:8px;font-family:'Inter',sans-serif;font-size:12.5px;cursor:pointer;color:var(--stone)}
.langsw button.on{background:var(--graphite);color:#fff}
[dir="rtl"]{direction:rtl;text-align:right}

/* ---------- RENTAL LISTINGS ---------- */
.rsearch{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 30px;margin-bottom:22px}
.rs-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.rs-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.rs-chips button{border:1px solid var(--line);background:var(--porcelain);border-radius:4px;padding:9px 15px;font-family:'Inter',sans-serif;font-size:12.5px;cursor:pointer;color:var(--stone)}
.rs-chips button.on{background:var(--graphite);color:#fff;border-color:var(--graphite)}
.rs-sort{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.rs-sort .lbl{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);font-weight:600}
.rs-sort button{border:1px solid var(--line);background:#fff;border-radius:4px;padding:8px 14px;font-size:12.5px;cursor:pointer;font-family:'Inter',sans-serif;color:var(--stone)}
.rs-sort button.on{background:var(--brass);color:#fff;border-color:var(--brass)}
.rs-count{font-size:13px;color:var(--stone);margin:22px 0 14px}
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.rcard{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.rcard:hover{transform:translateY(-3px);box-shadow:0 20px 44px -26px rgba(22,24,29,.28)}
.rcard .ph{height:170px;background-size:cover;background-position:center;position:relative}
.rcard .ph .flag{position:absolute;top:12px;left:12px;background:rgba(22,24,29,.86);color:#fff;border-radius:3px;padding:5px 11px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.rcard .ph .flag.deal{background:#3E7C4F}
.rcard .bd{padding:20px 22px}
.rcard .addr{font-family:'Fraunces',serif;font-size:17px;font-weight:500}
.rcard .area{font-size:12.5px;color:var(--stone);margin-top:2px}
.rcard .prices{display:flex;align-items:baseline;gap:10px;margin:13px 0 4px;flex-wrap:wrap}
.rcard .ask{font-size:14px;color:var(--stone);text-decoration:line-through}
.rcard .trueR{font-family:'Fraunces',serif;font-size:25px;color:#3E7C4F}
.rcard .trueR.plain{color:var(--graphite)}
.rcard .lbl2{font-size:11px;color:var(--stone)}
.rcard .allin{font-size:12.5px;color:var(--stone);border-top:1px solid var(--line);margin-top:12px;padding-top:11px;line-height:1.6}
.rcard .allin b{color:var(--graphite);font-weight:500}
.rcard .feats{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.rcard .feats span{background:var(--porcelain);border:1px solid var(--line);border-radius:3px;padding:4px 9px;font-size:11px;color:var(--stone)}
.rcard .nego{margin-top:12px;border-radius:8px;padding:11px 14px;font-size:12.5px;line-height:1.55}
.rcard .nego.hot{background:#F6E9E2;color:#7A3E22}
.rcard .nego.warm{background:var(--signal-soft);color:#28536B}
.rcard .nego.cool{background:#EAF3EC;color:#2E5C3A}
.rcard .act{display:block;text-align:center;background:var(--graphite);color:#fff;border-radius:4px;padding:11px;margin-top:14px;font-size:13px;text-decoration:none;font-weight:500}
.rcard .act:hover{background:var(--brass-deep)}
.rs-none{text-align:center;padding:48px 20px;color:var(--stone);font-size:14.5px}

/* ---------- MOBILE NAV v2 ---------- */
@media(max-width:920px){
  nav{position:sticky;top:0;z-index:100}
  .nav-inner{height:62px}
  .logo{font-size:15px}
  .burger{font-size:0;width:42px;height:42px;position:relative;border-radius:8px}
  .burger::before,.burger::after,.burger span{content:'';position:absolute;left:11px;right:11px;height:2px;background:var(--graphite);transition:.25s}
  .burger::before{top:14px}.burger::after{bottom:14px}
  .burger span{top:20px;display:block}
  body.menu-open .burger::before{top:20px;transform:rotate(45deg)}
  body.menu-open .burger::after{bottom:20px;transform:rotate(-45deg)}
  body.menu-open .burger span{opacity:0}
  body.menu-open{overflow:hidden}

  .nav-links{
    position:fixed;inset:62px 0 0 0;background:var(--porcelain);
    flex-direction:column;align-items:stretch;gap:0;padding:8px 0 40px;
    display:flex;transform:translateX(100%);transition:transform .28s cubic-bezier(.3,.8,.3,1);
    overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:none}
  .nav-links.open{transform:translateX(0)}
  .navitem{border-bottom:1px solid var(--line)}
  .navitem>a{
    display:flex;align-items:center;justify-content:space-between;
    padding:17px 22px;font-size:16px;font-weight:500;color:var(--graphite)}
  .navitem.has>a::after{width:7px;height:7px;border-color:var(--brass);opacity:1;margin-right:4px}
  .drop{
    position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    border:none;background:transparent;padding:0 0 10px;min-width:0;border-radius:0}
  .drop a{
    padding:12px 22px 12px 36px;font-size:14px;color:var(--stone);border-radius:0;
    border-left:2px solid var(--line);margin-left:22px}
  .drop a:hover,.drop a:active{background:transparent;color:var(--brass-deep);border-left-color:var(--brass);padding-left:36px}
  .drop a small{font-size:12px;margin-top:2px;color:#A6A9AF}
  .nav-cta{margin:22px 22px 0;padding:16px;font-size:15px;border-radius:6px;text-align:center;display:block}
}




@media(max-width:420px){
  .wrap{padding-left:18px;padding-right:18px}
  .logo{font-size:14px}
  .burger{flex-basis:42px;width:42px;height:42px}
  .nav-links{top:62px !important;height:calc(100dvh - 62px)}
  .navitem>a{padding-left:18px;padding-right:18px}
  .drop{padding-left:34px !important;padding-right:18px !important}
  .nav-cta{margin-left:18px;margin-right:18px}
}
@media(prefers-reduced-motion:reduce){
  .nav-links,.burger span,.burger::before,.burger::after{transition:none !important}
}


/* ================================================================
   V34 MOBILE MENU FINAL FIX
   The legacy max-width:860px rule hides every nav link except the CTA.
   On mobile this leaves only empty bordered rows visible.
   Override it here so all navigation destinations are visible/tappable.
   ================================================================ */

@media (max-width:420px){
  .nav-links{ padding:12px 11px 34px !important; }
  .nav-links > .navitem > a{ padding:15px 14px !important; font-size:15.5px !important; }
  .navitem.has .drop{ margin:0 8px 8px !important; }
}


/* =====================================================================
   V39 — MOBILE NAV CLEAN / SINGLE SOURCE OF TRUTH
   ===================================================================== */
@media (max-width:920px){
  nav{
    position:sticky !important;
    top:0 !important;
    z-index:2000 !important;
  }
  .nav-inner{
    height:62px !important;
    min-height:62px !important;
  }
  .logo{
    font-size:15px !important;
    min-width:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  /* hamburger */
  .burger{
    display:flex !important;
    align-items:center;
    justify-content:center;
    flex:0 0 44px;
    width:44px !important;
    height:44px !important;
    padding:0 !important;
    margin-left:auto;
    border:1px solid rgba(31,34,40,.10) !important;
    border-radius:11px !important;
    background:#fff !important;
    position:relative;
    z-index:2101;
    -webkit-appearance:none;
    appearance:none;
    -webkit-tap-highlight-color:transparent;
  }
  .burger span,.burger::before,.burger::after{
    content:'';
    position:absolute;
    left:11px;
    right:11px;
    height:2px;
    background:var(--graphite);
    border-radius:2px;
    transition:transform .20s ease,opacity .16s ease,top .20s ease,bottom .20s ease;
  }
  .burger::before{top:13px}
  .burger span{top:20px}
  .burger::after{top:27px}
  body.menu-open .burger::before{top:20px;transform:rotate(45deg)}
  body.menu-open .burger span{opacity:0}
  body.menu-open .burger::after{top:20px;transform:rotate(-45deg)}

  /* full-height menu panel; the panel itself scrolls */
  .nav-links{
    position:fixed !important;
    top:62px !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:auto !important;
    height:calc(100dvh - 62px) !important;
    max-height:none !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:14px 14px calc(30px + env(safe-area-inset-bottom)) !important;
    background:rgba(247,245,240,.98) !important;
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    transform:translate3d(105%,0,0) !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    border-top:1px solid rgba(31,34,40,.07) !important;
    box-shadow:-18px 0 45px -30px rgba(22,24,29,.28) !important;
    transition:transform .24s cubic-bezier(.22,.8,.25,1),opacity .18s ease,visibility 0s linear .24s !important;
    z-index:2050 !important;
  }
  .nav-links.open{
    transform:translate3d(0,0,0) !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transition:transform .24s cubic-bezier(.22,.8,.25,1),opacity .18s ease !important;
  }

  /* remove desktop/current-page underline on mobile */
  .nav-links .navitem > a::before,
  .nav-links .navitem > a.active::before{
    display:none !important;
    content:none !important;
  }

  /* primary cards */
  .nav-links > .navitem{
    position:relative;
    flex:0 0 auto;
    margin:0 0 9px !important;
    border:1px solid rgba(31,34,40,.075) !important;
    border-radius:14px !important;
    background:linear-gradient(180deg,#fff 0%,#FCFBF8 100%) !important;
    overflow:hidden !important;
    box-shadow:0 2px 4px rgba(22,24,29,.035),0 9px 20px -14px rgba(22,24,29,.18) !important;
  }
  .nav-links > .navitem > a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:56px !important;
    box-sizing:border-box !important;
    padding:15px 16px !important;
    font-size:16px !important;
    line-height:1.25 !important;
    font-weight:500 !important;
    color:var(--graphite) !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    text-decoration:none !important;
  }
  .nav-links > .navitem > a.active{color:var(--graphite) !important}
  .nav-links > .navitem > a:active{background:#FAF8F4 !important}

  /* only the chevron gets gold */
  .navitem.has > a::after{
    content:'' !important;
    display:block !important;
    flex:0 0 8px !important;
    width:8px !important;
    height:8px !important;
    margin:0 2px 0 14px !important;
    border-right:1.5px solid var(--brass) !important;
    border-bottom:1.5px solid var(--brass) !important;
    border-top:0 !important;
    border-left:0 !important;
    background:none !important;
    opacity:1 !important;
    transform:rotate(45deg) !important;
    transition:transform .20s ease !important;
  }
  .navitem.has.expanded > a{
    color:var(--brass-deep) !important;
    background:#FBF9F5 !important;
  }
  .navitem.has.expanded > a::after{transform:rotate(225deg) !important}

  /* accordion content */
  .navitem.has .drop{
    display:none !important;
    position:static !important;
    min-width:0 !important;
    margin:0 9px 9px !important;
    padding:5px !important;
    background:#F7F4EE !important;
    border:1px solid rgba(31,34,40,.055) !important;
    border-radius:11px !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.7) !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }
  .navitem.has.expanded .drop{display:block !important}
  .navitem.has .drop a{
    display:block !important;
    box-sizing:border-box !important;
    margin:0 !important;
    padding:11px 10px !important;
    border:0 !important;
    border-bottom:1px solid rgba(31,34,40,.055) !important;
    border-radius:7px !important;
    background:transparent !important;
    color:#555A62 !important;
    font-size:14px !important;
    line-height:1.35 !important;
    text-decoration:none !important;
  }
  .navitem.has .drop a:last-child{border-bottom:0 !important}
  .navitem.has .drop a:active{background:rgba(169,133,92,.10) !important;color:#765839 !important}
  .navitem.has .drop a small{
    display:block !important;
    margin-top:3px !important;
    color:#9699A0 !important;
    font-size:11.5px !important;
    line-height:1.35 !important;
  }

  /* CTA */
  .nav-links .nav-cta{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto;
    min-height:58px !important;
    margin:5px 0 0 !important;
    padding:15px 16px !important;
    border:1px solid rgba(112,82,49,.35) !important;
    border-radius:14px !important;
    background:linear-gradient(180deg,#C5A06D 0%,#A9855C 100%) !important;
    color:#fff !important;
    font-size:17px !important;
    font-weight:600 !important;
    letter-spacing:.01em !important;
    text-align:center !important;
    box-shadow:0 10px 22px -12px rgba(140,106,67,.65),inset 0 1px 0 rgba(255,255,255,.25) !important;
  }
  .nav-links .nav-cta::after{display:none !important}
  .nav-links .nav-cta:active{background:#96734A !important}

  /* Never freeze touch scrolling on iOS; only prevent document scrolling. */
  body.menu-open{
    overflow:hidden !important;
    touch-action:auto !important;
  }
}

@media (max-width:420px){
  .nav-links{padding-left:11px !important;padding-right:11px !important}
  .nav-links > .navitem > a{padding-left:14px !important;padding-right:14px !important;font-size:15.5px !important}
  .navitem.has .drop{margin-left:7px !important;margin-right:7px !important}
  .nav-links .nav-cta{font-size:16.5px !important}
}

/* ================= V49 AI CONCIERGE ================= */
.agent-panel{display:block;margin:24px auto 0;max-width:760px;padding:20px 22px;border:1px solid rgba(201,162,83,.38);border-radius:18px;background:linear-gradient(145deg,rgba(20,24,30,.98),rgba(12,15,20,.98));box-shadow:0 18px 45px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.05);text-align:left}
.agent-panel.show{display:block;animation:agentIn .25s ease}
.agent-badge{font:600 10px/1 Arial,sans-serif;letter-spacing:.2em;color:#C9A253;margin-bottom:10px}
.agent-text{font:600 18px/1.45 Arial,sans-serif;color:#fff}
.agent-summary{margin-top:12px;padding:13px 14px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);font:13px/1.6 Arial,sans-serif;color:#D8D9DC}
.agent-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.agent-actions button{border:0;border-radius:999px;padding:12px 18px;min-height:44px;font:700 12px/1 Arial,sans-serif;cursor:pointer}
.agent-primary{background:#C9A253;color:#111}
.agent-secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.2)!important}
@keyframes agentIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:600px){
 .agent-panel{padding:17px;margin-top:18px;border-radius:15px}
 .agent-text{font-size:16px}
 .agent-actions{display:grid;grid-template-columns:1fr}
 .agent-actions button{width:100%}
}
/* ===== V49 VOICE CONVERSATION ===== */
#voiceAudio{display:none}
.voice-shell.voice-conversation-ready{border-color:rgba(201,162,83,.55)}
.voice-status.live{letter-spacing:.01em}
.mic-btn.live{transform:scale(1.04);box-shadow:0 0 0 8px rgba(201,162,83,.13),0 12px 34px -10px rgba(22,24,29,.62)}
#agentPanel .agent-text{white-space:pre-wrap}
@media(max-width:640px){
  .voice-shell{padding-bottom:30px}
  .voice-hint{font-size:12px}
}

/* V49 true voice-agent UI */
.agent-panel{transition:box-shadow .25s ease,transform .25s ease}.voice-shell:has(.mic-btn.live) .agent-panel{box-shadow:0 18px 45px rgba(0,0,0,.2),0 0 0 1px rgba(201,162,83,.12),inset 0 1px rgba(255,255,255,.05)}
@media(max-width:600px){.agent-panel{margin:16px 0 0;padding:16px}.agent-text{font-size:17px}}

/* ================================================================
   V51 — SAFETY + PROPERTY ASSISTANT + VOICE CALMING UI
   ================================================================ */
.property-ai-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:10px;
  min-height:42px;
  padding:10px 14px;
  border:1px solid rgba(169,133,92,.34);
  border-radius:10px;
  background:linear-gradient(180deg,#fffdf8 0%,#f5efe4 100%);
  color:#7c5b37;
  font:600 13px/1.2 inherit;
  box-shadow:0 5px 14px rgba(31,34,40,.08),inset 0 1px 0 rgba(255,255,255,.95);
}
.property-ai-btn:active{transform:translateY(1px)}

.property-assistant{
  position:fixed;
  right:22px;
  bottom:22px;
  width:min(380px,calc(100vw - 28px));
  z-index:99999;
  display:none;
  padding:18px;
  border:1px solid rgba(169,133,92,.24);
  border-radius:18px;
  background:rgba(255,253,248,.98);
  box-shadow:0 18px 46px rgba(20,22,27,.20),0 2px 5px rgba(20,22,27,.08),inset 0 1px 0 rgba(255,255,255,.96);
  backdrop-filter:blur(16px);
}
.property-assistant.show{display:block}
.property-assistant::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:18px;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(169,133,92,.06);
}
.pa-close{
  position:absolute;
  top:8px;
  right:10px;
  width:30px;height:30px;
  border:0;border-radius:50%;
  background:rgba(31,34,40,.06);
  color:#5a5e66;
  font-size:20px;
}
.pa-kicker{
  color:#a9855c;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
}
.property-assistant h3{margin:5px 34px 5px 0;font-size:20px}
.property-assistant p{margin:0 0 10px;color:#666b73;font-size:13px;line-height:1.45}
.pa-context{
  padding:9px 10px;
  border-radius:9px;
  background:#f5f1e8;
  color:#555a62;
  font-size:12px;
  line-height:1.4;
}
.pa-messages{
  max-height:240px;
  overflow:auto;
  margin:11px 0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.pa-msg{
  max-width:88%;
  padding:9px 11px;
  border-radius:11px;
  font-size:13px;
  line-height:1.45;
}
.pa-msg.user{align-self:flex-end;background:#1f2228;color:#fff}
.pa-msg.ai{align-self:flex-start;background:#f2efe8;color:#363a42}
.pa-row{display:grid;grid-template-columns:1fr auto auto;gap:7px}
.pa-row input{
  min-width:0;
  height:42px;
  box-sizing:border-box;
  padding:0 11px;
  border:1px solid rgba(31,34,40,.13);
  border-radius:10px;
  background:#fff;
  color:#22252b;
}
.pa-row button{
  min-width:42px;
  border:1px solid rgba(169,133,92,.28);
  border-radius:10px;
  background:#fffaf1;
  color:#7c5b37;
  font-weight:700;
}
.pa-row #paAsk{padding:0 12px;background:linear-gradient(180deg,#c19a68,#a9855c);color:#fff;border-color:#8c6a43}

@media(max-width:600px){
  .property-assistant{
    right:12px;left:12px;bottom:12px;width:auto;
    border-radius:16px;
    padding:15px;
  }
  .property-assistant h3{font-size:18px}
  .pa-messages{max-height:200px}
}

/* 3D voice instruction card next to/under the microphone */
.voice-shell{
  position:relative;
  perspective:1000px;
}
.voice-shell::after{
  content:'Tap once to talk • I’ll listen, stop automatically, and ask the next question';
  display:block;
  width:min(420px,calc(100% - 34px));
  margin:14px auto 0;
  padding:12px 16px;
  border:1px solid rgba(169,133,92,.22);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(246,240,229,.98));
  color:#4d5159;
  font-size:12.5px;
  line-height:1.45;
  text-align:center;
  box-shadow:0 10px 24px rgba(31,34,40,.09),inset 0 1px 0 rgba(255,255,255,.98);
  transform:translateZ(12px);
}
@media(max-width:600px){
  .voice-shell::after{
    width:calc(100% - 22px);
    font-size:12px;
    padding:10px 12px;
  }
}

/* ================================================================
   V52 — HODA PERSONAL BRANDING
   Fixed portrait + headset treatment for the Voice Concierge and
   the floating Property Assistant.
   ================================================================ */
.hoda-voice-branding{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:10px auto 16px;
  width:min(520px,calc(100% - 28px));
  padding:12px 16px;
  border:1px solid rgba(169,133,92,.20);
  border-radius:16px;
  background:linear-gradient(145deg,#fffefa 0%,#f5efe4 100%);
  box-shadow:0 14px 30px rgba(24,27,32,.10),inset 0 1px 0 rgba(255,255,255,.96);
  transform:translateZ(0);
}
.hoda-avatar-card{
  position:relative;
  flex:0 0 62px;
  width:62px;height:62px;
  display:grid;place-items:center;
  border-radius:16px;
  background:linear-gradient(145deg,#fff,#eee7db);
  border:1px solid rgba(169,133,92,.25);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 7px 17px rgba(24,27,32,.11);
}
.hoda-avatar{
  width:48px;height:48px;
  object-fit:cover;
  object-position:center top;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.95);
  box-shadow:0 3px 9px rgba(20,22,27,.16);
}
.hoda-headset{
  position:absolute;
  inset:8px 7px auto auto;
  width:22px;height:24px;
  pointer-events:none;
}
.headset-arc{
  position:absolute;
  left:2px;top:1px;
  width:18px;height:15px;
  border:2px solid #9a7348;
  border-bottom:0;
  border-radius:12px 12px 0 0;
}
.headset-mic{
  position:absolute;
  right:-1px;bottom:1px;
  width:8px;height:14px;
  border:2px solid #9a7348;
  border-radius:6px;
  background:#fff8ee;
}
.hoda-voice-copy{text-align:left}
.mvc-kicker{
  color:#a9855c;
  font-size:9px;
  font-weight:800;
  letter-spacing:.15em;
  margin-bottom:3px;
}
.mvc-name{
  color:#25282e;
  font-weight:700;
  font-size:15px;
  line-height:1.2;
}
.mvc-text{
  color:#666b73;
  font-size:12px;
  line-height:1.4;
  margin-top:4px;
}
.pa-brand-photo{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 26px 12px 0;
  padding:8px 0;
  border-bottom:1px solid rgba(31,34,40,.08);
}
.pa-brand-photo img{
  width:42px;height:42px;
  object-fit:cover;
  object-position:center top;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.95);
  box-shadow:0 4px 10px rgba(20,22,27,.14);
}
.pa-brand-name{font-weight:700;color:#2b2e34;font-size:12.5px}
.pa-brand-sub{font-size:10.5px;color:#8b8f96;margin-top:2px}

@media(max-width:600px){
  .hoda-voice-branding{
    width:calc(100% - 18px);
    padding:10px 12px;
    gap:11px;
    border-radius:14px;
  }
  .hoda-avatar-card{flex-basis:56px;width:56px;height:56px}
  .hoda-avatar{width:43px;height:43px}
  .mvc-name{font-size:14px}
  .mvc-text{font-size:11.5px}
}

/* ================= V52.1 PREMIUM BOOK A MEETING CTA ================= */
.nav-links .nav-cta,
.nav-cta{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:linear-gradient(145deg,#D5B37E 0%,#A9855C 48%,#8F6B45 100%) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:
    0 8px 0 rgba(108,78,47,.45),
    0 14px 24px rgba(60,43,28,.22),
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 -1px 0 rgba(68,47,28,.25) !important;
  text-shadow:0 1px 1px rgba(34,24,15,.22);
  transform:translateY(0);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease !important;
}
.nav-links .nav-cta::before,
.nav-cta::before{
  content:'';
  position:absolute;
  inset:1px;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 42%);
}
.nav-links .nav-cta:hover,
.nav-cta:hover{
  filter:saturate(1.05) brightness(1.04);
  transform:translateY(-2px);
  box-shadow:
    0 10px 0 rgba(108,78,47,.38),
    0 18px 30px rgba(60,43,28,.24),
    inset 0 1px 0 rgba(255,255,255,.32) !important;
}
.nav-links .nav-cta:active,
.nav-cta:active{
  transform:translateY(3px);
  box-shadow:
    0 4px 0 rgba(108,78,47,.40),
    0 8px 14px rgba(60,43,28,.18),
    inset 0 2px 4px rgba(60,43,28,.12) !important;
}
@media(max-width:920px){
  .nav-links .nav-cta{
    min-height:58px !important;
    font-size:17px !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
  }
}

/* ================= V52.2 CTA VISIBILITY + 3D ================= */
.nav-links a.nav-cta.nav-cta-premium{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  z-index:50 !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  min-width:170px !important;
  padding:13px 22px !important;
  background:linear-gradient(145deg,#E0C08C 0%,#B98E58 52%,#8E693F 100%) !important;
  color:#fff !important;
  border:1px solid rgba(89,64,38,.35) !important;
  border-radius:14px !important;
  box-shadow:0 7px 0 #725335,0 14px 26px rgba(57,42,28,.24),inset 0 1px 0 rgba(255,255,255,.48),inset 0 -2px 3px rgba(74,50,29,.18) !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  text-shadow:0 1px 2px rgba(55,37,21,.22) !important;
}
.nav-links a.nav-cta.nav-cta-premium:hover{transform:translateY(-2px) !important;filter:brightness(1.06) !important;}
.nav-links a.nav-cta.nav-cta-premium:active{transform:translateY(4px) !important;box-shadow:0 3px 0 #725335,0 7px 12px rgba(57,42,28,.18),inset 0 2px 5px rgba(74,50,29,.20) !important;}
@media(max-width:920px){
  .nav-links a.nav-cta.nav-cta-premium{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    width:calc(100% - 4px) !important;
    margin:10px 2px 4px !important;
    min-height:60px !important;
    font-size:17px !important;
  }
}

/* ================================================================
   V53 — DIRECT HODA PHOTO BRANDING
   ================================================================ */
.hoda-voice-branding{
  position:relative !important;
  z-index:80 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  width:min(520px,calc(100% - 28px)) !important;
  margin:10px auto 16px !important;
  padding:12px 16px !important;
  border:1px solid rgba(169,133,92,.26) !important;
  border-radius:16px !important;
  background:linear-gradient(145deg,#fffefa 0%,#f3ecdf 100%) !important;
  box-shadow:0 16px 34px rgba(24,27,32,.12),inset 0 1px 0 rgba(255,255,255,.98) !important;
}
.hoda-avatar-card{
  position:relative !important;
  flex:0 0 66px !important;
  width:66px !important;
  height:66px !important;
  display:grid !important;
  place-items:center !important;
  overflow:visible !important;
  border-radius:17px !important;
  background:linear-gradient(145deg,#fff,#ece3d4) !important;
  border:1px solid rgba(169,133,92,.28) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 8px 18px rgba(24,27,32,.13) !important;
}
.hoda-avatar{
  display:block !important;
  width:50px !important;
  height:50px !important;
  object-fit:cover !important;
  object-position:center top !important;
  border-radius:50% !important;
  border:2px solid rgba(255,255,255,.98) !important;
  box-shadow:0 4px 10px rgba(20,22,27,.18) !important;
}
.hoda-headset{
  position:absolute !important;
  top:6px !important;
  right:3px !important;
  width:22px !important;
  height:24px !important;
  pointer-events:none !important;
}
.headset-arc{
  position:absolute !important;
  left:2px !important;
  top:1px !important;
  width:18px !important;
  height:15px !important;
  border:2px solid #9a7348 !important;
  border-bottom:0 !important;
  border-radius:12px 12px 0 0 !important;
}
.headset-mic{
  position:absolute !important;
  right:-1px !important;
  bottom:1px !important;
  width:8px !important;
  height:14px !important;
  border:2px solid #9a7348 !important;
  border-radius:6px !important;
  background:#fff8ee !important;
}
.hoda-voice-copy{text-align:left !important}
.mvc-kicker{
  color:#a9855c !important;
  font-size:9px !important;
  font-weight:800 !important;
  letter-spacing:.15em !important;
  margin-bottom:3px !important;
}
.mvc-name{color:#25282e !important;font-weight:700 !important;font-size:15px !important;line-height:1.2 !important}
.mvc-text{color:#666b73 !important;font-size:12px !important;line-height:1.45 !important;margin-top:4px !important}

.property-assistant .pa-brand-photo{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 26px 12px 0 !important;
  padding:4px 0 10px !important;
  border-bottom:1px solid rgba(31,34,40,.08) !important;
}
.property-assistant .pa-brand-photo img{
  display:block !important;
  width:46px !important;
  height:46px !important;
  object-fit:cover !important;
  object-position:center top !important;
  border-radius:50% !important;
  border:2px solid rgba(255,255,255,.98) !important;
  box-shadow:0 5px 12px rgba(20,22,27,.16) !important;
}
.property-assistant .pa-brand-name{font-weight:700 !important;color:#2b2e34 !important;font-size:12.5px !important}
.property-assistant .pa-brand-sub{font-size:10.5px !important;color:#8b8f96 !important;margin-top:2px !important}

@media(max-width:600px){
  .hoda-voice-branding{
    width:calc(100% - 18px) !important;
    padding:10px 12px !important;
    gap:11px !important;
    border-radius:14px !important;
  }
  .hoda-avatar-card{flex-basis:58px !important;width:58px !important;height:58px !important}
  .hoda-avatar{width:44px !important;height:44px !important}
  .mvc-name{font-size:14px !important}
  .mvc-text{font-size:11.5px !important}
}

/* ================================================================
   V54 LUXURY VOICE HERO
   ================================================================ */
.hero-luxury{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 14% 35%,rgba(169,133,92,.17),transparent 26%),
    radial-gradient(circle at 86% 16%,rgba(169,133,92,.10),transparent 22%),
    linear-gradient(145deg,#080c11 0%,#11161c 48%,#090d12 100%) !important;
  color:#fff !important;
  padding:26px 0 70px !important;
}
.hero-luxury .wrap{position:relative;z-index:2}
.ai-luxury-stage{
  max-width:1400px;margin:0 auto;padding:16px 22px 26px;
  border:1px solid rgba(213,169,97,.28);border-radius:28px;
  background:linear-gradient(160deg,rgba(18,23,29,.98),rgba(7,10,14,.98));
  box-shadow:0 30px 75px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.04);
}
.ai-luxury-topbar{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 12px}
.ai-brand-lockup{display:flex;gap:10px;align-items:center;text-transform:uppercase;letter-spacing:.12em}
.ai-brand-lockup .ai-brand-mark{color:#d9ad66;font-size:20px}
.ai-brand-lockup strong{display:block;font-size:15px;letter-spacing:.16em}
.ai-brand-lockup small{display:block;color:#c59a5a;font-size:9px;letter-spacing:.18em;margin-top:2px}
.ai-language-pill{display:flex;padding:3px;border:1px solid rgba(220,184,120,.28);border-radius:999px;background:rgba(15,19,24,.72)}
.ai-language-pill button{border:0;background:transparent;color:#b7b7b7;padding:8px 14px;border-radius:999px;font:600 12px/1 inherit}
.ai-language-pill button.on{background:#1b2027;color:#fff}
.ai-luxury-headline{text-align:center;max-width:760px;margin:18px auto 32px}
.ai-luxury-headline .eyebrow{color:#d9ac65 !important;letter-spacing:.22em;font-size:10px;font-weight:800}
.ai-luxury-headline h1{margin:7px 0 12px;color:#fff !important;font-size:clamp(36px,4.1vw,62px) !important;line-height:1.04 !important}
.ai-luxury-headline h1 em{color:#d8aa62 !important}
.ai-luxury-headline .sub{max-width:690px !important;margin:0 auto !important;color:#b8bcc3 !important;font-size:16px !important;line-height:1.6}
.ai-luxury-grid{display:grid;grid-template-columns:minmax(230px,280px) minmax(470px,1fr) minmax(230px,320px);gap:18px;align-items:stretch}
.hoda-side-card,.ai-feature-card,.voice-luxury{
  border:1px solid rgba(212,164,91,.26) !important;border-radius:24px !important;
  background:linear-gradient(150deg,rgba(19,24,31,.96),rgba(9,13,18,.96)) !important;
  box-shadow:0 20px 50px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.03) !important;
}
.hoda-side-card{padding:18px;overflow:hidden}
.hoda-photo-frame{position:relative;min-height:390px;border-radius:18px;overflow:hidden;border:1px solid rgba(218,172,96,.36);background:#12161b}
.hoda-hero-photo{width:100%;height:390px;object-fit:cover;object-position:center top;display:block;filter:saturate(.97) contrast(1.04)}
.hoda-photo-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(5,7,10,.94) 100%)}
.hoda-photo-label{position:absolute;left:20px;bottom:18px;z-index:2}
.hoda-script{color:#ddb574;font-family:cursive;font-size:34px;font-style:italic}
.hoda-role{color:#e3b86d;letter-spacing:.18em;font-size:11px;font-weight:700}
.hoda-points{display:grid;gap:10px;margin-top:14px}
.hoda-points>div{display:flex;gap:10px;align-items:flex-start;padding:8px 0}
.point-icon,.feature-icon{display:grid;place-items:center;color:#ddb574;border:1px solid rgba(216,170,98,.27);background:rgba(216,170,98,.05)}
.point-icon{flex:0 0 34px;width:34px;height:34px;border-radius:50%}
.hoda-points b,.ai-feature-card b{display:block;color:#e5b86b;font-size:13px}
.hoda-points small,.ai-feature-card small{display:block;margin-top:3px;color:#a8adb6;font-size:11px;line-height:1.4}
.voice-luxury{max-width:none !important;margin:0 !important;padding:27px 29px 23px !important;display:flex;flex-direction:column;justify-content:center;min-height:620px}
.voice-center-title{text-align:center;color:#f0d19d;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.mic-visualizer{position:relative;min-height:285px;display:flex;align-items:center;justify-content:center}
.mic-wave{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);border:1px solid rgba(220,172,93,.15)}
.wave-a{width:210px;height:210px}.wave-b{width:275px;height:275px}.wave-c{width:340px;height:340px}
.mic-ring-luxury{width:215px !important;height:215px !important;margin:0 !important;position:relative !important;z-index:3}
.mic-btn-luxury{
  inset:15px !important;border:2px solid #d6aa62 !important;
  background:radial-gradient(circle at 38% 30%,#3a4048,#15191f 62%,#0e1115) !important;
  box-shadow:0 0 0 5px rgba(214,170,98,.05),0 22px 48px rgba(0,0,0,.36),inset 0 2px 0 rgba(255,255,255,.06) !important;
}
.mic-btn-luxury svg{width:58px !important;height:58px !important;color:#e1b66b !important}
.voice-status-luxury{color:#d8dbe0 !important;margin:0 auto 13px !important;font-size:14px !important;min-height:20px;text-align:center}
.agent-panel-luxury{width:100%;box-sizing:border-box;min-height:112px;margin:0 auto 14px !important;padding:15px 16px !important;border:1px solid rgba(214,170,98,.18) !important;border-radius:15px !important;background:rgba(8,11,15,.74) !important}
.agent-panel-luxury .agent-badge{color:#dcb16a !important;font-size:9px !important;letter-spacing:.18em !important}
.agent-panel-luxury .agent-text{color:#f0f1f3 !important;font-size:16px !important;line-height:1.5 !important;margin-top:6px !important}
.voice-hint-luxury{display:flex !important;align-items:center;justify-content:center;gap:8px;color:#d3a866 !important;margin:2px 0 16px !important;font-size:12px !important}
.voice-input-row{display:flex;gap:10px;width:100%}
.voice-input-row #typedQuery{flex:1;min-width:0;box-sizing:border-box;height:52px;border:1px solid rgba(213,169,99,.22) !important;border-radius:999px !important;background:rgba(11,14,18,.85) !important;color:#f5f5f5 !important;padding:0 18px !important}
.voice-input-row #typedQuery::placeholder{color:#8e949d !important}
.find-home-btn{flex:0 0 auto;min-width:150px;height:52px;padding:0 20px;border-radius:999px;border:1px solid #d7a960;background:linear-gradient(145deg,#d8ad69,#a87d49);color:#fff;font-weight:750;box-shadow:0 7px 0 #755433,0 16px 26px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.28)}
.transcript-luxury{color:#aab0b8 !important;margin-top:10px !important}
.ai-feature-card{padding:22px;display:flex;flex-direction:column;justify-content:center}
.feature-row{display:flex;gap:12px;align-items:flex-start;padding:14px 0}
.feature-icon{flex:0 0 44px;width:44px;height:44px;border-radius:50%;font-size:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 18px rgba(0,0,0,.23)}
.feature-divider{height:1px;background:rgba(214,170,98,.12)}
@media(max-width:1050px){
  .ai-luxury-grid{grid-template-columns:1fr}
  .hoda-side-card{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:18px;align-items:center}
  .ai-feature-card{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
  .feature-divider{display:none}
}
@media(max-width:700px){
  .hero-luxury{padding:14px 0 48px !important}
  .ai-luxury-stage{padding:14px 11px 18px;border-radius:20px}
  .ai-luxury-headline{margin:14px auto 20px}
  .ai-luxury-headline h1{font-size:34px !important}
  .ai-luxury-headline .sub{font-size:14px !important}
  .hoda-side-card{display:block}
  .hoda-photo-frame{min-height:300px}
  .hoda-hero-photo{height:300px}
  .voice-luxury{min-height:0;padding:20px 14px 18px !important}
  .mic-visualizer{min-height:245px}
  .mic-ring-luxury{width:180px !important;height:180px !important}
  .wave-a{width:180px;height:180px}.wave-b{width:230px;height:230px}.wave-c{width:280px;height:280px}
  .mic-btn-luxury svg{width:48px !important;height:48px !important}
  .voice-input-row{flex-direction:column}
  .find-home-btn{width:100%}
  .ai-feature-card{display:block}
}

/* V55 — floating portrait treatment: no card/frame around Hoda */
.hoda-side-card{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}
.hoda-photo-frame{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.hoda-photo-frame::after{display:none !important}
.hoda-hero-photo{
  border:0 !important;
  border-radius:0 !important;
  box-shadow:0 26px 55px rgba(0,0,0,.45),0 0 34px rgba(213,169,97,.15) !important;
}

/* ================================================================
   V56 — HODA MIRRORED PORTRAIT + SIGNATURE + LIVE CONVERSATION
   ================================================================ */
.hero-luxury-v56{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 28%,rgba(170,128,66,.18),transparent 25%),
    radial-gradient(circle at 82% 20%,rgba(170,128,66,.10),transparent 24%),
    linear-gradient(145deg,#070b10 0%,#11161d 46%,#080c11 100%) !important;
  color:#fff !important;
  padding:28px 0 68px !important;
}
.hero-luxury-v56::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,rgba(212,164,91,.03) 51%,transparent 100%);
}
.v56-stage{
  position:relative;
  z-index:2;
  max-width:1440px;
  margin:0 auto;
  padding:16px 20px 24px;
  border:1px solid rgba(215,168,93,.24);
  border-radius:28px;
  background:linear-gradient(160deg,rgba(17,22,28,.98),rgba(6,9,13,.98));
  box-shadow:0 34px 80px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.04);
}
.v56-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:10px;
}
.v56-brand{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.12em}
.v56-brand .v56-mark{color:#d7a85f;font-size:19px}
.v56-brand strong{display:block;font-size:15px;letter-spacing:.16em}
.v56-brand small{display:block;color:#c79c5d;font-size:9px;letter-spacing:.18em;margin-top:2px}
.v56-title{text-align:center;max-width:760px;margin:18px auto 28px}
.v56-title h1{margin:6px 0 10px;color:#fff;font-size:clamp(36px,4vw,60px);line-height:1.02}
.v56-title h1 em{color:#dbac61}
.v56-title p:last-child{color:#aeb3bb;max-width:690px;margin:auto;font-size:16px;line-height:1.55}
.v56-grid{
  display:grid;
  grid-template-columns:minmax(250px,310px) minmax(460px,1fr) minmax(300px,400px);
  gap:18px;
  align-items:stretch;
}
.v56-hoda,.v56-voice,.v56-conversation{
  min-width:0;
}
.v56-hoda{
  position:relative;
  min-height:640px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:0 8px 10px 4px;
}
.v56-portrait-wrap{
  position:relative;
  flex:1;
  min-height:540px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:visible;
}
.v56-portrait-glow{
  position:absolute;
  width:260px;height:420px;
  left:20px;bottom:18px;
  background:radial-gradient(ellipse,rgba(217,171,96,.18),transparent 68%);
  filter:blur(5px);
}
.v56-portrait{
  position:relative;
  z-index:2;
  width:min(100%,390px);
  max-height:590px;
  object-fit:contain;
  object-position:center bottom;
  transform:scaleX(-1);
  filter:drop-shadow(12px 24px 24px rgba(0,0,0,.30)) drop-shadow(-3px 0 0 rgba(220,171,97,.12));
  margin-left:0;
}
.v56-signature{
  position:absolute;
  z-index:3;
  width:min(220px,72%);
  left:26px;
  bottom:22px;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.4));
}
.v56-hoda-caption{
  margin:2px 0 0 28px;
}
.v56-role{
  color:#d9aa62;
  font-size:10px;
  letter-spacing:.18em;
  font-weight:800;
}
.v56-caption-text{
  color:#9ca2aa;
  font-size:12px;
  margin-top:4px;
}
.v56-voice{
  position:relative;
  min-height:640px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:20px 28px 22px;
  border:1px solid rgba(214,168,94,.26);
  border-radius:24px;
  background:linear-gradient(150deg,rgba(19,24,31,.96),rgba(8,12,16,.96));
  box-shadow:0 20px 55px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.03);
}
.v56-voice-kicker{
  text-align:center;
  color:#d9ac65;
  font-size:11px;
  letter-spacing:.18em;
  font-weight:800;
  margin-bottom:8px;
}
.v56-mic-space{
  position:relative;
  min-height:330px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.v56-wave{
  position:absolute;
  border-radius:50%;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  border:1px solid rgba(220,171,96,.14);
}
.v56-wave.wave1{width:205px;height:205px}
.v56-wave.wave2{width:286px;height:286px}
.v56-wave.wave3{width:365px;height:365px}
.v56-mic-ring{
  position:relative !important;
  z-index:4;
  width:220px !important;
  height:220px !important;
  margin:0 !important;
}
.v56-mic-btn{
  background:radial-gradient(circle at 35% 28%,#3b4149,#151a20 62%,#0d1116) !important;
  border:2px solid #d8ab62 !important;
  box-shadow:0 0 0 6px rgba(216,171,98,.05),0 24px 50px rgba(0,0,0,.35),inset 0 2px 0 rgba(255,255,255,.06) !important;
}
.v56-mic-btn svg{color:#e2b76c !important;width:60px !important;height:60px !important}
.v56-voice .agent-panel-luxury{
  min-height:110px;
}
.v56-input-row{
  display:flex;
  gap:10px;
  margin-top:3px;
}
.v56-input-row #typedQuery{
  flex:1;
  min-width:0;
}
.v56-find-btn{
  min-width:150px;
}
.v56-conversation{
  min-height:640px;
  padding:18px;
  border:1px solid rgba(214,168,94,.28);
  border-radius:24px;
  background:linear-gradient(155deg,rgba(18,24,31,.98),rgba(7,11,15,.98));
  box-shadow:0 22px 55px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.03);
  display:flex;
  flex-direction:column;
}
.v56-conv-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:0 2px 12px;
  border-bottom:1px solid rgba(216,171,98,.12);
}
.v56-conv-kicker{
  color:#d7aa62;
  font-size:9px;
  font-weight:800;
  letter-spacing:.17em;
}
.v56-conv-title{
  color:#f2f2f3;
  font-size:16px;
  font-weight:650;
  margin-top:3px;
}
.v56-live-dot{
  width:8px;height:8px;border-radius:50%;
  background:#5e636a;
  box-shadow:0 0 0 0 rgba(216,171,98,0);
  transition:.2s;
  margin-top:6px;
}
.v56-live-dot.on{
  background:#d8aa62;
  box-shadow:0 0 0 6px rgba(216,171,98,.08),0 0 14px rgba(216,171,98,.5);
}
.v56-conv-log-shell{
  position:relative;
  flex:1;
  min-height:0;
  margin-top:10px;
  overflow:hidden;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(5,8,11,.74),rgba(12,16,21,.82));
  border:1px solid rgba(255,255,255,.04);
}
.v56-conv-log{
  height:100%;
  overflow-y:auto;
  padding:16px 12px 58px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:9px;
  scroll-behavior:smooth;
}
.v56-conv-log::-webkit-scrollbar{width:6px}
.v56-conv-log::-webkit-scrollbar-thumb{background:rgba(214,168,94,.18);border-radius:8px}
.v56-msg{
  max-width:94%;
  align-self:flex-start;
  padding:9px 11px 10px;
  border:1px solid rgba(255,255,255,.05);
  border-radius:12px;
  background:rgba(22,28,35,.86);
  color:#eef0f3;
  box-shadow:0 6px 18px rgba(0,0,0,.14);
  animation:v56MsgIn .25s ease-out both;
}
.v56-msg.user{
  align-self:flex-end;
  background:linear-gradient(145deg,rgba(108,83,52,.24),rgba(35,31,26,.45));
  border-color:rgba(216,171,98,.13);
}
.v56-msg-label{
  color:#cda66a;
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:800;
  margin-bottom:3px;
}
.v56-msg-text{
  color:#d9dde2;
  font-size:13px;
  line-height:1.5;
  white-space:pre-wrap;
  word-break:break-word;
}
.v56-typing{
  position:absolute;
  left:12px;
  bottom:12px;
  display:flex;
  align-items:center;
  gap:4px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(21,25,30,.92);
  border:1px solid rgba(216,171,98,.12);
  color:#9fa6af;
  font-size:10px;
}
.v56-typing span{
  width:4px;height:4px;border-radius:50%;background:#d6ab65;
  animation:v56Dot 1.15s infinite ease-in-out;
}
.v56-typing span:nth-child(2){animation-delay:.16s}
.v56-typing span:nth-child(3){animation-delay:.32s}
.v56-typing em{font-style:normal;margin-left:4px}
.v56-conv-foot{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}
.v56-mini-card{
  padding:10px 11px;
  border:1px solid rgba(216,171,98,.12);
  border-radius:12px;
  background:rgba(15,20,26,.76);
}
.v56-mini-card b{
  display:block;
  color:#d9aa62;
  font-size:11px;
}
.v56-mini-card small{
  display:block;
  color:#89919a;
  font-size:10px;
  margin-top:2px;
}
@keyframes v56MsgIn{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes v56Dot{
  0%,80%,100%{transform:translateY(0);opacity:.35}
  40%{transform:translateY(-3px);opacity:1}
}
@media(max-width:1100px){
  .v56-grid{grid-template-columns:1fr 1fr}
  .v56-conversation{grid-column:1 / -1;min-height:360px}
  .v56-voice{min-height:580px}
}
@media(max-width:720px){
  .hero-luxury-v56{padding:12px 0 44px !important}
  .v56-stage{padding:12px 10px 18px;border-radius:20px}
  .v56-grid{grid-template-columns:1fr}
  .v56-hoda{min-height:340px;padding:0}
  .v56-portrait-wrap{min-height:330px}
  .v56-portrait{width:min(88vw,360px);max-height:400px}
  .v56-signature{width:185px;left:16px;bottom:8px}
  .v56-hoda-caption{margin-left:16px}
  .v56-voice{min-height:0;padding:18px 12px}
  .v56-mic-space{min-height:245px}
  .v56-mic-ring{width:180px !important;height:180px !important}
  .v56-wave.wave1{width:175px;height:175px}
  .v56-wave.wave2{width:225px;height:225px}
  .v56-wave.wave3{width:275px;height:275px}
  .v56-mic-btn svg{width:48px !important;height:48px !important}
  .v56-input-row{flex-direction:column}
  .v56-find-btn{width:100%}
  .v56-conversation{min-height:400px}
}

/* ================================================================
   V56.1 — TIGHTER HERO + ORIGINAL HODA MIRROR
   Exact portrait asset is only mirrored; no retouching/redesign.
   ================================================================ */
.hero-luxury-v56{
  padding:10px 0 42px !important;
}
.v56-stage{
  padding:10px 18px 18px !important;
  border-radius:24px !important;
}
.v56-topbar{
  padding-bottom:4px !important;
}
.v56-title{
  margin:10px auto 18px !important;
}
.v56-title h1{
  margin:3px 0 7px !important;
  font-size:clamp(32px,3.4vw,52px) !important;
}
.v56-title p:last-child{
  font-size:14px !important;
  line-height:1.45 !important;
}
.v56-grid{
  gap:14px !important;
}
.v56-hoda{
  min-height:560px !important;
}
.v56-portrait-wrap{
  min-height:470px !important;
}
.v56-portrait{
  max-height:510px !important;
  width:min(100%,360px) !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  transform:none !important;
}
.v56-voice{
  min-height:560px !important;
}
.v56-mic-space{
  min-height:255px !important;
}
.v56-conversation{
  min-height:560px !important;
}
@media(max-width:1100px){
  .v56-hoda{
    min-height:430px !important;
  }
  .v56-portrait-wrap{
    min-height:390px !important;
  }
}
@media(max-width:720px){
  .hero-luxury-v56{
    padding:8px 0 30px !important;
  }
  .v56-stage{
    padding:9px 9px 14px !important;
  }
  .v56-title{
    margin:8px auto 14px !important;
  }
  .v56-title h1{
    font-size:30px !important;
  }
  .v56-title p:last-child{
    font-size:13px !important;
  }
  .v56-hoda{
    min-height:320px !important;
  }
  .v56-portrait-wrap{
    min-height:310px !important;
  }
  .v56-portrait{
    width:min(90vw,330px) !important;
    max-height:340px !important;
  }
  .v56-voice{
    min-height:0 !important;
  }
  .v56-conversation{
    min-height:360px !important;
  }
}

/* ================================================================
   V56.2 — ONE-VIEWPORT LUXURY VOICE LAYOUT
   Compact top, larger centered microphone, left/right audio bars,
   no duplicate voice hint, minimal scrolling on desktop.
   ================================================================ */
.hero-luxury-v56{
  min-height:calc(100vh - 74px) !important;
  height:auto !important;
  padding:4px 0 16px !important;
  overflow:hidden !important;
}
.v56-stage{
  min-height:calc(100vh - 96px) !important;
  box-sizing:border-box !important;
  padding:7px 14px 12px !important;
  border-radius:22px !important;
}
.v56-topbar{
  padding-bottom:0 !important;
  min-height:34px !important;
}
.v56-title{
  margin:4px auto 8px !important;
}
.v56-title h1{
  margin:1px 0 4px !important;
  font-size:clamp(28px,3vw,46px) !important;
}
.v56-title p:last-child{
  font-size:12px !important;
  line-height:1.28 !important;
  max-width:720px !important;
}
.v56-grid{
  grid-template-columns:minmax(240px,275px) minmax(470px,1fr) minmax(280px,340px) !important;
  gap:11px !important;
  height:calc(100vh - 185px) !important;
  min-height:540px !important;
  align-items:stretch !important;
}
.v56-hoda{
  min-height:0 !important;
  height:100% !important;
  justify-content:flex-end !important;
  padding:0 !important;
}
.v56-portrait-wrap{
  min-height:0 !important;
  height:calc(100% - 45px) !important;
  display:flex !important;
  align-items:flex-end !important;
}
.v56-portrait{
  width:min(100%,340px) !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center bottom !important;
}
.v56-signature{
  width:175px !important;
  left:8px !important;
  bottom:3px !important;
}
.v56-hoda-caption{
  margin:0 0 2px 10px !important;
}
.v56-role{font-size:8px !important}
.v56-caption-text{font-size:10px !important}
.v56-voice{
  min-height:0 !important;
  height:100% !important;
  padding:12px 18px 12px !important;
  justify-content:flex-start !important;
  overflow:hidden !important;
}
.v56-voice-kicker{
  font-size:9px !important;
  margin-bottom:0 !important;
}
.v56-mic-space{
  min-height:270px !important;
  height:270px !important;
  flex:0 0 270px !important;
}
.v56-wave{
  opacity:.95;
}
.v56-wave.wave1{width:185px !important;height:185px !important}
.v56-wave.wave2{width:245px !important;height:245px !important}
.v56-wave.wave3{width:305px !important;height:305px !important}
.v56-mic-ring{
  width:204px !important;
  height:204px !important;
}
.v56-mic-btn{
  inset:13px !important;
}
.v56-mic-btn svg{
  width:64px !important;
  height:64px !important;
}
.v56-voice .voice-status{
  min-height:18px !important;
  margin:2px auto 6px !important;
  font-size:12px !important;
}
.v56-voice .agent-panel-luxury{
  min-height:74px !important;
  max-height:96px !important;
  padding:10px 12px !important;
  margin:0 auto 8px !important;
  overflow:hidden !important;
}
.agent-panel-luxury .agent-badge{font-size:8px !important}
.agent-panel-luxury .agent-text{
  font-size:13px !important;
  line-height:1.3 !important;
  margin-top:4px !important;
}
.agent-panel-luxury .agent-summary{
  font-size:10px !important;
  line-height:1.3 !important;
}
.v56-voice .voice-hint-luxury{
  display:none !important; /* remove duplicate instruction under the live status */
}
.v56-input-row,.v56-voice .voice-input-row{
  margin-top:4px !important;
  gap:8px !important;
}
.v56-input-row #typedQuery{
  height:44px !important;
  font-size:13px !important;
}
.v56-find-btn{
  min-width:126px !important;
  height:44px !important;
  font-size:13px !important;
}
.v56-conversation{
  min-height:0 !important;
  height:100% !important;
  padding:12px !important;
  overflow:hidden !important;
}
.v56-conv-head{
  padding-bottom:8px !important;
}
.v56-conv-title{font-size:14px !important}
.v56-conv-log{
  padding:10px 8px 44px !important;
}
.v56-msg{
  padding:7px 9px 8px !important;
  border-radius:10px !important;
}
.v56-msg-text{
  font-size:11.5px !important;
  line-height:1.38 !important;
}
.v56-msg-label{font-size:8px !important}
.v56-conv-foot{
  margin-top:6px !important;
}
.v56-mini-card{
  padding:7px 8px !important;
}
.v56-mini-card b{font-size:10px !important}
.v56-mini-card small{font-size:9px !important}

/* Real-time audio waveform bars on both sides of the central microphone. */
.v56-mic-space::before,
.v56-mic-space::after{
  content:'';
  position:absolute;
  top:50%;
  width:31%;
  height:72px;
  transform:translateY(-50%);
  opacity:.9;
  background:
    repeating-linear-gradient(90deg,
      transparent 0 4px,
      rgba(218,171,96,.96) 4px 6px,
      transparent 6px 10px);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);
}
.v56-mic-space::before{
  left:0;
  clip-path:polygon(
    0 50%,4% 52%,8% 45%,12% 58%,16% 35%,20% 68%,24% 28%,28% 72%,
    32% 40%,36% 64%,40% 28%,44% 72%,48% 44%,52% 56%,56% 40%,60% 60%,
    64% 34%,68% 66%,72% 45%,76% 54%,80% 42%,84% 58%,88% 47%,92% 53%,100% 50%);
}
.v56-mic-space::after{
  right:0;
  transform:translateY(-50%) scaleX(-1);
  clip-path:polygon(
    0 50%,4% 52%,8% 45%,12% 58%,16% 35%,20% 68%,24% 28%,28% 72%,
    32% 40%,36% 64%,40% 28%,44% 72%,48% 44%,52% 56%,56% 40%,60% 60%,
    64% 34%,68% 66%,72% 45%,76% 54%,80% 42%,84% 58%,88% 47%,92% 53%,100% 50%);
}
.v56-mic-space.v56-live::before,
.v56-mic-space.v56-live::after{
  animation:v56WaveGlow 1.1s ease-in-out infinite alternate;
}
@keyframes v56WaveGlow{
  from{opacity:.35;filter:brightness(.85);transform:translateY(-50%) scaleY(.75)}
  to{opacity:1;filter:brightness(1.25);transform:translateY(-50%) scaleY(1.12)}
}
.v56-mic-space.v56-live::after{
  animation-name:v56WaveGlowRight;
}
@keyframes v56WaveGlowRight{
  from{opacity:.35;filter:brightness(.85);transform:translateY(-50%) scaleX(-1) scaleY(.75)}
  to{opacity:1;filter:brightness(1.25);transform:translateY(-50%) scaleX(-1) scaleY(1.12)}
}

/* Add a tiny CSS-only live state hook if the existing JS adds .live to the ring. */
.v56-mic-ring.live ~ .v56-wave,
.v56-mic-ring.live{--v56-active:1;}
.v56-voice:has(.v56-mic-ring.live) .v56-mic-space::before,
.v56-voice:has(.v56-mic-ring.live) .v56-mic-space::after{
  animation:v56WaveGlow 1.1s ease-in-out infinite alternate;
}
.v56-voice:has(.v56-mic-ring.live) .v56-mic-space::after{
  animation-name:v56WaveGlowRight;
}

/* Desktop: avoid page-level scroll in the main hero. */
@media(min-width:721px){
  body:has(.hero-luxury-v56){overflow-x:hidden;}
}
@media(max-width:720px){
  .hero-luxury-v56{
    min-height:auto !important;
    padding:6px 0 26px !important;
  }
  .v56-stage{
    min-height:auto !important;
    padding:7px 8px 12px !important;
  }
  .v56-title{margin:6px auto 10px !important}
  .v56-title h1{font-size:29px !important}
  .v56-grid{
    grid-template-columns:1fr !important;
    height:auto !important;
    min-height:0 !important;
  }
  .v56-hoda{min-height:280px !important}
  .v56-portrait-wrap{height:280px !important}
  .v56-voice{height:auto !important}
  .v56-mic-space{height:230px !important;min-height:230px !important;flex-basis:230px !important}
  .v56-mic-ring{width:175px !important;height:175px !important}
  .v56-wave.wave1{width:170px !important;height:170px !important}
  .v56-wave.wave2{width:220px !important;height:220px !important}
  .v56-wave.wave3{width:270px !important;height:270px !important}
  .v56-mic-btn svg{width:52px !important;height:52px !important}
  .v56-conversation{height:360px !important;min-height:360px !important}
  .v56-mic-space::before,.v56-mic-space::after{width:26%;height:54px}
}

/* ===== HODAGOLSOLD INSIGHTS / SEO HUB ===== */
.insights-page{background:#f5f2eb;color:#17191d}
.insights-hero{padding:52px 20px 34px;background:linear-gradient(145deg,#0b0f14,#171c24);color:#fff}
.insights-hero .wrap{max-width:1200px;margin:auto}
.insights-eyebrow{color:#d7aa62;letter-spacing:.18em;font-size:10px;font-weight:800}
.insights-hero h1{margin:8px 0 10px;font-size:clamp(38px,5vw,66px);line-height:1.02}
.insights-hero h1 em{color:#d9ac65}
.insights-hero p{max-width:760px;color:#bcc1c8;line-height:1.7;font-size:16px}
.insights-search{margin-top:22px;display:flex;gap:10px;max-width:760px}
.insights-search input{flex:1;height:48px;border-radius:12px;border:1px solid rgba(214,170,98,.25);padding:0 15px}
.insights-search button{height:48px;padding:0 18px;border-radius:12px;border:1px solid #d7aa62;background:linear-gradient(145deg,#d7aa62,#a97d49);color:#fff;font-weight:700}
.insights-wrap{max-width:1200px;margin:0 auto;padding:28px 20px 60px}
.insights-cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.insights-cats a{padding:9px 12px;border:1px solid #d8d1c4;border-radius:999px;background:#fff;color:#555;text-decoration:none;font-size:13px}
.insights-cats a.active{background:#171a1f;color:#fff;border-color:#171a1f}
.insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.insight-card{background:#fff;border:1px solid #e8e1d6;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(34,31,27,.08);display:flex;flex-direction:column}
.insight-card .thumb{height:170px;background:linear-gradient(145deg,#1d232b,#0e1217);display:flex;align-items:flex-end;padding:16px;color:#d9ac65;font-weight:800;letter-spacing:.05em}
.insight-card .body{padding:18px}
.insight-card .tag{font-size:10px;letter-spacing:.14em;color:#a27a49;font-weight:800}
.insight-card h2{font-size:19px;line-height:1.25;margin:8px 0}
.insight-card p{color:#666b73;font-size:13px;line-height:1.55}
.insight-meta{font-size:11px;color:#8b8f96;margin-top:auto;padding-top:10px}
.insight-cta{margin-top:34px;background:linear-gradient(145deg,#151a20,#0b0f14);color:#fff;padding:24px;border-radius:18px;border:1px solid rgba(214,170,98,.25);display:flex;justify-content:space-between;align-items:center;gap:16px}
.insight-cta b{display:block;color:#dfb56d;font-size:13px;letter-spacing:.08em}
.insight-cta p{margin:6px 0 0;color:#b8bec5}
.insight-cta a{white-space:nowrap;text-decoration:none;color:#fff;background:linear-gradient(145deg,#d7aa62,#a77c48);padding:11px 16px;border-radius:10px;font-weight:700}
.article-page{background:#fbfaf7;color:#1b1c20}
.article-main{max-width:900px;margin:0 auto;padding:50px 20px 70px}
.article-kicker{font-size:10px;letter-spacing:.16em;color:#a37a47;font-weight:800}
.article-title{font-size:clamp(34px,5vw,60px);line-height:1.06;margin:9px 0 12px}
.article-dek{font-size:18px;line-height:1.65;color:#666b73;max-width:760px}
.article-byline{font-size:12px;color:#8a8f96;margin:14px 0 24px}
.article-main h2{font-size:27px;margin-top:34px}
.article-main p,.article-main li{font-size:16px;line-height:1.78;color:#3d4148}
.article-ai-box{margin:34px 0;background:linear-gradient(145deg,#12171d,#0c1015);color:#fff;padding:22px;border-radius:16px;border:1px solid rgba(215,170,98,.25)}
.article-ai-box b{color:#ddb574;letter-spacing:.08em;font-size:11px}
.article-ai-box p{color:#c9ced4;margin-bottom:14px}
.article-ai-box a{display:inline-block;background:#d2a560;color:#fff!important;text-decoration:none;padding:10px 14px;border-radius:9px;font-weight:700}
@media(max-width:900px){.insights-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.insights-grid{grid-template-columns:1fr}.insights-search{flex-direction:column}.insight-cta{flex-direction:column;align-items:flex-start}}

/* ===== V57: Market Insights navigation ===== */
a.site-insights-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:10px 14px;
  padding:9px 13px;
  border-radius:10px;
  color:#8d673d;
  background:linear-gradient(145deg,#fffaf1,#f2eadc);
  border:1px solid rgba(169,133,92,.24);
  text-decoration:none;
  font-weight:700;
  font-size:13px;
}
a.site-insights-link:hover{transform:translateY(-1px)}
@media(max-width:920px){
  a.site-insights-link{
    display:block;
    margin:8px 10px 10px;
    padding:12px 14px;
  }
}

/* V58 — clean, single-line desktop navigation + proper Market Insights item */
.nav-links{display:flex;align-items:center;gap:22px !important;flex-wrap:nowrap !important}
.nav-links > .navitem{display:flex;align-items:center;white-space:nowrap}
.nav-links > .navitem > a{white-space:nowrap}
.nav-links > .insights-nav-link{color:#8b653c !important;font-weight:500;position:relative}
.nav-links > .navitem > a.insights-nav-link{padding-left:0;padding-right:0}
.nav-links > .navitem > a.insights-nav-link::after{display:none !important}
.nav-links > .navitem > a.insights-nav-link::before{content:'';position:absolute;left:0;right:0;bottom:18px;height:1px;background:rgba(169,133,92,.35);transform:scaleX(0);transform-origin:center;transition:.2s}
.nav-links > .navitem:hover > a.insights-nav-link::before{transform:scaleX(1)}
/* prevent the market dropdown from pushing stray links outside nav */
.navitem.has .drop{z-index:1000}
/* Insights page gets the same professional navigation, not a second loose header link */
.insights-page > nav{background:rgba(252,251,247,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(31,34,40,.08)}
@media(max-width:920px){
  .nav-links{gap:0 !important;}
  .nav-links > .navitem > a.insights-nav-link{padding:15px 14px !important}
  .nav-links > .navitem > a.insights-nav-link::before{display:none}
}

/* ================================================================
   V59 — MINIMAL PREMIUM NAV
   Brand: HODAGOLSOLD only
   Navigation: Home / Find a Home / Market Insights / Rentals / Sell /
               About Hoda / Book a Meeting
   ================================================================ */
.nav-links{
  gap:18px !important;
}
.nav-links > a,
.nav-links > li > a{
  white-space:nowrap !important;
  font-size:14px !important;
}
.nav-links .nav-cta,
.nav-links .nav-cta-premium{
  margin-left:6px !important;
  min-width:150px !important;
}
@media(max-width:1050px){
  .nav-links{gap:12px !important}
  .nav-links > a,
  .nav-links > li > a{font-size:13px !important}
  .nav-links .nav-cta,
  .nav-links .nav-cta-premium{min-width:138px !important;padding-inline:16px !important}
}
@media(max-width:920px){
  /* Keep mobile menu readable; do not force desktop spacing here. */
  .nav-links{
    gap:0 !important;
  }
}

/* For simple headers used by Insights/Article pages. */
header.site-mini strong{letter-spacing:.03em}

/* ===== V60 PRIMARY NAV ===== */
.nav-links{
  gap:15px !important;
}
.nav-links > a,
.nav-links > li > a{
  white-space:nowrap !important;
  font-size:13.5px !important;
}
.nav-links .nav-cta,
.nav-links .nav-cta-premium{
  min-width:148px !important;
}
@media(max-width:1050px){
  .nav-links{gap:10px !important}
  .nav-links > a,
  .nav-links > li > a{font-size:12.5px !important}
}
@media(max-width:920px){
  .nav-links{gap:0 !important}
}

/* ================================================================
   V61 — CANONICAL CLEAN NAVIGATION
   ================================================================ */
nav .nav-inner{
  display:flex !important;
  align-items:center !important;
  gap:24px !important;
}
nav .logo{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:baseline !important;
  gap:5px !important;
  white-space:nowrap !important;
}
nav .logo .tick{display:inline !important;color:#A9855C !important}
nav .nav-links{
  flex:1 1 auto !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:14px !important;
}
nav .navitem{
  position:relative !important;
  display:block !important;
}
nav .navitem > a{
  white-space:nowrap !important;
  display:inline-flex !important;
  align-items:center !important;
}
nav .navitem.has > a::after{
  content:'⌄';
  font-size:11px;
  margin-left:6px;
  color:#9b8a75;
  transform:translateY(-1px);
}
nav .navitem.has > .drop{
  min-width:220px;
}
nav .nav-cta,
nav .nav-cta-premium{
  flex:0 0 auto !important;
  white-space:nowrap !important;
  margin-left:4px !important;
}
@media(max-width:1180px){
  nav .nav-inner{gap:14px !important}
  nav .nav-links{gap:10px !important}
  nav .navitem > a{font-size:13px !important}
  nav .nav-cta, nav .nav-cta-premium{min-width:132px !important}
}
@media(max-width:920px){
  nav .nav-inner{gap:0 !important}
}

/* ================================================================
   V62 — MINIMAL NAV + ABOUT HODA IN FOOTER
   ================================================================ */
.nav-links{
  gap:13px !important;
}
.nav-links > a,
.nav-links > .navitem > a{
  white-space:nowrap !important;
  font-size:13px !important;
}
.nav-links .nav-cta,
.nav-links .nav-cta-premium{
  min-width:145px !important;
}
.v62-footer{
  margin-top:50px;
  padding:34px 20px 38px;
  border-top:1px solid rgba(169,133,92,.18);
  background:linear-gradient(145deg,#10151b,#080c11);
  color:#fff;
}
.v62-footer-inner{
  max-width:1200px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:30px;
}
.v62-footer-logo{
  color:#e0b36b;
  font-size:18px;
  font-weight:800;
  letter-spacing:.16em;
}
.v62-footer-brand p{
  max-width:430px;
  margin:8px 0 0;
  color:#9ba1a9;
  font-size:12px;
  line-height:1.55;
}
.v62-footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px 18px;
}
.v62-footer-links a{
  color:#d2d6db;
  text-decoration:none;
  font-size:12px;
}
.v62-footer-links a:hover{color:#e0b36b}
@media(max-width:920px){
  .nav-links{gap:0 !important}
  .v62-footer-inner{flex-direction:column}
  .v62-footer-links{justify-content:flex-start}
}

/* ================================================================
   V63 — NAV CLEANUP + MANUAL RESIDENTIAL / COMMERCIAL SEARCH
   ================================================================ */
nav .nav-inner{
  height:68px !important;
  gap:18px !important;
  max-width:1400px !important;
}
nav .logo{
  flex:0 0 auto !important;
  white-space:nowrap !important;
  font-size:18px !important;
  display:inline-flex !important;
  align-items:baseline !important;
  gap:4px !important;
}
nav .nav-links{
  flex:1 1 auto !important;
  justify-content:flex-end !important;
  gap:12px !important;
  min-width:0 !important;
}
nav .navitem{flex:0 0 auto !important}
nav .navitem>a{
  font-size:12.5px !important;
  padding:22px 0 !important;
  white-space:nowrap !important;
}
nav .nav-cta, nav .nav-cta-premium{
  font-size:12.5px !important;
  padding:11px 16px !important;
  min-width:138px !important;
  white-space:nowrap !important;
}
@media(max-width:1180px) and (min-width:921px){
  nav .nav-links{gap:8px !important}
  nav .navitem>a{font-size:11.5px !important}
  nav .nav-cta,nav .nav-cta-premium{min-width:125px !important;padding:10px 12px !important}
}
@media(max-width:920px){
  nav .nav-links a:not(.nav-cta),
  nav .nav-links .navitem{display:none}
  nav .burger{display:grid !important}
  nav .nav-inner{height:64px !important}
  nav .logo{font-size:17px !important}
}

/* Hide the old duplicated V62 footer block's brand-only visual while
   keeping the site's original footer information intact. */
.v62-footer{display:none !important}

.manual-search-section{
  padding:66px 0 40px;
  background:linear-gradient(180deg,#fbfaf7 0%,#f4f0e8 100%);
}
.manual-tabs{
  display:flex;
  justify-content:center;
  gap:8px;
  margin:0 auto 22px;
}
.manual-tab{
  appearance:none;
  border:1px solid #d8d1c6;
  background:#fff;
  color:#555a62;
  border-radius:999px;
  padding:10px 18px;
  font:600 13px/1 'Inter',sans-serif;
  cursor:pointer;
  text-decoration:none;
}
.manual-tab.active{
  background:#1a1d23;
  color:#fff;
  border-color:#1a1d23;
}
.manual-link{display:inline-flex;align-items:center}
.manual-panel{
  max-width:1180px;
  margin:0 auto;
  background:#fff;
  border:1px solid #ddd6ca;
  border-radius:20px;
  padding:28px;
  box-shadow:0 18px 45px rgba(22,24,29,.09);
}
.manual-search-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:22px;
}
.manual-location-row{position:relative}
.manual-input, .manual-field select{
  width:100%;
  height:50px;
  box-sizing:border-box;
  border:1px solid #cfcac1;
  background:#fff;
  color:#222831;
  border-radius:10px;
  padding:0 14px;
  font:400 14px/1.2 'Inter',sans-serif;
}
.manual-location-row .manual-input{
  border-radius:999px;
  height:58px;
  font-size:15px;
  padding-left:18px;
}
.manual-input.wide{flex:1}
.manual-close{
  position:absolute;
  right:14px;
  top:8px;
  width:38px;
  height:38px;
  border:0;
  background:transparent;
  color:#999;
  font-size:32px;
  line-height:1;
  cursor:pointer;
}
.manual-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px 18px;
}
.manual-field{
  grid-column:span 4;
  min-width:0;
}
.manual-field.wide2{grid-column:span 8}
.manual-field.pair{grid-column:span 4}
.manual-field label{
  display:block;
  margin-bottom:7px;
  font-size:13px;
  font-weight:600;
  color:#444a52;
}
.radio-row{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  min-height:50px;
  align-items:center;
}
.radio-row label{
  margin:0;
  font-weight:400;
  display:flex;
  align-items:center;
  gap:6px;
}
.manual-pair{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:7px;
  align-items:center;
}
.manual-pair span{color:#81868d}
.manual-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  margin-top:26px;
}
.manual-reset,.manual-search-btn{
  min-height:48px;
  padding:0 22px;
  border-radius:999px;
  font:700 13px 'Inter',sans-serif;
  cursor:pointer;
}
.manual-reset{border:1px solid #d2cbc0;background:#fff;color:#777}
.manual-search-btn{border:1px solid #a47a49;background:linear-gradient(145deg,#d6aa65,#a87b46);color:#fff;box-shadow:0 6px 0 #72512f,0 10px 22px rgba(62,43,25,.18)}
.manual-note{margin-top:14px;text-align:center;color:#7b8088;font-size:12px;line-height:1.55}
.commercial-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.commercial-card{display:grid;grid-template-columns:150px 1fr;gap:14px;border:1px solid #e2dbcf;border-radius:14px;overflow:hidden;background:#fff}
.commercial-card img{width:150px;height:120px;object-fit:cover}
.commercial-card>div{padding:12px 12px 12px 0}
.commercial-card .tag{color:#a17645;font-size:10px;letter-spacing:.14em;font-weight:800}
.commercial-card h3{font-size:16px;margin:4px 0}
.commercial-card p{font-size:12px;color:#777;margin:4px 0}
.commercial-note{grid-column:1/-1;padding:16px;border-radius:12px;background:#f4f0e8;color:#6f747c;font-size:12px;line-height:1.55;text-align:center}
@media(max-width:900px){
  .manual-panel{padding:20px}
  .manual-field,.manual-field.pair,.manual-field.wide2{grid-column:span 6}
  .commercial-results{grid-template-columns:1fr}
}
@media(max-width:640px){
  .manual-search-section{padding:46px 0 30px}
  .manual-panel{padding:15px;border-radius:16px}
  .manual-grid{gap:14px}
  .manual-field,.manual-field.pair,.manual-field.wide2{grid-column:1/-1}
  .manual-actions{flex-direction:column}
  .manual-actions button{width:100%}
  .commercial-card{grid-template-columns:110px 1fr}
  .commercial-card img{width:110px;height:105px}
}

/* ================================================================
   V64 — FIND A PROPERTY: RESIDENTIAL / COMMERCIAL
   ================================================================ */
.navitem.has > .drop a{
  min-width:230px;
}
.navitem.has > .drop a:first-child{
  border-radius:10px 10px 4px 4px;
}
.navitem.has > .drop a:last-child{
  border-radius:4px 4px 10px 10px;
}
@media(max-width:920px){
  .nav-links .navitem{display:none}
  .nav-links .nav-cta{display:none}
  .burger{display:grid !important}
}

/* ================================================================
   V65 — CLEAN NAV GEOMETRY + FAST VOICE UX
   ================================================================ */
nav .nav-inner{
  max-width:1460px !important;
  margin:0 auto !important;
  padding:0 56px !important;
  box-sizing:border-box !important;
}
nav .logo{
  margin-left:18px !important;
}
nav .nav-links{
  gap:13px !important;
}
nav .navitem > a{
  font-size:12.5px !important;
}
nav .nav-cta,nav .nav-cta-premium{
  min-width:140px !important;
}
@media(max-width:1180px) and (min-width:921px){
  nav .nav-inner{padding:0 28px !important}
  nav .logo{margin-left:8px !important}
  nav .nav-links{gap:7px !important}
  nav .navitem > a{font-size:11.5px !important}
  nav .nav-cta,nav .nav-cta-premium{min-width:124px !important;padding-inline:11px !important}
}
@media(max-width:920px){
  nav .nav-inner{padding:0 18px !important}
  nav .logo{margin-left:0 !important}
}

/* Search panel callout when criteria were injected from voice */
#manualNote{
  min-height:18px;
  font-weight:600;
}

/* Optional subtle processing state so users never see a dead screen. */
.v56-voice.is-processing::after{
  content:'';
  position:absolute;
  left:50%;
  bottom:8px;
  width:64px;
  height:3px;
  transform:translateX(-50%);
  border-radius:3px;
  background:linear-gradient(90deg,transparent,#d8aa62,transparent);
  animation:v65scan 1s linear infinite;
}
@keyframes v65scan{0%{transform:translateX(-85px)}100%{transform:translateX(85px)}}

/* ================================================================
   V66 VERIFIED HEADER — LOGO POSITION + NO OVERLAP
   ================================================================ */
nav .nav-inner{
  max-width:1540px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:0 82px !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:230px minmax(0,1fr) !important;
  align-items:center !important;
  gap:24px !important;
}
nav .logo{
  margin-left:34px !important;
  justify-self:start !important;
}
nav .nav-links{
  min-width:0 !important;
  justify-content:flex-end !important;
  gap:11px !important;
}
nav .navitem>a{font-size:12.1px !important}
nav .nav-cta,nav .nav-cta-premium{min-width:136px !important}
@media(max-width:1280px) and (min-width:921px){
  nav .nav-inner{padding:0 46px !important;grid-template-columns:200px minmax(0,1fr) !important;gap:14px !important}
  nav .logo{margin-left:14px !important}
  nav .nav-links{gap:7px !important}
  nav .navitem>a{font-size:11px !important}
  nav .nav-cta,nav .nav-cta-premium{min-width:120px !important;padding-inline:10px !important}
}
@media(max-width:920px){
  nav .nav-inner{padding:0 18px !important;display:flex !important;justify-content:space-between !important}
  nav .logo{margin-left:0 !important}
}

/* ================================================================
   V67 — BALANCED HEADER
   Logo moves inward/right; navigation starts closer to the logo.
   Keeps the existing dropdown and mobile behavior untouched.
   ================================================================ */
nav .nav-inner{
  max-width:1500px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:0 42px !important;
  display:grid !important;
  grid-template-columns:195px minmax(0,1fr) !important;
  align-items:center !important;
  gap:12px !important;
  box-sizing:border-box !important;
}
nav .logo{
  margin-left:26px !important;
  justify-self:start !important;
  font-size:17px !important;
}
nav .nav-links{
  justify-content:flex-start !important;
  gap:12px !important;
  min-width:0 !important;
}
nav .navitem>a{
  font-size:12.2px !important;
}
nav .nav-cta,
nav .nav-cta-premium{
  min-width:132px !important;
}
@media(max-width:1280px) and (min-width:921px){
  nav .nav-inner{
    padding:0 28px !important;
    grid-template-columns:178px minmax(0,1fr) !important;
    gap:10px !important;
  }
  nav .logo{
    margin-left:18px !important;
    font-size:16.5px !important;
  }
  nav .nav-links{
    gap:8px !important;
  }
  nav .navitem>a{
    font-size:11.2px !important;
  }
  nav .nav-cta,
  nav .nav-cta-premium{
    min-width:120px !important;
    padding-inline:10px !important;
  }
}
@media(max-width:920px){
  nav .nav-inner{
    display:flex !important;
    justify-content:space-between !important;
    padding:0 18px !important;
  }
  nav .logo{
    margin-left:0 !important;
  }
}

.agent-actions.ready{display:flex !important;visibility:visible !important;opacity:1 !important;gap:10px !important}
.agent-actions.ready button{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-height:46px !important;visibility:visible !important;opacity:1 !important}
.v68-ai-loaded{margin:-2px 0 18px !important;padding:13px 15px !important;border-radius:12px !important;border:1px solid rgba(201,162,83,.28) !important;background:linear-gradient(145deg,rgba(201,162,83,.11),rgba(15,20,26,.7)) !important}
.v68-ai-loaded strong{display:block !important;color:#d9ac65 !important;font-size:11px !important;letter-spacing:.12em !important;text-transform:uppercase !important}
.v68-ai-loaded span{display:block !important;margin-top:4px !important;color:#aeb4bc !important;font-size:12px !important;line-height:1.45 !important}

.v-version-badge{display:inline-flex;align-items:center;margin-left:14px;padding:5px 9px;border:1px solid rgba(210,166,88,.42);border-radius:999px;font:600 9px/1 Inter,Arial,sans-serif;letter-spacing:.14em;color:#d9b46a;background:rgba(10,12,16,.72);white-space:nowrap}.v56-topbar{align-items:center}@media(max-width:700px){.v-version-badge{margin-left:8px;font-size:8px;padding:4px 7px}}

/* Persistent voice confirmation controls */
.voice-actions-bar{display:none;gap:12px;justify-content:center;flex-wrap:wrap;margin:12px auto 0;padding:10px 0;}
.voice-actions-bar.show{display:flex;}
.voice-actions-bar button{border:1px solid rgba(214,170,98,.55);border-radius:999px;padding:12px 22px;min-height:46px;background:linear-gradient(145deg,#cfa15d,#9d743e);color:#fff;font:700 13px/1 Inter,Arial,sans-serif;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.18);}
.voice-actions-bar button[data-action="change"]{background:transparent;color:#dcb16a;border-color:rgba(214,170,98,.45);}
.voice-actions-bar button:hover{transform:translateY(-1px);filter:brightness(1.05);}

/* Voice diagnostics */
.voice-test-line{display:flex;justify-content:center;margin:8px 0 0}.voice-test-line button{border:1px solid rgba(201,162,83,.4);background:transparent;color:#c9a253;border-radius:999px;padding:7px 14px;font-size:11px;cursor:pointer}.voice-test-line button:hover{background:rgba(201,162,83,.08)}

/* Voice playback handling */
.v101-voice-badge{display:inline-flex;align-items:center;justify-content:center;margin:8px auto 4px;padding:5px 10px;border:1px solid rgba(201,162,83,.35);border-radius:999px;color:#d8ae68;font-size:9px;letter-spacing:.14em;text-transform:uppercase;background:rgba(10,13,17,.55)}

/* Visible live MLS connection state */
.mls-live-badge{
  display:inline-flex;align-items:center;gap:7px;margin-left:8px;padding:5px 10px;
  border:1px solid rgba(214,170,98,.35);border-radius:999px;
  color:#bfc6cf;background:rgba(10,14,18,.45);font:700 10px/1.1 Inter,Arial,sans-serif;
  letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;
}
.mls-live-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#8d949e;box-shadow:0 0 0 3px rgba(141,148,158,.12)}
.mls-live-badge.ok{color:#dcefe5;border-color:rgba(62,207,142,.35)}
.mls-live-badge.ok::before{background:#3ecf8e;box-shadow:0 0 0 3px rgba(62,207,142,.12)}
.mls-live-badge.bad{color:#ffd4d4;border-color:rgba(255,101,101,.35)}
.mls-live-badge.bad::before{background:#ff6565;box-shadow:0 0 0 3px rgba(255,101,101,.12)}
.voice-actions-bar button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.15)}

/* ============================================================================
   V1370 — Navigation depth and motion
   ----------------------------------------------------------------------------
   Appended, not rewritten: every rule below is additive and later in the
   cascade, so the existing nav rules above stay exactly as they are and this
   block can be deleted in one piece if it is ever not wanted.

   The brief was "the menu is flat and ugly — give it a 3D bottom and animate
   the buttons". Depth here is built the way a physical object reads: a bright
   top edge catching light, a soft coloured shadow falling below, and a thin
   warm line where the bar meets the page. No hard bevels — those read as 2009,
   not as luxury.

   Everything respects prefers-reduced-motion at the bottom of the block.
   ========================================================================== */

/* ---- the bar itself: lifted off the page, not drawn on it ---------------- */
nav{
  border-bottom:none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),           /* light on the top edge   */
    0 1px 0 rgba(176,141,63,.22),                 /* warm hairline underneath*/
    0 10px 24px -14px rgba(22,24,29,.30),         /* the body of the shadow  */
    0 30px 60px -40px rgba(22,24,29,.28);         /* long, soft falloff      */
  transition:box-shadow .3s ease, background .3s ease;
}
/* Sinks deeper once the page scrolls under it. app.js already toggles
   .scrolled on <nav> for the existing shadow transition. */
nav.scrolled{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 1px 0 rgba(176,141,63,.30),
    0 16px 30px -16px rgba(22,24,29,.38),
    0 40px 80px -48px rgba(22,24,29,.34);
}

/* ---- top-level items: a brass underline that grows from the centre ------- */
.nav-links a:not(.nav-cta){
  position:relative;
  transition:color .22s ease, transform .22s cubic-bezier(.34,1.3,.64,1);
}
.navitem>a::before,
.nav-links>a:not(.nav-cta)::before{
  content:'';
  position:absolute;left:50%;right:50%;bottom:18px;height:1.5px;
  background:linear-gradient(90deg,var(--brass),var(--brass-deep));
  border-radius:2px;opacity:0;
  transition:left .26s cubic-bezier(.4,0,.2,1),right .26s cubic-bezier(.4,0,.2,1),opacity .2s ease;
}
.navitem:hover>a::before,
.nav-links>a:not(.nav-cta):hover::before{left:0;right:0;opacity:1}
.nav-links a:not(.nav-cta):hover{transform:translateY(-1px)}

/* V1372 — the chevron NO LONGER FLIPS.
   It used to somersault 180 degrees on hover, which drew the eye away from
   the menu that was opening and, on a mark made of two borders, never looked
   settled at either end of the turn. It is now a fixed, quiet marker that
   only brightens. The job it was doing — telling you which item is open — is
   done properly by the gold pointer below. */
.navitem.has>a::after{
  position:relative;top:-1px;
  transform:rotate(45deg);
  transition:opacity .2s ease,border-color .2s ease;
}
.navitem.has:hover>a::after,
.navitem.has:focus-within>a::after{transform:rotate(45deg);opacity:1}

/* ---- the CTA: a real button with a lit top edge and a press ------------- */
.nav-cta{
  position:relative;overflow:hidden;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 2px 4px -2px rgba(22,24,29,.5),
    0 10px 22px -12px rgba(22,24,29,.75);
  transition:background .22s ease, transform .18s cubic-bezier(.34,1.3,.64,1), box-shadow .22s ease;
}
.nav-cta:hover{
  transform:translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.3),
    0 4px 8px -3px rgba(22,24,29,.45),
    0 18px 34px -14px rgba(138,106,68,.75);
}
.nav-cta:active{
  transform:translateY(0);
  box-shadow:inset 0 2px 5px rgba(0,0,0,.35),0 1px 2px rgba(22,24,29,.3);
}
/* A light sweeps across it on hover. */
.nav-cta::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);
  transform:translateX(-120%);
}
.nav-cta:hover::after{transform:translateX(120%);transition:transform .7s cubic-bezier(.4,0,.2,1)}

/* ---- the dropdown: opens like a panel tilting down into place ----------- */
.drop{
  transform-origin:top center;
  transform:translateY(-6px) rotateX(-9deg) scale(.985);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 1px 0 rgba(176,141,63,.18),
    0 18px 30px -18px rgba(22,24,29,.30),
    0 44px 70px -40px rgba(22,24,29,.35);
  transition:opacity .2s ease, visibility .2s ease, transform .28s cubic-bezier(.34,1.25,.64,1);
}
.navitem:hover .drop,.navitem:focus-within .drop{transform:translateY(0) rotateX(0) scale(1)}
@media(min-width:861px){.nav-links{perspective:900px}}

/* Rows lift slightly and grow a brass spine as the cursor crosses them. */
.drop a{
  position:relative;
  transition:background .16s ease,color .16s ease,padding-left .18s cubic-bezier(.4,0,.2,1),transform .18s ease;
}
.drop a::before{
  content:'';position:absolute;left:6px;top:50%;width:2px;height:0;
  background:var(--brass);border-radius:2px;transform:translateY(-50%);
  transition:height .2s cubic-bezier(.34,1.3,.64,1);
}
.drop a:hover::before{height:62%}
.drop a:hover{transform:translateX(1px)}

@media(prefers-reduced-motion:reduce){
  nav,.nav-cta,.drop,.drop a,.nav-links a,.navitem.has>a::after,
  .navitem>a::before,.nav-links>a:not(.nav-cta)::before{transition:none !important}
  .nav-cta::after{display:none}
  .nav-cta:hover,.drop a:hover,.nav-links a:not(.nav-cta):hover{transform:none}
  .drop{transform:translateY(0) rotateX(0) scale(1)}
}

/* On touch there is no hover, and a 3D-tilting panel inside a scrolling
   mobile sheet just judders. Keep the depth, drop the motion. */
@media(max-width:860px){
  .drop{transform:none !important;box-shadow:none}
  .nav-cta::after{display:none}
  .navitem>a::before,.nav-links>a:not(.nav-cta)::before{display:none}
}

/* ============================================================================
   V1371 — Navigation: metallic gold, real depth, and a colour change on press
   ----------------------------------------------------------------------------
   Appended last on purpose. This file carries roughly 600 lines of nav rules
   added over many builds, several of them unconditional `nav .nav-links{...}`
   declarations that sit AFTER the mobile media query and outrank it on
   specificity. That is the actual cause of the broken mobile menu: an
   unconditional `nav .nav-links{align-items:center}` was beating the mobile
   `align-items:stretch`, so every row shrink-wrapped into a floating pill and
   the panel lost its full-width fill. Rather than unpick that history, this
   block restates what the navigation should be, at a specificity that wins.
   ========================================================================== */

:root{
  /* One metallic ramp, reused everywhere so the gold reads as the same metal
     on every surface. Light-dark-light-dark is what makes it look like metal
     rather than a flat yellow. */
  --gold-metal:linear-gradient(145deg,#F6E7BC 0%,#DCB75F 20%,#A87B2E 46%,#EBD394 68%,#8C6421 100%);
  --gold-metal-soft:linear-gradient(145deg,#FBF3DC 0%,#EBD79E 30%,#D4B267 60%,#F5E7BF 100%);
  --gold-edge:#C9A24D;
  --gold-deep:#7C5A22;
}

/* ===================== DESKTOP ===================== */
@media(min-width:921px){

  /* The bar: a faint vertical gradient so it is lit from above, a gold
     hairline at its foot, and a three-part shadow for real depth. */
  nav{
    background:linear-gradient(180deg,rgba(255,254,250,.96),rgba(249,246,239,.94)) !important;
    backdrop-filter:blur(16px) saturate(1.15);
    border-bottom:none !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,1),
      inset 0 -1px 0 rgba(201,162,77,.35),
      0 3px 6px -3px rgba(22,24,29,.22),
      0 14px 28px -14px rgba(22,24,29,.34),
      0 36px 64px -44px rgba(124,90,34,.40) !important;
  }
  nav.scrolled{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,1),
      inset 0 -1px 0 rgba(201,162,77,.55),
      0 4px 8px -3px rgba(22,24,29,.28),
      0 20px 38px -16px rgba(22,24,29,.42),
      0 50px 90px -50px rgba(124,90,34,.48) !important;
  }

  /* Every top-level item is a pill that can be filled with metal. */
  /* ---- THE KEY STRIP -----------------------------------------------------
     The navigation is now a row of physical keys, the way a control panel is
     built: each key full height, lit along its top edge, divided from its
     neighbour by a hairline, and pressing into the bar when it is chosen.

     Full height is not decoration. The dropdown hangs off the bottom of
     .navitem, so a key that stops short of the bar's edge opens a dead gap
     the cursor falls through on its way down and the menu closes under it. */
  nav .nav-links{
    align-self:stretch !important;   /* keys reach the full 72px of the bar */
    align-items:stretch !important;
    gap:0 !important;                /* they touch; hairlines separate them */
  }
  nav .nav-links>.navitem{
    position:relative;overflow:visible;
    display:flex;align-items:stretch;
    background:linear-gradient(180deg,#FFFEFB 0%,#F8F3E8 52%,#EFE8D8 100%);
    border-right:1px solid rgba(201,162,77,.22);
    border-radius:10px 10px 0 0;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,1),
      inset 1px 0 0 rgba(255,255,255,.9),
      inset 0 -6px 8px -6px rgba(124,90,34,.30);
    transition:background .2s ease,box-shadow .2s ease;
  }
  nav .nav-links>.navitem:first-child{border-radius:10px 10px 0 0}
  nav .nav-links>.navitem:hover{
    background:linear-gradient(180deg,#FFFFFF 0%,#FDF9EF 55%,#F6EFDE 100%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,1),
      inset 1px 0 0 rgba(255,255,255,.9),
      inset 0 -6px 8px -6px rgba(124,90,34,.22),
      0 6px 14px -8px rgba(124,90,34,.45);
  }
  nav .nav-links>.navitem>a{
    /* above .drop (z-index 60) so the pointer is not buried under the panel */
    position:relative;z-index:70;
    /* !important on display: an older rule in this file forces inline-flex,
       which left the label sitting 20px tall at the top of a 68px key. */
    display:flex !important;align-items:center !important;
    height:100%;box-sizing:border-box;
    padding:0 18px !important;border-radius:0;
    transition:color .18s ease,text-shadow .18s ease;
  }

  /* The metal face lives on .navitem::after, NOT on the link's ::before —
     that one is claimed by three older rules in this file (a brass underline
     at :613/:914/:1215 and a `content:none !important` kill switch at :1584),
     and fighting them by specificity is how this breaks again next build.
     Gradients cannot be transitioned, so the metal fades in over the key. */
  nav .nav-links>.navitem::after{
    content:'';position:absolute;z-index:0;pointer-events:none;
    inset:0;border-radius:inherit;
    background:var(--gold-metal);opacity:0;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.7),
      inset 0 -3px 6px rgba(124,90,34,.45);
    transition:opacity .2s ease;
  }

  /* Chosen — current page, or the key being pressed: the face turns to solid
     metal, the label flips to near-black, and the key sinks 1px. */
  nav .nav-links>.navitem:has(>a.active)::after,
  nav .nav-links>.navitem:has(>a:active)::after{opacity:1}
  nav .nav-links>.navitem:has(>a:active)::after{
    box-shadow:inset 0 3px 7px rgba(70,50,16,.55),inset 0 -1px 0 rgba(255,255,255,.3);
  }
  nav .nav-links>.navitem:has(>a:active){
    box-shadow:inset 0 3px 7px rgba(70,50,16,.35);
  }
  nav .nav-links>.navitem>a:hover{
    color:var(--gold-deep);text-shadow:0 1px 0 rgba(255,255,255,.8);
  }
  nav .nav-links>.navitem>a:active,
  nav .nav-links>.navitem>a.active,
  nav .nav-links>.navitem:hover>a.active{
    color:#2A1E0C !important;font-weight:600;
    text-shadow:0 1px 0 rgba(255,255,255,.5);
  }
  /* The little chevron is gone on desktop. It was the thing you disliked, and
     with a key that lights up and a pointer at its foot it had no job left. */
  nav .nav-links>.navitem.has>a::after{display:none !important}

  /* The pointer at the foot of the key. It replaces the flipping chevron:
     it sits exactly where the dropdown is about to appear, so it points at
     the answer instead of spinning in place. clip-path, not a border
     triangle, because a border cannot carry the metallic gradient. */
  nav .nav-links>.navitem>a::before{
    content:'' !important;display:block !important;
    position:absolute;left:50%;bottom:-9px;margin-left:-9px;
    width:18px;height:9px;
    background:var(--gold-metal) !important;
    clip-path:polygon(50% 100%,0 0,100% 0);
    opacity:0;transform:translateY(-6px);
    transition:opacity .18s ease,transform .22s cubic-bezier(.34,1.3,.64,1);
    pointer-events:none;
  }
  nav .nav-links>.navitem:hover>a::before,
  nav .nav-links>.navitem:focus-within>a::before,
  nav .nav-links>.navitem>a.active::before{opacity:1;transform:translateY(0)}
  nav .nav-links>.navitem>a.active::before{filter:drop-shadow(0 2px 3px rgba(124,90,34,.45))}

  /* The CTA is not a key — it stays a raised button, centred in the bar. */
  nav .nav-links>.nav-cta{align-self:center !important;margin-left:18px}

  /* Dropdown: a panel with a gold top edge that tilts down into place.
     It sits 10px clear of the bar so the pointer above it stays visible;
     ::after bridges that gap invisibly, otherwise the cursor crosses dead
     space on the way down and the menu shuts under it. */
  nav .navitem .drop{top:calc(100% + 10px) !important}
  nav .navitem .drop::after{
    content:'';position:absolute;left:0;right:0;top:-12px;height:12px;background:transparent;
  }
  nav .drop{
    border:1px solid rgba(201,162,77,.35) !important;
    background:linear-gradient(180deg,#FFFDF8,#FBF7EE) !important;
    box-shadow:
      inset 0 2px 0 rgba(255,255,255,1),
      inset 0 -1px 0 rgba(201,162,77,.25),
      0 2px 4px -2px rgba(22,24,29,.2),
      0 22px 36px -18px rgba(22,24,29,.34),
      0 54px 80px -44px rgba(124,90,34,.45) !important;
  }
  nav .drop::before{
    content:'';position:absolute;left:14px;right:14px;top:0;height:2px;border-radius:2px;
    background:var(--gold-metal);opacity:.9;
  }
  nav .drop a{position:relative;z-index:1;border-radius:10px}
  nav .drop a::after{
    content:'';position:absolute;inset:0;border-radius:inherit;z-index:-1;
    background:var(--gold-metal-soft);opacity:0;transition:opacity .18s ease;
  }
  nav .drop a:hover{background:transparent !important;color:var(--gold-deep) !important}
  nav .drop a:hover::after{opacity:1}
  nav .drop a:active{color:#2A1E0C !important}
  nav .drop a:active::after{
    opacity:1;background:var(--gold-metal);
    box-shadow:inset 0 2px 5px rgba(70,50,16,.45);
  }
  nav .drop a:active small{color:rgba(42,30,12,.75)}
}

/* ===================== MOBILE ===================== */
@media(max-width:920px){

  /* THE FIX: restate the panel at a specificity that beats the later
     unconditional `nav .nav-links{align-items:center}`. */
  nav .nav-links{
    align-items:stretch !important;
    justify-content:flex-start !important;
    background:linear-gradient(180deg,#FBF9F4 0%,#F4EFE4 100%) !important;
    padding:14px 14px 40px !important;
    gap:10px !important;
  }

  /* Each row is a physical card: lit top edge, gold spine, soft drop. */
  nav .nav-links>.navitem{
    border-bottom:none !important;
    border-radius:14px;
    /* The gold edge is a BACKGROUND LAYER, not an absolutely positioned
       pseudo-element: a positioned bar ignores the card's border-radius and
       pokes out past the rounded corner. Two background images, the metal
       clipped to a 5px column on the left, keeps it inside the curve. */
    /* !important on all four: an earlier mobile rule in this file declares a
       plain white card background with !important and would otherwise drop
       the gold layer silently. */
    background-image:var(--gold-metal),linear-gradient(180deg,#FFFFFF,#FBF8F1) !important;
    background-size:5px 100%,100% 100% !important;
    background-position:left center,center !important;
    background-repeat:no-repeat,no-repeat !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,1),
      inset 0 -1px 0 rgba(201,162,77,.22),
      0 1px 2px rgba(22,24,29,.06),
      0 8px 18px -10px rgba(22,24,29,.28),
      0 18px 30px -22px rgba(124,90,34,.5);
    overflow:hidden;position:relative;
    transition:box-shadow .2s ease,transform .16s ease;
  }
  nav .nav-links>.navitem>a{
    justify-content:space-between !important;
    padding:17px 18px 17px 22px !important;
    font-size:16px !important;color:var(--graphite) !important;
    position:relative;z-index:1;
  }
  nav .nav-links>.navitem>a::after{border-color:var(--gold-edge) !important;opacity:1 !important}

  /* Tapped: the whole card turns to metal. */
  nav .nav-links>.navitem:active,
  nav .nav-links>.navitem>a:active{
    transform:translateY(1px);
  }
  nav .nav-links>.navitem>a:active{
    background:var(--gold-metal) !important;
    color:#2A1E0C !important;font-weight:600;
    box-shadow:inset 0 2px 6px rgba(70,50,16,.5);
  }
  nav .nav-links>.navitem>a:active::after{border-color:#2A1E0C !important}
  nav .nav-links>.navitem>a.active{
    background:var(--gold-metal) !important;color:#2A1E0C !important;font-weight:600;
  }

  /* Sub-items sit inside the same card, indented, on a quieter ground. */
  nav .nav-links>.navitem .drop{
    background:linear-gradient(180deg,#F8F4EA,#F3EEE1) !important;
    border:none !important;border-top:1px solid rgba(201,162,77,.3) !important;
    border-radius:0 !important;box-shadow:none !important;padding:4px 0 8px !important;
  }
  nav .nav-links>.navitem .drop a{
    padding:13px 18px 13px 30px !important;border-radius:0 !important;
    font-size:14.5px !important;
  }
  nav .nav-links>.navitem .drop a:active{
    background:var(--gold-metal-soft) !important;color:#2A1E0C !important;
  }
  nav .nav-links>.navitem .drop a small{color:#8A8377 !important}

  /* The CTA keeps its own metal, just deeper so it still leads the column. */
  nav .nav-links .nav-cta{
    margin-top:18px !important;border-radius:14px !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.35),
      0 4px 0 var(--gold-deep),
      0 12px 24px -10px rgba(124,90,34,.7) !important;
  }
  nav .nav-links .nav-cta:active{
    transform:translateY(3px) !important;
    box-shadow:inset 0 2px 6px rgba(70,50,16,.5),0 1px 0 var(--gold-deep) !important;
  }
}

@media(prefers-reduced-motion:reduce){
  nav .nav-links>.navitem>a,nav .nav-links>.navitem>a::before,
  nav .drop a::after,nav .nav-links>.navitem{transition:none !important}
}

/* ============================================================================
   V1373 — Submenu rows become separated 3D slabs
   ----------------------------------------------------------------------------
   Same construction language as the key strip above: each row is its own
   raised face with a lit top edge, and the rows are parted by an ENGRAVED
   groove — one dark hairline with a lit hairline directly under it. That pair
   is what reads as a cut into a surface rather than a line drawn on top of it.
   ========================================================================== */

@media(min-width:921px){

  /* Slabs run edge to edge, so the panel gives up its inner padding. Note
     overflow stays VISIBLE: .drop::after is the invisible bridge that keeps
     the menu open while the cursor crosses the gap below the bar, and
     overflow:hidden would clip it away and make the menu close on approach. */
  nav .drop{padding:0 !important;overflow:visible}
  nav .drop::before{left:0;right:0;border-radius:0}

  nav .drop a{
    display:block;position:relative;z-index:1;
    padding:13px 16px !important;
    border-radius:0 !important;
    background:linear-gradient(180deg,#FFFEFB 0%,#F7F2E7 100%) !important;
    border-bottom:1px solid rgba(201,162,77,.30) !important;  /* the cut   */
    box-shadow:0 1px 0 rgba(255,255,255,.95);                 /* the light */
    transition:background .16s ease,color .16s ease,transform .16s ease,
               box-shadow .16s ease,padding-left .16s cubic-bezier(.4,0,.2,1);
  }
  nav .drop a:first-child{border-radius:13px 13px 0 0 !important}
  nav .drop a:last-child{
    border-bottom:none !important;box-shadow:none;
    border-radius:0 0 13px 13px !important;
  }

  /* A gold spine slides out of the left edge on hover. height is restated on
     the hover rule too: an older `.drop a:hover::before{height:62%}` in this
     file outranks `nav .drop a::before` on specificity and would otherwise
     crop it. */
  nav .drop a::before{
    content:'';position:absolute;left:0;top:0;bottom:0;height:100%;width:0;
    background:var(--gold-metal);
    transition:width .18s cubic-bezier(.34,1.3,.64,1);
  }
  nav .drop a:hover::before{width:4px;height:100%}

  nav .drop a:hover{
    background:linear-gradient(180deg,#FFFFFF 0%,#FCF6E9 100%) !important;
    color:var(--gold-deep) !important;
    transform:translateY(-1px);
    padding-left:22px !important;
    box-shadow:0 1px 0 rgba(255,255,255,.95),0 7px 15px -8px rgba(124,90,34,.55);
  }
  nav .drop a:active{
    background:var(--gold-metal) !important;color:#2A1E0C !important;
    transform:translateY(1px);
    box-shadow:inset 0 2px 6px rgba(70,50,16,.5) !important;
  }
  nav .drop a:active small{color:rgba(42,30,12,.78) !important}
  /* The old full-bleed fill overlay is retired — the slab carries its own. */
  nav .drop a::after{display:none !important}
}

@media(max-width:920px){
  /* The same grooves inside the expanded card, one step quieter so the
     sub-rows stay subordinate to the parent key. */
  nav .nav-links>.navitem .drop a{
    position:relative;
    background:linear-gradient(180deg,#FBF8F1 0%,#F4EFE3 100%) !important;
    border-bottom:1px solid rgba(201,162,77,.26) !important;
    box-shadow:0 1px 0 rgba(255,255,255,.9);
  }
  nav .nav-links>.navitem .drop a:last-child{
    border-bottom:none !important;box-shadow:none;
  }
  nav .nav-links>.navitem .drop a::before{
    content:'';position:absolute;left:0;top:0;bottom:0;height:100%;width:3px;
    background:var(--gold-metal);opacity:.55;
  }
  nav .nav-links>.navitem .drop a:active{
    background:var(--gold-metal) !important;color:#2A1E0C !important;
    box-shadow:inset 0 2px 6px rgba(70,50,16,.45) !important;
  }
  nav .nav-links>.navitem .drop a:active::before{opacity:0}
}

/* ---- V1374 — Site Lines button on a search result card -------------------
   A quieter sibling of .explore-btn: same shape and rhythm, but carrying the
   brand's metal on hover so the two buttons are clearly a pair with a clear
   order of importance rather than two equal shouts. */
.siteline-btn{
  display:block;margin-top:8px;width:100%;box-sizing:border-box;
  border:1px solid rgba(201,162,77,.45);
  background:linear-gradient(180deg,#FFFEFB,#F8F3E8);
  color:var(--gold-deep,#7C5A22);
  border-radius:100px;padding:10px;
  font-family:'Inter',sans-serif;font-size:12.5px;font-weight:500;
  text-align:center;text-decoration:none;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,1),0 2px 5px -3px rgba(124,90,34,.5);
  transition:background .16s ease,color .16s ease,transform .14s ease,box-shadow .16s ease;
}
.siteline-btn:hover{
  background:var(--gold-metal,linear-gradient(145deg,#F6E7BC,#DCB75F,#A87B2E,#EBD394,#8C6421));
  color:#2A1E0C;border-color:rgba(124,90,34,.6);
  transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 7px 15px -7px rgba(124,90,34,.7);
}
.siteline-btn:active{
  transform:translateY(1px);
  box-shadow:inset 0 2px 6px rgba(70,50,16,.45);
}

/* ---- V1380 — active filter chips (search page) ---------------------------
   Sits with the results count so the filters are visible exactly where their
   effect is felt, not buried in a panel the visitor has scrolled past. */
.filter-chips{display:none;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 4px}
.filter-chips-lead{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);margin-right:2px}
.filter-chip{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid rgba(201,162,77,.45);border-radius:100px;
  background:linear-gradient(180deg,#FFFEFB,#F8F3E8);
  color:var(--gold-deep,#7C5A22);
  padding:7px 12px 7px 14px;font-family:'Inter',sans-serif;font-size:12.5px;font-weight:500;
  cursor:pointer;line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,1),0 2px 4px -3px rgba(124,90,34,.5);
  transition:background .15s ease,color .15s ease,transform .12s ease,box-shadow .15s ease;
}
.filter-chip i{font-style:normal;font-size:15px;line-height:1;opacity:.65}
.filter-chip:hover{
  background:var(--gold-metal,linear-gradient(145deg,#F6E7BC,#DCB75F,#A87B2E,#EBD394,#8C6421));
  color:#2A1E0C;border-color:rgba(124,90,34,.6);transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 12px -7px rgba(124,90,34,.7);
}
.filter-chip:hover i{opacity:1}
.filter-chip:active{transform:translateY(1px);box-shadow:inset 0 2px 5px rgba(70,50,16,.4)}
.filter-chip.clear-all{
  background:var(--porcelain);border-color:var(--line);color:var(--stone);padding:7px 14px;
}
.filter-chip.clear-all:hover{background:var(--graphite);border-color:var(--graphite);color:#fff}
.filter-why{font-size:12.5px;color:var(--stone);line-height:1.6;margin-top:8px}
@media(max-width:560px){.filter-chips{gap:6px}.filter-chip{font-size:12px;padding:6px 10px 6px 12px}}

/* ================= V1382 — PHOTO GALLERY ================================= */

/* .ph::after is already claimed three times over for the card's own gradient
   (lines 593 / 894 / 1195). Taking it here would have quietly replaced that
   gradient, so the badge carries its own contrast instead. */
.prop .ph.ds-has-gallery{cursor:zoom-in}

.ds-photo-badge{
  position:absolute;left:12px;bottom:12px;z-index:2;
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;border-radius:999px;
  font:600 12px/1 'Inter',system-ui,sans-serif;letter-spacing:.015em;
  color:#2b2113;
  background:linear-gradient(145deg,#f4e3bd 0%,#d9b876 42%,#b8914c 100%);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 2px 5px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.65);
  transform:translateY(4px);opacity:0;transition:opacity .22s ease,transform .22s ease;
  pointer-events:none;white-space:nowrap}
.prop:hover .ds-photo-badge,.prop:focus-within .ds-photo-badge{opacity:1;transform:translateY(0)}

/* On touch there is no hover, so the badge is simply always there. */
@media (hover:none){
  .ds-photo-badge{opacity:1;transform:none}
}

body.ds-lb-open{overflow:hidden}

.ds-lb{
  position:fixed;inset:0;z-index:9999;
  display:flex;flex-direction:column;
  background:rgba(13,11,8,.96);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ds-lb[hidden]{display:none}

.ds-lb-bar{
  flex:0 0 auto;display:flex;align-items:center;gap:16px;
  padding:14px 18px;border-bottom:1px solid rgba(217,184,118,.22)}
.ds-lb-title{
  flex:1 1 auto;min-width:0;
  font:500 14px/1.35 'Inter',system-ui,sans-serif;color:#f2ead9;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ds-lb-count{
  flex:0 0 auto;font:600 12px/1 'Inter',system-ui,sans-serif;
  letter-spacing:.06em;text-transform:uppercase;color:#d9b876}
.ds-lb-x{
  flex:0 0 auto;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(217,184,118,.35);background:rgba(255,255,255,.06);
  color:#f2ead9;font-size:24px;line-height:1;cursor:pointer;
  transition:background .18s ease,border-color .18s ease}
.ds-lb-x:hover{background:rgba(217,184,118,.18);border-color:rgba(217,184,118,.7)}

.ds-lb-stage{
  flex:1 1 auto;position:relative;display:flex;align-items:center;justify-content:center;
  padding:18px;min-height:0}
.ds-lb-img{
  max-width:100%;max-height:100%;object-fit:contain;
  border-radius:8px;box-shadow:0 18px 50px rgba(0,0,0,.55);
  transition:opacity .18s ease}
.ds-lb-img.loading{opacity:.35}

.ds-lb-spin{
  position:absolute;width:34px;height:34px;border-radius:50%;
  border:2px solid rgba(217,184,118,.25);border-top-color:#d9b876;
  animation:dsLbSpin .7s linear infinite;pointer-events:none}
@keyframes dsLbSpin{to{transform:rotate(360deg)}}

.ds-lb-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:52px;height:52px;border-radius:50%;z-index:2;
  border:1px solid rgba(217,184,118,.35);background:rgba(20,17,12,.72);
  color:#f2ead9;font-size:30px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .18s ease,border-color .18s ease,transform .18s ease}
.ds-lb-arrow:hover{background:rgba(217,184,118,.2);border-color:rgba(217,184,118,.75)}
.ds-lb-arrow.prev{left:14px}
.ds-lb-arrow.next{right:14px}
.ds-lb-arrow[hidden]{display:none}

.ds-lb-strip{
  flex:0 0 auto;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;
  padding:12px 18px 16px;scrollbar-width:thin;
  border-top:1px solid rgba(217,184,118,.18)}
.ds-lb-strip[hidden]{display:none}
.ds-lb-strip::-webkit-scrollbar{height:6px}
.ds-lb-strip::-webkit-scrollbar-thumb{background:rgba(217,184,118,.35);border-radius:3px}
.ds-lb-thumb{
  flex:0 0 auto;width:92px;height:62px;border-radius:6px;cursor:pointer;
  background-size:cover;background-position:center;
  border:2px solid transparent;opacity:.55;padding:0;
  transition:opacity .18s ease,border-color .18s ease}
.ds-lb-thumb:hover{opacity:.85}
.ds-lb-thumb.on{opacity:1;border-color:#d9b876}

@media (max-width:640px){
  .ds-lb-bar{padding:10px 12px;gap:10px}
  .ds-lb-title{font-size:13px}
  .ds-lb-stage{padding:8px}
  .ds-lb-arrow{width:44px;height:44px;font-size:26px}
  .ds-lb-arrow.prev{left:6px}
  .ds-lb-arrow.next{right:6px}
  .ds-lb-thumb{width:68px;height:48px}
  .ds-lb-strip{padding:10px 12px 12px}
}

/* ================= V1388 — SHARE ========================================= */

.ds-share-btn{
  display:inline-flex;align-items:center;gap:7px;margin-top:9px;
  padding:9px 16px;border-radius:999px;cursor:pointer;width:100%;
  justify-content:center;
  font:600 12.5px/1 'Inter',system-ui,sans-serif;letter-spacing:.015em;
  color:#4a3c22;
  background:linear-gradient(145deg,#fdf7e9 0%,#f2e4c4 55%,#e4d0a4 100%);
  border:1px solid rgba(184,145,76,.45);
  box-shadow:0 1px 2px rgba(60,45,20,.12),inset 0 1px 0 rgba(255,255,255,.75);
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.ds-share-btn:hover{
  transform:translateY(-1px);border-color:rgba(184,145,76,.8);
  box-shadow:0 4px 10px rgba(60,45,20,.16),inset 0 1px 0 rgba(255,255,255,.85)}
.ds-share-btn:active{transform:translateY(0)}
.ds-share-btn span[aria-hidden]{font-size:14px;line-height:1}

.commercial-card .ds-share-btn{margin-top:10px}

body.ds-share-open{overflow:hidden}

.ds-share{
  position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;
  padding:20px;background:rgba(18,15,10,.55);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.ds-share[hidden]{display:none}

.ds-share-card{
  width:100%;max-width:380px;background:#fff;border-radius:16px;overflow:hidden;
  box-shadow:0 24px 60px rgba(25,18,8,.4);border:1px solid rgba(184,145,76,.3)}

.ds-share-head{
  display:flex;align-items:flex-start;gap:14px;padding:18px 18px 14px;
  border-bottom:1px solid rgba(40,30,15,.09)}
.ds-share-title{font:600 15px/1.3 'Inter',system-ui,sans-serif;color:#2b2419}
.ds-share-addr{margin-top:4px;font-size:12.5px;line-height:1.45;color:#7a7265}
.ds-share-x{
  flex:0 0 auto;margin-left:auto;width:32px;height:32px;border-radius:50%;
  border:1px solid rgba(40,30,15,.13);background:#fafafa;color:#6b6358;
  font-size:20px;line-height:1;cursor:pointer;transition:background .16s ease}
.ds-share-x:hover{background:#f0ece4}

.ds-share-list{padding:8px}
.ds-share-item{
  display:flex;align-items:center;gap:13px;width:100%;
  padding:13px 14px;border:0;border-radius:11px;background:transparent;cursor:pointer;
  font:500 14px/1 'Inter',system-ui,sans-serif;color:#2f2a21;text-align:left;
  transition:background .14s ease}
.ds-share-item:hover{background:#f7f2e6}
.ds-share-item.done{background:#f0f6ee;color:#3f6236}
.ds-share-ico{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:16px;
  background:linear-gradient(145deg,#fbf3e2,#efe0bf);border:1px solid rgba(184,145,76,.3)}

.ds-share-note{
  padding:12px 18px 16px;border-top:1px solid rgba(40,30,15,.08);
  font-size:11.5px;line-height:1.55;color:#8a8277}

@media (max-width:520px){
  .ds-share{align-items:flex-end;padding:0}
  .ds-share-card{max-width:none;border-radius:18px 18px 0 0;border-bottom:0}
  .ds-share-item{padding:15px 14px;font-size:15px}
}

/* ---- V1389 rentals: what the rent includes ----------------------------- */
.rsearch .fld.wide{flex:1 1 260px;min-width:220px}
.rsearch .fld.wide input{width:100%}

.rincs{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 2px}
.rinc{
  display:inline-block;padding:4px 10px;border-radius:999px;white-space:nowrap;
  font:600 11px/1.4 'Inter',system-ui,sans-serif;letter-spacing:.015em;
  color:#45603c;background:#eef4ec;border:1px solid #cfe0c9}

.rcard .allin{line-height:1.6}
.rcard .ds-share-btn{margin-top:10px}

/* ---- V1391 rentals: an explicit Search ---------------------------------- */
.rsearch .fld.go{flex:0 0 auto;display:flex;flex-direction:column;justify-content:flex-end}
.rs-go{
  padding:11px 26px;border-radius:999px;cursor:pointer;white-space:nowrap;
  font:600 13px/1 'Inter',system-ui,sans-serif;letter-spacing:.02em;color:#2b2113;
  background:linear-gradient(145deg,#f4e3bd 0%,#d9b876 45%,#b8914c 100%);
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 2px 6px rgba(60,45,20,.28),inset 0 1px 0 rgba(255,255,255,.6);
  transition:transform .14s ease,box-shadow .14s ease}
.rs-go:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(60,45,20,.3),inset 0 1px 0 rgba(255,255,255,.7)}
.rs-go:active{transform:translateY(0)}
.rs-hint{margin:10px 0 2px;font-size:12px;line-height:1.55;color:var(--stone)}

@media (max-width:640px){
  .rsearch .fld.go{width:100%}
  .rsearch .fld.go label{display:none}
  .rs-go{width:100%;padding:13px 20px;font-size:14px}
}

/* ---- V1392 gallery on rental and commercial cards ---------------------- */
.rcard .ph.ds-has-gallery,
.commercial-card.ds-has-gallery img{cursor:zoom-in}
.commercial-card.ds-has-gallery{position:relative}
.commercial-card .ds-photo-badge{left:12px;bottom:auto;top:12px}
.commercial-card:hover .ds-photo-badge,
.rcard:hover .ds-photo-badge{opacity:1;transform:translateY(0)}
@media (hover:none){
  .commercial-card .ds-photo-badge,
  .rcard .ds-photo-badge{opacity:1;transform:none}
}

/* ---- V1393 rentals map -------------------------------------------------- */
.rmap-wrap{margin:18px 0 26px;background:#fff;border-radius:16px;overflow:hidden;
  border:1px solid rgba(184,145,76,.22);box-shadow:0 10px 30px rgba(40,30,15,.07)}
.rmap-head{padding:16px 18px 12px;border-bottom:1px solid rgba(40,30,15,.07)}
.rmap-head h4{margin:0;font:600 14px/1.3 'Inter',system-ui,sans-serif;color:#2b2419}
.rmap-head p{margin:5px 0 0;font-size:12.5px;line-height:1.5;color:var(--stone)}
.rmap{height:360px;width:100%}
.rmap .leaflet-container{font:inherit}

.rental-pin{background:transparent;border:0}
.rental-pin span{
  display:flex;align-items:center;justify-content:center;width:28px;height:28px;
  border-radius:50%;color:#2b2113;
  font:700 12px/1 'Inter',system-ui,sans-serif;
  background:linear-gradient(145deg,#f4e3bd 0%,#d9b876 45%,#b8914c 100%);
  border:2px solid #fff;box-shadow:0 3px 9px rgba(22,24,29,.38)}

.rs-map-btn{
  display:inline-flex;align-items:center;gap:7px;justify-content:center;width:100%;
  margin-top:9px;padding:9px 16px;border-radius:999px;cursor:pointer;
  font:600 12.5px/1 'Inter',system-ui,sans-serif;color:#4a4335;
  background:#f6f3ec;border:1px solid rgba(40,30,15,.14);
  transition:background .14s ease,border-color .14s ease}
.rs-map-btn:hover{background:#efe9dc;border-color:rgba(184,145,76,.5)}

@media (max-width:640px){ .rmap{height:280px} }

/* ===== V1398 — article photography: credit line and branded fallback =====
   Appended at the end of the file on purpose. .na is declared twice earlier
   (lines ~523 and ~824, a pre-existing duplication), so rules placed here are
   the ones that win without having to pick which copy to edit.

   The credit line is a CHILD of .ph, not a ::after — .na .ph::after is
   already the card's bottom gradient, and a second claim on it would have
   silently replaced that gradient site-wide. .na .ph is already
   position:relative, so these position against it. */

.na .ph{ background-color:#2B2F38; background-size:cover; background-position:center; }

.na .ph .ph-credit{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:7px 10px 6px;
  font-size:10px; letter-spacing:.04em; line-height:1.3;
  color:rgba(255,255,255,.82);
  background:linear-gradient(180deg,transparent,rgba(10,14,20,.62));
  text-align:right;
  pointer-events:auto;
}
.na .ph .ph-credit a{ color:rgba(255,255,255,.95); text-decoration:none; border-bottom:1px solid rgba(255,255,255,.34); }
.na .ph .ph-credit a:hover{ border-bottom-color:rgba(255,255,255,.85); }

/* The fallback panel. It carries the article's category rather than an
   apology, because on a 50-request-an-hour quota this is what most visitors
   will see and it has to read as a design choice. */
.na .ph .ph-fallback{
  position:absolute; inset:0; z-index:1;
  display:flex; align-items:center; justify-content:center;
}
.na .ph .ph-fallback span{
  font-size:12px; letter-spacing:.42em; font-weight:600;
  color:rgba(255,255,255,.30);
  padding-left:.42em;            /* letter-spacing trails the last letter */
  text-transform:uppercase;
}

/* ===== V1400 — $/sq ft pills carry a range, so they are wider =====
   "380–480/sf" needs more room than "$412/sf" did. The unit is set smaller
   and lighter so the eye lands on the numbers, which are the comparison. */
.psf-pill{ font-size:12px; padding:5px 8px; letter-spacing:-.1px; text-align:center; }
.psf-pill .u{ font-size:9.5px; font-weight:500; opacity:.72; margin-left:2px; }
.psf-stats .b .bl{ max-width:260px; }

/* ===== V1402 — insight cards carry a photograph now =====
   .thumb was a dark rectangle with the category lettered into it, and the
   same category was printed again in brass directly below. It holds a real
   photo now, so it needs what .na .ph already had: a positioning context for
   the credit line and the fallback panel, and a background colour behind the
   image while it loads. The flex/padding/colour rules that laid out the old
   lettering are cleared. */
.insight-card .thumb{
  position:relative;
  display:block; padding:0;
  background-color:#1d232b;
  background-size:cover; background-position:center;
}
.insight-card .thumb .ph-credit{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:7px 10px 6px;
  font-size:10px; letter-spacing:.04em; line-height:1.3;
  color:rgba(255,255,255,.82);
  background:linear-gradient(180deg,transparent,rgba(10,14,20,.62));
  text-align:right; font-weight:400;
}
.insight-card .thumb .ph-credit a{ color:rgba(255,255,255,.95); text-decoration:none; border-bottom:1px solid rgba(255,255,255,.34); }
.insight-card .thumb .ph-credit a:hover{ border-bottom-color:rgba(255,255,255,.85); }
.insight-card .thumb .ph-fallback{
  position:absolute; inset:0; z-index:1;
  display:flex; align-items:center; justify-content:center;
}
.insight-card .thumb .ph-fallback span{
  font-size:12px; letter-spacing:.42em; font-weight:600;
  color:rgba(255,255,255,.30); padding-left:.42em; text-transform:uppercase;
}

/* ===== V1403 — real articles need more than headings and paragraphs =====
   The old renderer emitted only h2 + p, which is a large part of why every
   article read as three sentences. These are the block types the rewritten
   pieces actually use. */

.article-main .article-list{ margin:14px 0 4px; padding-left:22px; }
.article-main .article-list li{ margin-bottom:9px; padding-left:4px; }
.article-main .article-steps{ counter-reset:none; }
.article-main .article-list li::marker{ color:#a37a47; font-weight:700; }

.article-quote{
  margin:30px 0; padding:4px 0 4px 20px;
  border-left:3px solid #d2a560;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:23px; line-height:1.5; color:#2a2d33; font-style:italic;
}

.article-box{
  margin:30px 0; padding:20px 22px;
  background:#f4efe6; border:1px solid #e4d9c6; border-radius:14px;
}
.article-box b{
  display:block; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:#8c6734; font-weight:800; margin-bottom:12px;
}
.article-box ul{ margin:0; padding-left:20px; }
.article-box li{ margin-bottom:8px; font-size:15px; line-height:1.65; }
.article-box li:last-child{ margin-bottom:0; }

.article-note{
  margin:28px 0 0; padding:14px 16px;
  background:#f3f2ef; border-left:3px solid #c9ccd1; border-radius:0 8px 8px 0;
  font-size:13.5px!important; line-height:1.65!important; color:#5e636a!important;
}

/* The hero. It is the photo element itself rather than a wrapper, so
   newsimg.js writes the background straight onto it. */
.article-hero{
  position:relative; height:320px; margin:10px 0 30px;
  border-radius:16px; overflow:hidden;
  background-color:#1d232b; background-size:cover; background-position:center;
}
.article-hero .ph-credit{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:8px 12px 7px; text-align:right;
  font-size:10.5px; letter-spacing:.04em; color:rgba(255,255,255,.85);
  background:linear-gradient(180deg,transparent,rgba(10,14,20,.6));
}
.article-hero .ph-credit a{ color:rgba(255,255,255,.95); text-decoration:none; border-bottom:1px solid rgba(255,255,255,.34); }
.article-hero .ph-fallback{ position:absolute; inset:0; z-index:1; display:flex; align-items:center; justify-content:center; }
.article-hero .ph-fallback span{
  font-size:13px; letter-spacing:.44em; font-weight:600;
  color:rgba(255,255,255,.3); padding-left:.44em; text-transform:uppercase;
}

/* Keep reading. Three links, because an article that ends in a dead end
   sends the reader back to a search engine rather than further in. */
.article-related{ margin:40px 0 0; border-top:1px solid #e3ddd2; padding-top:22px; }
.article-related > b{
  display:block; font-size:10.5px; letter-spacing:.14em; color:#8c6734;
  font-weight:800; margin-bottom:14px;
}
.article-related a{
  display:block; padding:13px 0; border-bottom:1px solid #ece7dd; text-decoration:none;
}
.article-related a:last-child{ border-bottom:none; }
.article-related .r-tag{
  display:block; font-size:10px; letter-spacing:.13em; text-transform:uppercase;
  color:#a37a47; font-weight:700; margin-bottom:3px;
}
.article-related .r-title{
  display:block; font-family:'Cormorant Garamond',Georgia,serif;
  font-size:20px; line-height:1.3; color:#1c1e22;
}
.article-related a:hover .r-title{ color:#8c6734; }

@media(max-width:640px){
  .article-hero{ height:210px; }
  .article-quote{ font-size:20px; }
}

/* Paragraph spacing. .article-main p carried no margin, which never showed
   when every section was a heading and a single sentence. With real
   articles, consecutive paragraphs ran together into one block of text. */
.article-main > p{ margin-bottom:18px; }
.article-main > p:last-of-type{ margin-bottom:0; }
.article-main h2{ margin-bottom:10px; }
