/* ==========================================================================
   Public site design system
   Palette: peacock teal + marigold on cool paper. Motif: the arch (jharokha).
   Type: Young Serif (display) + Hanken Grotesk (body).
   ========================================================================== */
:root{
  --font-display:"Young Serif",Georgia,"Times New Roman",serif;
  --font-body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ink:#10282c;--muted:#58706f;--line:#dde4de;
  --brand:#0c5d59;--brand-dark:#08403f;--deep:#08262b;--deep-2:#0b3a40;
  --gold:#e8a33d;--gold-dark:#c98618;
  --paper:#f4f6f2;--mist:#e8eee9;--soft:#f4f6f2;
  --r-lg:28px;--r-md:18px;--r-sm:12px;--radius:18px;
  --shadow-float:0 34px 60px -30px rgba(8,38,43,.5),0 10px 22px -12px rgba(8,38,43,.2);
  --bs-body-font-family:var(--font-body);--bs-body-color:var(--ink);--bs-body-bg:#fff;--bs-border-color:var(--line);
}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);background:#fff;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--brand)}a:hover{color:var(--brand-dark)}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--font-display);font-weight:400;letter-spacing:-.012em;line-height:1.15;color:var(--ink)}
:is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6).fw-bold{font-weight:400!important}
p{max-width:68ch}
.text-secondary{color:var(--muted)!important}
.text-brand{color:var(--brand)!important}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}
.form-control,.form-select{border-radius:var(--r-sm);border-color:#cfd9d3}
.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .22rem rgba(12,93,89,.16)}
.form-label{color:var(--ink)}

/* buttons */
.btn{font-weight:600;border-radius:var(--r-sm)}
.btn-brand{background:var(--brand);border:1px solid var(--brand);color:#fff}
.btn-brand:hover,.btn-brand:focus{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
.btn-gold{background:var(--gold);border:1px solid var(--gold);color:#2a1c04}
.btn-gold:hover,.btn-gold:focus{background:#f0b252;border-color:#f0b252;color:#2a1c04}
.btn-ghost-light{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff}
.btn-ghost-light:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
.btn-outline-secondary{--bs-btn-color:var(--ink);--bs-btn-border-color:#c9d4cd;--bs-btn-hover-bg:var(--brand);--bs-btn-hover-border-color:var(--brand);--bs-btn-hover-color:#fff;--bs-btn-active-bg:var(--brand-dark);--bs-btn-active-border-color:var(--brand-dark)}

/* wordmark + nav */
.brand-mark{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:400;font-size:1.35rem;letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.brand-mark:hover{color:var(--ink)}
.brand-arch{width:26px;height:26px;color:var(--brand);flex:none}
.rp-nav{background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);padding:.8rem 0}
.rp-nav .nav-link{font-weight:500;font-size:.95rem;color:var(--ink);padding:.45rem .85rem}
.rp-nav .nav-link:hover{color:var(--brand)}
.rp-nav .nav-link.active{color:var(--brand);font-weight:600;box-shadow:inset 0 -2px 0 var(--gold)}
.rp-nav .btn{padding:.5rem 1.05rem}

/* hero */
.hero{position:relative;background:var(--deep-2);color:#fff;padding:4.5rem 0 0;overflow:hidden}
.hero::before{content:"";position:absolute;right:-8%;top:-30%;width:62%;aspect-ratio:3/4;border-radius:999px 999px 0 0;border:1px solid rgba(255,255,255,.1);pointer-events:none}
.hero::after{content:"";position:absolute;right:-2%;top:-18%;width:46%;aspect-ratio:3/4;border-radius:999px 999px 0 0;border:1px solid rgba(255,255,255,.07);pointer-events:none}
.hero .container{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3rem;align-items:center}
.hero h1{color:#fff;font-size:clamp(2.5rem,5.2vw,4.4rem);line-height:1.04;letter-spacing:-.02em;max-width:13ch}
.hero-sub{color:rgba(255,255,255,.8);font-size:1.12rem;max-width:44ch;margin:1.4rem 0 1.8rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.hero-actions .btn{padding:.8rem 1.4rem}
.hero-art{position:relative;height:470px}
.arch{position:absolute;overflow:hidden;background:#14515a;border-radius:999px 999px var(--r-md) var(--r-md)}
.arch img{width:100%;height:100%;object-fit:cover;display:block}
.arch-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.35);font-size:3rem}
.arch-lg{right:2%;top:0;width:64%;height:100%}
.arch-sm{left:0;bottom:0;width:36%;height:56%;border:6px solid var(--deep-2);box-sizing:content-box;left:-6px;bottom:-6px}
.hero-price{position:absolute;left:3%;bottom:2.4rem;z-index:3;display:block;max-width:230px;background:#fff;color:var(--ink);border-radius:var(--r-md);padding:.85rem 1.05rem;text-decoration:none;box-shadow:var(--shadow-float)}
.hero-price:hover{color:var(--ink);transform:translateY(-2px)}
.hero-price b{display:block;font-family:var(--font-display);font-weight:400;font-size:1.35rem;line-height:1.1}
.hero-price span{display:block;font-size:.85rem;color:var(--muted);margin-top:.15rem}
.hero-search{position:relative;z-index:4;margin-top:3rem;margin-bottom:-4.2rem}
.search-card{background:#fff;color:var(--ink);border-radius:var(--r-lg);padding:1.3rem 1.5rem 1.5rem;box-shadow:var(--shadow-float)}
.search-tabs{display:flex;gap:1.6rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}
.search-tabs button{border:0;background:transparent;padding:.35rem 0 .7rem;font-weight:600;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px}
.search-tabs button:hover{color:var(--ink)}
.search-tabs button.active{color:var(--brand);border-bottom-color:var(--gold)}
.search-card .form-label{font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:.3rem}
.search-card .form-select{background-color:var(--paper);border:1px solid transparent;padding:.72rem .9rem}
.search-card .form-select:hover{border-color:#cfd9d3}
.search-card .btn-brand{padding:.8rem 1rem}
.hero+.section{padding-top:8.2rem}

/* sections */
.section{padding:5.5rem 0}.bg-soft{background:var(--paper)}
.sec-head,.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;margin-bottom:2.4rem;text-align:left}
.sec-head h2,.section-head h2{font-size:clamp(1.8rem,3.2vw,2.6rem);margin:0;max-width:20ch}
.sec-head p,.section-head p{color:var(--muted);margin:0;max-width:40ch}
.eyebrow{display:none}
.page-hero{position:relative;background:var(--paper);border-bottom:1px solid var(--line);padding:3.4rem 0 2.6rem;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:6%;top:18%;width:150px;height:200px;border-radius:999px 999px 0 0;border:1px solid #cfdad3;box-shadow:inset 0 0 0 10px var(--paper),inset 0 0 0 11px #d9e2dc}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{font-size:clamp(2rem,4.2vw,3.2rem);margin:0;color:var(--ink)}
.page-hero p{margin:.7rem 0 0;color:var(--muted);font-size:1.05rem;max-width:56ch}
.empty-state{text-align:center;padding:3.5rem 1rem;color:var(--muted)}.empty-state i{font-size:3rem;color:#b9c8c0}
.empty-state h2{font-size:1.3rem;color:var(--ink)}

/* property card */
.prop-card{background:transparent;border:0;border-radius:0;overflow:visible}
.prop-media{position:relative;aspect-ratio:4/3.15;background:var(--mist);overflow:hidden;border-radius:var(--r-md)}
.prop-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.prop-card:hover .prop-media img{transform:scale(1.04)}
.prop-badges{position:absolute;top:.8rem;left:.8rem;display:flex;gap:.4rem;z-index:2}
.rp-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.76rem;font-weight:600;padding:.32rem .7rem;border-radius:999px;background:rgba(255,255,255,.94);color:var(--ink);line-height:1.2}
.rp-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand)}
.rp-badge.rent::before{background:var(--gold-dark)}
.rp-badge.feat{background:var(--gold);color:#2a1c04}.rp-badge.feat::before{display:none}
.prop-actions{position:absolute;top:.8rem;right:.8rem;display:flex;flex-direction:column;gap:.45rem;z-index:2}
.icon-btn{width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(8,38,43,.18);text-decoration:none;transition:background .15s,color .15s,transform .15s}
.icon-btn:hover{background:var(--brand);color:#fff;transform:scale(1.06)}.icon-btn.active{background:#e5484d;color:#fff}
.prop-body{padding:1rem .2rem 0}
.prop-price{font-family:var(--font-display);font-size:1.45rem;line-height:1.1;color:var(--ink)}
.prop-price small{font-family:var(--font-body);font-size:.85rem;color:var(--muted);font-weight:500}
.prop-title{font-size:1.02rem;font-weight:600;margin:.45rem 0 .2rem;font-family:var(--font-body);letter-spacing:0}
.prop-title a{color:var(--ink);text-decoration:none}.prop-title a:hover{color:var(--brand)}
.prop-loc{font-size:.9rem;color:var(--muted);margin:0 0 .85rem}.prop-loc i{color:var(--brand)}
.prop-meta{display:flex;gap:1.1rem;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}.prop-meta i{color:var(--brand);margin-right:.2rem}
.prop-agent{display:flex;align-items:center;gap:.55rem;margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--line);font-size:.88rem}
.prop-agent a{color:var(--muted);text-decoration:none}.prop-agent a:hover{color:var(--brand)}
.avatar{width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden;flex:none}
.avatar.sm{width:28px;height:28px;font-size:.68rem}.avatar.lg{width:92px;height:92px;font-size:1.7rem}.avatar img{width:100%;height:100%;object-fit:cover}

/* categories */
.cat-chip{display:flex;align-items:center;gap:.8rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:.85rem 1rem;text-decoration:none;color:var(--ink);transition:border-color .15s,background .15s}
.cat-chip i{width:42px;height:42px;border-radius:50%;background:var(--mist);color:var(--brand);display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;flex:none;transition:.15s}
.cat-chip b{display:block;font-weight:600;line-height:1.2}.cat-chip small{color:var(--muted)}
.cat-chip:hover{border-color:var(--brand);color:var(--ink)}.cat-chip:hover i{background:var(--brand);color:#fff}

/* skyline of locations */
.skyline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;align-items:end}
.loc-arch{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:1.3rem 1.2rem 1.4rem;border-radius:999px 999px var(--r-md) var(--r-md);color:#fff;text-decoration:none;background:var(--deep-2);min-height:270px;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.loc-arch::before{content:"";position:absolute;inset:9px;border-radius:999px 999px calc(var(--r-md) - 6px) calc(var(--r-md) - 6px);border:1px solid rgba(255,255,255,.22);pointer-events:none}
.loc-arch:hover{transform:translateY(-6px);color:#fff}
.loc-arch:nth-child(4n+1){min-height:300px;background:var(--deep-2)}
.loc-arch:nth-child(4n+2){min-height:360px;background:var(--brand)}
.loc-arch:nth-child(4n+3){min-height:320px;background:#1f5864}
.loc-arch:nth-child(4n+4){min-height:380px;background:#2f4f4a}
.loc-arch:nth-child(8n+6){background:#7b5a1f}
.loc-name{position:relative;font-family:var(--font-display);font-size:1.45rem;line-height:1.1}
.loc-count{position:relative;opacity:.8;font-size:.88rem;margin-top:.25rem}

/* why us */
.why-list{margin:0;display:grid;gap:0}
.why-item{display:grid;grid-template-columns:48px 1fr;gap:1rem;padding:1.25rem 0;border-top:1px solid var(--line)}
.why-item:last-child{border-bottom:1px solid var(--line)}
.why-item i{width:48px;height:48px;border-radius:50%;background:var(--mist);color:var(--brand);display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem}
.why-item dt{font-family:var(--font-display);font-weight:400;font-size:1.2rem;margin-bottom:.15rem}
.why-item dd{margin:0;color:var(--muted)}

/* agents */
.agent-tile{display:block;text-decoration:none;color:var(--ink)}
.agent-photo{position:relative;aspect-ratio:3/3.7;border-radius:999px 999px var(--r-md) var(--r-md);overflow:hidden;background:var(--mist);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:3.2rem;color:var(--brand)}
.agent-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.agent-tile:hover .agent-photo img{transform:scale(1.04)}
.agent-info{padding:.9rem .2rem 0}
.agent-info h3{font-size:1.15rem;margin:0}
.agent-info .role{color:var(--brand);font-weight:600;font-size:.9rem}
.agent-info .meta{color:var(--muted);font-size:.86rem;margin-top:.15rem}
.agent-links{display:flex;gap:.45rem;margin-top:.8rem}
.agent-links a{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);text-decoration:none;font-size:.95rem;transition:.15s}
.agent-links a:hover{background:var(--brand);border-color:var(--brand);color:#fff}

/* testimonials */
.quote-lead{background:var(--deep-2);color:#fff;border-radius:var(--r-lg);padding:2.4rem 2.4rem 2rem;height:100%;position:relative;overflow:hidden}
.quote-lead::after{content:"";position:absolute;right:-40px;bottom:-60px;width:210px;height:280px;border-radius:999px 999px 0 0;border:1px solid rgba(255,255,255,.14)}
.quote-lead blockquote{font-family:var(--font-display);font-size:clamp(1.3rem,2.2vw,1.75rem);line-height:1.35;margin:0 0 1.6rem;position:relative;max-width:34ch}
.quote-lead .who{display:flex;align-items:center;gap:.7rem;position:relative}
.quote-lead .avatar{background:var(--gold);color:#2a1c04}
.quote-lead small{color:rgba(255,255,255,.7)}
.quote-side{padding:1.5rem 0;border-top:1px solid var(--line)}
.quote-side:first-child{border-top:0;padding-top:0}
.quote-side p{margin:0 0 .9rem}
.rating{color:var(--gold-dark);font-size:.85rem;letter-spacing:.1em}

/* cta */
.cta{position:relative;background:var(--deep);color:#fff;padding:5rem 0;overflow:hidden}
.cta::before{content:"";position:absolute;right:8%;bottom:-2px;width:240px;height:320px;border-radius:999px 999px 0 0;background:rgba(255,255,255,.05)}
.cta::after{content:"";position:absolute;right:calc(8% + 190px);bottom:-2px;width:170px;height:230px;border-radius:999px 999px 0 0;background:rgba(232,163,61,.18)}
.cta .container{position:relative;z-index:1}
.cta h2{color:#fff;font-size:clamp(1.9rem,3.6vw,2.9rem);max-width:18ch}
.cta p{color:rgba(255,255,255,.78);margin:1rem 0 1.8rem;font-size:1.08rem}

/* generic cards used on inner pages */
.feature-card,.testi-card,.agent-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:1.5rem;position:relative}
.feature-card>i{font-size:1.5rem;color:var(--brand);background:var(--mist);width:52px;height:52px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.stat-num{font-family:var(--font-display);font-size:2.1rem;color:var(--brand)}
.chip{display:inline-block;background:var(--mist);border-radius:99px;padding:.3rem .85rem;font-size:.84rem;text-decoration:none;color:var(--ink);transition:.15s}.chip:hover{background:var(--brand);color:#fff}

/* footer */
.rp-footer{background:var(--deep);color:#b7c6c3}
.rp-footer a{color:#b7c6c3;text-decoration:none}.rp-footer a:hover{color:#fff}.rp-footer li{margin-bottom:.5rem}
.rp-footer .brand-mark{color:#fff}.rp-footer .brand-arch{color:var(--gold)}
.rp-footer h2.foot-h{font-family:var(--font-body);font-size:.95rem;font-weight:600;color:#fff;letter-spacing:0;margin-bottom:1rem}
.foot-social{display:flex;gap:.55rem}
.foot-social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:.15s}
.foot-social a:hover{background:var(--gold);border-color:var(--gold);color:#2a1c04}
.foot-base{border-top:1px solid rgba(255,255,255,.12)}

@media(max-width:991.98px){
  .hero{padding-top:3rem}
  .hero-grid{grid-template-columns:1fr;gap:2rem}
  .hero-art{height:340px;max-width:460px;width:100%;margin:0 auto}
  .hero h1{max-width:16ch}
  .skyline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .loc-arch:nth-child(n){min-height:260px}.loc-arch:nth-child(2n){min-height:310px}
  .section{padding:4rem 0}.hero+.section{padding-top:9rem}
  .page-hero::after{display:none}
}
@media(max-width:575.98px){
  .hero-art{height:290px}.hero-price{max-width:190px;left:0}
  .search-card{padding:1.1rem 1rem 1.2rem}.hero-search{margin-bottom:-6rem}
  .quote-lead{padding:1.8rem 1.4rem}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important;animation:none!important}}

/* ---- Phase 4: listing, details, compare ---- */
.icon-btn.on{background:var(--brand);color:#fff}
.prop-ribbon{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-12deg);background:rgba(15,23,42,.88);color:#fff;font-weight:800;letter-spacing:.15em;padding:.4rem 1.4rem;border-radius:.4rem;text-transform:uppercase;pointer-events:none}
.prop-ribbon.lg{font-size:1.6rem;padding:.6rem 2.4rem}
.filter-card{background:#fff;border:1px solid #e2e8f0;border-radius:var(--radius);padding:1.1rem}
.filter-card summary{cursor:pointer}
.results-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}
.res-col{display:flex}.res-col>.prop-card{width:100%}
.view-list .res-col{flex:0 0 100%;max-width:100%;width:100%}
@media(min-width:768px){
  .view-list .prop-card{display:flex}
  .view-list .prop-media{flex:0 0 38%;aspect-ratio:auto;min-height:220px}
  .view-list .prop-card>.prop-body{flex:1;display:flex;flex-direction:column;justify-content:center}
}
.sk{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 37%,#e2e8f0 63%);background-size:400% 100%;animation:sk 1.3s ease infinite;border-radius:.4rem}
.sk-img{aspect-ratio:4/3;border-radius:0}.sk-line{height:14px;margin-bottom:.7rem}
@keyframes sk{0%{background-position:100% 50%}100%{background-position:0 50%}}
.compare-bar{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);z-index:1040;background:#0f172a;color:#fff;border-radius:99px;padding:.6rem 1rem .6rem 1.2rem;display:flex;align-items:center;gap:1.2rem;box-shadow:0 12px 30px -8px rgba(0,0,0,.5)}
.compare-bar.d-none{display:none!important}
.gallery .carousel{position:relative}.gallery-img{aspect-ratio:16/10;object-fit:cover;cursor:zoom-in}
.gallery-fs{position:absolute;right:1rem;bottom:1rem;z-index:3}
.thumbs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem}
.thumb{border:2px solid transparent;border-radius:.6rem;padding:0;background:none;flex:0 0 96px;overflow:hidden;opacity:.7}
.thumb.active{border-color:var(--brand);opacity:1}.thumb img{width:100%;height:64px;object-fit:cover;display:block}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}
.fact{display:flex;gap:.7rem;align-items:center;background:var(--soft);border-radius:.8rem;padding:.75rem .9rem}.fact>i{font-size:1.3rem;color:var(--brand)}
.amenity{background:#fff;border:1px solid #e2e8f0;border-radius:.7rem;padding:.55rem .8rem;font-size:.9rem}.amenity i{color:var(--brand);margin-right:.35rem}
.prop-map{height:340px;border:1px solid #e2e8f0}
.sticky-side{position:sticky;top:5.5rem}
.grid-2{grid-template-columns:1fr 1fr}
.inq-tabs .nav-link{color:var(--ink);font-weight:600;font-size:.85rem}.inq-tabs .nav-link.active{background:var(--brand)}
.fs-img{max-width:100%;max-height:100vh;object-fit:contain}
.compare-table th,.compare-table td{min-width:170px;vertical-align:middle}.compare-table thead th{vertical-align:top}
@media(max-width:991px){.sticky-side{position:static}.compare-bar{width:calc(100% - 1.5rem)}}
/* ---- customer account ---- */
.acct-nav{background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:60px;z-index:20}
.acct-nav ul{list-style:none;display:flex;gap:.25rem;margin:0;padding:.4rem 0;overflow-x:auto;align-items:center}
.acct-nav a,.acct-nav .disabled{display:inline-flex;gap:.4rem;align-items:center;padding:.5rem .9rem;border-radius:99px;color:#475569;text-decoration:none;white-space:nowrap;font-size:.92rem}
.acct-nav a:hover{background:var(--soft)}.acct-nav a.active{background:var(--brand);color:#fff}.acct-nav .disabled{opacity:.5;cursor:not-allowed}.acct-nav small{font-size:.65rem;border:1px solid #cbd5e1;border-radius:99px;padding:0 .35rem}
.acct-stat{display:block;background:#fff;border:1px solid #e2e8f0;border-radius:var(--radius);padding:1.1rem;text-decoration:none;color:var(--ink)}.acct-stat i{font-size:1.4rem;color:var(--brand)}.acct-stat .num{font-size:1.8rem;font-weight:800}
.acct-stat:hover{border-color:var(--brand)}

/* ---- Phase 9: notifications bell + messaging ---- */
.bell-btn{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
.bell-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#dc2626;color:#fff;font-size:.68rem;font-weight:700;line-height:18px;text-align:center}
.bell-menu{width:360px;max-width:92vw;border-radius:1rem;overflow:hidden}
.bell-list{max-height:380px;overflow-y:auto}
.notif-row{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem 1rem;text-decoration:none;color:#0f172a;border-bottom:1px solid #f1f5f9;position:relative;cursor:pointer}
.notif-row:hover{background:#f8fafc;color:#0f172a}.notif-row.unread{background:#f0fdfa}
.notif-ico{flex:0 0 36px;height:36px;border-radius:50%;background:#e2e8f0;color:#475569;display:inline-flex;align-items:center;justify-content:center}
.notif-row.unread .notif-ico{background:#ccfbf1;color:#0f766e}
.notif-body{display:flex;flex-direction:column;min-width:0;flex:1}.notif-title{font-weight:600;font-size:.9rem}
.notif-text{color:#64748b;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.notif-time{color:#94a3b8;font-size:.75rem;margin-top:.15rem}
.notif-dot{width:9px;height:9px;border-radius:50%;background:#0f766e;margin-top:.4rem;flex:0 0 9px}
.side-badge{margin-left:auto;background:#dc2626;color:#fff;border-radius:99px;font-size:.7rem;padding:.05rem .45rem;font-weight:700}
.msg-app{display:grid;grid-template-columns:320px 1fr;background:#fff;border:1px solid #e2e8f0;border-radius:1rem;overflow:hidden;height:calc(100vh - 210px);min-height:440px}
.msg-list{border-right:1px solid #e2e8f0;overflow-y:auto}
.conv-item{display:flex;gap:.7rem;align-items:center;padding:.8rem 1rem;text-decoration:none;color:#0f172a;border-bottom:1px solid #f1f5f9}
.conv-item:hover{background:#f8fafc;color:#0f172a}.conv-item.active{background:#f0fdfa}
.conv-main{display:flex;flex-direction:column;min-width:0;flex:1}.conv-name{font-weight:600;font-size:.92rem}
.conv-last{color:#64748b;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;color:#94a3b8}
.conv-unread{background:#0f766e;color:#fff;border-radius:99px;font-size:.7rem;padding:.05rem .45rem}
.msg-pane{display:flex;flex-direction:column;min-width:0;min-height:0}
.msg-head{padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;display:flex;gap:.6rem;align-items:center}
.msg-thread{flex:1;overflow-y:auto;padding:1rem;background:#f8fafc;display:flex;flex-direction:column;gap:.5rem}
.msg-row{display:flex}.msg-row.mine{justify-content:flex-end}
.msg-bubble{max-width:75%;padding:.55rem .8rem;border-radius:1rem;background:#fff;border:1px solid #e2e8f0;word-wrap:break-word;overflow-wrap:anywhere}
.msg-row.mine .msg-bubble{background:#0f766e;color:#fff;border-color:#0f766e}
.msg-text{white-space:pre-wrap}.msg-time{font-size:.7rem;opacity:.65;margin-top:.15rem}
.msg-ctx{display:block;font-size:.75rem;opacity:.85;color:inherit;margin-bottom:.2rem}
.msg-form{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid #e2e8f0;align-items:flex-end}
.msg-form textarea{resize:none;max-height:140px}
@media (max-width:767.98px){.msg-app{grid-template-columns:1fr;height:calc(100vh - 190px)}.msg-app.has-thread .msg-list{display:none}.msg-app:not(.has-thread) .msg-pane{display:none}.msg-bubble{max-width:88%}}

/* ---- Premium polish layer for listing / detail / account ---- */
.filter-card{background:var(--paper);border:0;border-radius:var(--r-md);padding:1.3rem}
.filter-card .form-control,.filter-card .form-select{background-color:#fff}
.results-bar{padding-bottom:1rem;border-bottom:1px solid var(--line);margin-bottom:1.5rem}
.view-list .prop-card>.prop-body{padding:.4rem 0 0 1.3rem}
.prop-ribbon{background:rgba(8,38,43,.88);letter-spacing:.12em;font-family:var(--font-body)}
.gallery .carousel-inner{border-radius:var(--r-lg)!important}
.gallery-img{aspect-ratio:16/10}
.thumb{border-radius:var(--r-sm)}.thumb.active{border-color:var(--gold)}
.facts .fact{background:var(--paper);border-radius:var(--r-md)}
.amenity{border-color:var(--line);border-radius:var(--r-sm)}
.prop-map{border-radius:var(--r-md)!important}
.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--brand)}
.sticky-side .feature-card{border-radius:var(--r-lg);box-shadow:var(--shadow-float);border-color:transparent}
.inq-tabs .nav-link.active{background:var(--brand)}
.compare-bar{background:var(--deep)}
.acct-nav{border-bottom-color:var(--line)}.acct-nav a.active{background:var(--brand)}
.acct-stat{border-color:var(--line);border-radius:var(--r-md)}.acct-stat .num{font-family:var(--font-display);font-weight:400}
.pagination .page-link{color:var(--ink);border-radius:var(--r-sm);margin:0 .15rem;border-color:var(--line)}
.pagination .active .page-link{background:var(--brand);border-color:var(--brand);color:#fff}
.card-x{border-radius:var(--r-md)}

/* ===== Polish pass (Phase 13) ===== */
html,body{min-height:100%}
body{display:flex;flex-direction:column;min-height:100vh}
main{flex:1 0 auto}
.rp-footer{margin-top:-1px;flex-shrink:0}
.prop-price,.stat-num,.hero-price b{font-variant-numeric:lining-nums tabular-nums}
.prop-card{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.prop-card:hover{transform:translateY(-4px)}
.prop-media{box-shadow:0 18px 32px -24px rgba(8,38,43,.55)}
.prop-media::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(to top,rgba(8,38,43,.38),transparent);pointer-events:none}
.prop-meta span{background:var(--paper);border-radius:99px;padding:.25rem .65rem}
.prop-actions .icon-btn{backdrop-filter:blur(6px)}
.feature-card{transition:box-shadow .25s,transform .25s}
a.feature-card:hover,.feature-card:hover{box-shadow:0 22px 40px -28px rgba(8,38,43,.45)}
.page-hero h1{letter-spacing:-.02em}
.btn-brand{box-shadow:0 10px 20px -12px rgba(12,93,89,.7)}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:1030;display:flex;gap:.6rem;padding:.7rem .9rem calc(.7rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -12px 30px -18px rgba(8,38,43,.45)}
.mobile-cta .btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px}
.mobile-cta .btn:not(.flex-grow-1){width:48px;padding:0}
@media(max-width:991px){body:has(.mobile-cta) .rp-footer{padding-bottom:5rem}body:has(.mobile-cta) .compare-bar{bottom:5rem}}
@media(hover:none){.prop-card:hover{transform:none}}

/* city arches with photo */
.loc-arch .loc-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.loc-arch.has-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,38,43,.85) 8%,rgba(8,38,43,.15) 60%);z-index:1}
.loc-arch.has-photo:hover .loc-photo{transform:scale(1.06)}
.loc-arch .loc-name,.loc-arch .loc-count{position:relative;z-index:2}
.loc-arch::before{z-index:2}

/* Fix: hero search card overlaps the next section; clip decorative arches on top/left/right only */
.hero{overflow:visible;clip-path:inset(0 0 -14rem 0)}
@supports not (clip-path:inset(0)){.hero{overflow:hidden}}

/* ===== Premium home: photo hero, price-on-photo cards, steps ===== */
.hero-photo{padding:6.5rem 0 0;min-height:640px;background:var(--deep)}
.hero-photo::before,.hero-photo::after{display:none}
.hero-bg{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;transform-origin:70% 40%;animation:heroSettle 2.4s cubic-bezier(.2,.7,.2,1) both}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,38,43,.94) 0%,rgba(8,38,43,.74) 42%,rgba(8,38,43,.3) 100%),linear-gradient(to top,rgba(8,38,43,.85) 0%,transparent 45%)}
@keyframes heroSettle{from{transform:scale(1.12)}to{transform:scale(1)}}
.hero-photo .hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end}
.hero-photo h1{font-size:clamp(2.7rem,5.8vw,5rem);max-width:12ch;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.hero-feature{justify-self:end;width:100%;max-width:340px;display:flex;flex-direction:column;gap:.45rem;padding:1.4rem 1.5rem;border-radius:var(--r-lg);color:#fff;text-decoration:none;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 30px 60px -30px rgba(0,0,0,.6);transition:background .25s,transform .25s;animation:heroRise 1s .5s cubic-bezier(.2,.7,.2,1) both}
.hero-feature:hover{background:rgba(255,255,255,.2);color:#fff;transform:translateY(-3px)}
.hf-tag{font-size:.85rem;color:rgba(255,255,255,.8)}
.hf-price{font-family:var(--font-display);font-weight:400;font-size:2.2rem;line-height:1.05;font-variant-numeric:lining-nums tabular-nums}
.hf-price small{font-family:var(--font-body);font-size:.9rem;opacity:.8}
.hf-title{font-weight:600;line-height:1.3}
.hf-meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.88rem;color:rgba(255,255,255,.85)}
.hf-link{margin-top:.5rem;font-weight:600;color:var(--gold)}
@keyframes heroRise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.hero-photo .hero-search{margin-top:3.5rem}
@media(max-width:991px){.hero-photo{padding-top:4rem;min-height:0}.hero-photo .hero-grid{grid-template-columns:1fr}.hero-bg::after{background:linear-gradient(to top,rgba(8,38,43,.92),rgba(8,38,43,.6))}}
@media(prefers-reduced-motion:reduce){.hero-bg img,.hero-feature{animation:none!important}}

/* price sits on the photo */
.prop-tag{position:absolute;left:.9rem;bottom:.8rem;z-index:2;color:#fff}
.prop-tag .prop-price{color:#fff;font-size:1.55rem;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.prop-tag .prop-price small{color:rgba(255,255,255,.85)}
.prop-body{padding-top:.9rem}
.prop-title{margin-top:0}

/* steps (a real sequence) */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;counter-reset:s}
.step{position:relative;padding-top:1.2rem;border-top:2px solid var(--ink)}
.step-n{display:block;font-family:var(--font-display);font-size:3.6rem;line-height:1;color:var(--gold-dark);margin-bottom:.6rem}
.step h3{font-size:1.35rem;margin:0 0 .4rem}
.step p{color:var(--muted);margin:0;max-width:34ch}
@media(max-width:767px){.steps{grid-template-columns:1fr;gap:1.8rem}.step-n{font-size:2.8rem}}

/* ===== Inner pages: deep teal page header ===== */
.page-hero{background:radial-gradient(120% 140% at 85% 0%,#0f4a4f 0%,var(--deep-2) 45%,var(--deep) 100%);border-bottom:0;padding:4rem 0 3.4rem;color:#fff}
.page-hero h1{color:#fff;font-size:clamp(2.2rem,4.6vw,3.6rem)}
.page-hero p{color:rgba(255,255,255,.78)}
.page-hero::after{border-color:rgba(255,255,255,.18);box-shadow:inset 0 0 0 10px var(--deep-2),inset 0 0 0 11px rgba(255,255,255,.12);width:170px;height:230px;top:14%}
.page-hero::before{content:"";position:absolute;right:calc(6% + 110px);bottom:-1px;width:120px;height:150px;border-radius:999px 999px 0 0;background:rgba(232,163,61,.2)}

/* ===== Property detail ===== */
.pd-title{font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.1;letter-spacing:-.02em}
.pd-price{font-family:var(--font-display);font-size:clamp(2rem,3.6vw,2.9rem);line-height:1;color:var(--brand);font-variant-numeric:lining-nums tabular-nums}
.pd-badge{border:1px solid var(--line);background:var(--paper);margin-right:.25rem}
.pd-badge.feat{background:var(--gold);border-color:var(--gold)}
.pd-id{color:var(--muted)}
.pd-h{font-size:clamp(1.4rem,2.4vw,1.8rem);margin-bottom:1rem}
.pd-desc{font-size:1.05rem;line-height:1.8;color:#3d5553}
.pd-desc p{max-width:68ch}
.gallery .carousel-inner{box-shadow:0 30px 60px -36px rgba(8,38,43,.6)}
.gallery-img{aspect-ratio:16/9.6;max-height:600px}
.gallery-fs{background:rgba(255,255,255,.92);border:0;font-weight:600;box-shadow:0 8px 20px -10px rgba(0,0,0,.5)}
.gallery .carousel-control-prev,.gallery .carousel-control-next{width:14%}
.gallery .carousel-control-prev-icon,.gallery .carousel-control-next-icon{background-color:rgba(8,38,43,.55);border-radius:50%;padding:1.2rem;background-size:45%}
.thumb{flex-basis:110px}.thumb img{height:72px}
.facts{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.9rem}
.facts .fact{background:#fff;border:1px solid var(--line);padding:.95rem 1rem}
.facts .fact>i{width:42px;height:42px;border-radius:50%;background:var(--mist);display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem}
.amenity{background:var(--paper);border-color:transparent;padding:.7rem .9rem}
.sticky-side{top:6rem}

/* ===== Listing: sticky filters ===== */
@media(min-width:992px){
  #filterPanel{position:sticky;top:5.5rem;max-height:calc(100vh - 6.5rem);overflow:auto;border-radius:var(--r-md)}
}
.filter-card .form-label{color:var(--muted)}
.filter-card strong{font-family:var(--font-display);font-weight:400;font-size:1.2rem}

/* ===== Agents ===== */
.agent-photo:not(:has(img)){background:linear-gradient(165deg,var(--brand) 0%,var(--deep-2) 100%);color:#fff}
.agent-photo:not(:has(img))::after{content:"";position:absolute;inset:10px;border-radius:999px 999px calc(var(--r-md) - 6px) calc(var(--r-md) - 6px);border:1px solid rgba(255,255,255,.25)}
.agent-tile{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.agent-tile:hover{transform:translateY(-4px)}
@media(hover:none){.agent-tile:hover{transform:none}}

/* ===== Navbar over hero (home only) ===== */
.rp-nav{transition:background .3s,box-shadow .3s,border-color .3s}
.rp-nav:not(.is-top){box-shadow:0 10px 30px -22px rgba(8,38,43,.5)}
.rp-nav-home{position:fixed;top:0;left:0;right:0;z-index:1030}
.rp-nav-home.is-top{background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.rp-nav-home.is-top .brand-mark,.rp-nav-home.is-top .nav-link{color:#fff}
.rp-nav-home.is-top .nav-link:hover{color:var(--gold)}
.rp-nav-home.is-top .nav-link.active{color:#fff}
.rp-nav-home.is-top .brand-arch{color:var(--gold)}
.rp-nav-home.is-top .navbar-toggler{color:#fff}
.rp-nav-home.is-top .btn-outline-secondary{--bs-btn-color:#fff;--bs-btn-border-color:rgba(255,255,255,.55);color:#fff;border-color:rgba(255,255,255,.55)}
.rp-nav-home.is-top:has(.navbar-collapse.show){background:var(--deep)}
@media(max-width:991px){.rp-nav-home .navbar-collapse{padding:.6rem 0}}

/* ===== Contact ===== */
.contact-panel{position:relative;overflow:hidden;background:linear-gradient(165deg,var(--deep-2),var(--deep));color:#fff;border-radius:var(--r-lg);padding:2.2rem 2rem;box-shadow:var(--shadow-float)}
.contact-panel::after{content:"";position:absolute;right:-30px;bottom:-2px;width:170px;height:220px;border-radius:999px 999px 0 0;border:1px solid rgba(255,255,255,.15);pointer-events:none}
.contact-panel h2{color:#fff;font-size:clamp(1.6rem,2.6vw,2.1rem)}
.contact-panel p{color:rgba(255,255,255,.75)}
.contact-panel li{display:flex;align-items:flex-start;gap:.9rem;margin-bottom:1.1rem;color:rgba(255,255,255,.88)}
.contact-panel li>i{flex:none;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--gold)!important;display:inline-flex;align-items:center;justify-content:center;margin:0!important}
.contact-panel a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}.contact-panel a:hover{border-color:var(--gold);color:var(--gold)}
form.feature-card{box-shadow:0 30px 60px -40px rgba(8,38,43,.45);padding:2rem}

/* ===== Footer ===== */
.rp-footer{border-top:4px solid var(--gold)}
.foot-social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;margin-right:.45rem;transition:.2s}
.foot-social a:hover{background:var(--gold);border-color:var(--gold);color:#2a1c04}

/* ===== EMI calculator ===== */
.emi{display:grid;grid-template-columns:1fr 1fr;gap:2rem;background:var(--paper);border-radius:var(--r-lg);padding:1.8rem}
.emi-row{margin-bottom:1.3rem}.emi-row:last-child{margin-bottom:0}
.emi-row label{display:flex;justify-content:space-between;gap:1rem;font-weight:600;font-size:.92rem;margin-bottom:.5rem}
.emi-row output{font-weight:500;color:var(--brand);font-variant-numeric:tabular-nums}
.emi input[type=range]{width:100%;height:28px;accent-color:var(--brand);cursor:pointer}
.emi-result{background:var(--deep-2);color:#fff;border-radius:var(--r-md);padding:1.4rem 1.5rem}
.emi-label{font-size:.88rem;color:rgba(255,255,255,.75)}
.emi-amount{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.8rem);line-height:1.1;margin:.2rem 0 1rem;font-variant-numeric:lining-nums tabular-nums}
.emi-bar{height:10px;border-radius:99px;background:var(--gold);overflow:hidden}
.emi-bar span{display:block;height:100%;background:#fff;border-radius:99px 0 0 99px;transition:width .25s}
.emi-split{margin:1rem 0 0;display:grid;gap:.6rem}
.emi-split>div{display:flex;justify-content:space-between;gap:1rem;font-size:.92rem}
.emi-split dt{font-weight:400;color:rgba(255,255,255,.8);display:flex;align-items:center;gap:.45rem}
.emi-split dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.emi-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.emi-dot.p{background:#fff}.emi-dot.i{background:var(--gold)}
.emi-note{grid-column:1/-1;margin:0;font-size:.82rem;color:var(--muted)}
@media(max-width:767px){.emi{grid-template-columns:1fr;gap:1.4rem;padding:1.2rem}}

/* ===== Listing: results bar, chips, skeletons ===== */
.results-bar{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:.7rem .9rem;margin-bottom:1rem;box-shadow:0 12px 26px -22px rgba(8,38,43,.5)}
.res-count{font-family:var(--font-display);font-weight:400;font-size:1.5rem;color:var(--ink);font-variant-numeric:tabular-nums}
.results-bar .form-select-sm,.results-bar .btn-sm{border-radius:99px;padding-left:.9rem;padding-right:.9rem}
.results-bar .btn-group .btn{border-radius:0}
.results-bar .btn-group .btn:first-child{border-radius:99px 0 0 99px;padding-left:.9rem}
.results-bar .btn-group .btn:last-child{border-radius:0 99px 99px 0;padding-right:.9rem}
.results-bar .btn-group .btn.active{background:var(--brand);border-color:var(--brand);color:#fff}
.active-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.1rem}
.active-chips:empty{display:none}
.chip-x{border:1px solid var(--line);background:var(--mist);color:var(--ink);border-radius:99px;padding:.3rem .8rem;font-size:.84rem;font-weight:500;cursor:pointer;transition:.15s}
.chip-x i{font-size:.65rem;margin-left:.25rem;opacity:.7}
.chip-x:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.sk{background:linear-gradient(90deg,var(--mist) 25%,#f3f6f3 40%,var(--mist) 65%);background-size:400% 100%;animation:sk 1.4s ease infinite;border-radius:var(--r-sm)}
.sk-card .sk-img{aspect-ratio:4/3.15;border-radius:var(--r-md)}
.sk-line{height:14px;margin-bottom:.65rem}.sk-price{height:24px;width:42%}
.sk-pill{height:26px;width:72px;border-radius:99px}
@keyframes sk{0%{background-position:100% 0}100%{background-position:0 0}}
@media(max-width:575px){.results-bar{padding:.6rem}.res-count{font-size:1.25rem}}

/* ===== Detail polish from live review ===== */
.gallery{position:relative}
.pd-actions{position:absolute;top:1rem;right:1rem;z-index:4;display:flex;gap:.5rem}
.pd-actions .icon-btn{background:rgba(255,255,255,.94);border:0;box-shadow:0 8px 20px -10px rgba(0,0,0,.55);width:42px;height:42px}
.pd-actions .dropdown-menu{border:0;border-radius:var(--r-sm);box-shadow:var(--shadow-float)}
.pd-price{margin-top:.2rem}
.facts{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.facts .fact{min-height:76px}

/* ===== Listing map view ===== */
.list-map{height:min(72vh,680px);min-height:380px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(8,38,43,.5);margin-bottom:1.2rem;position:relative}
.list-map.is-empty::after{content:"None of these properties have a map location yet.";position:absolute;inset:auto 1rem 1rem 1rem;z-index:500;background:#fff;border-radius:var(--r-sm);padding:.7rem 1rem;font-size:.9rem;color:var(--muted);box-shadow:var(--shadow-float);text-align:center}
.map-pin-wrap{background:none;border:0}
.map-pin{position:absolute;transform:translate(-50%,-50%);background:var(--brand);color:#fff;font:600 .8rem/1 var(--font-body);padding:.42rem .7rem;border-radius:99px;border:2px solid #fff;box-shadow:0 8px 16px -6px rgba(8,38,43,.6);white-space:nowrap;transition:transform .15s,background .15s}
.map-pin-wrap:hover .map-pin,.leaflet-marker-icon:focus .map-pin{background:var(--deep);transform:translate(-50%,-50%) scale(1.1)}
.leaflet-popup-content-wrapper{border-radius:var(--r-md);padding:0;overflow:hidden}
.leaflet-popup-content{margin:0!important;width:220px!important}
.map-card{display:block;text-decoration:none;color:var(--ink)}
.map-card img{display:block;width:100%;height:120px;object-fit:cover}
.map-card strong{display:block;font-family:var(--font-display);font-weight:400;font-size:1.2rem;padding:.6rem .8rem 0}
.map-card span{display:block;font-weight:600;font-size:.88rem;padding:.1rem .8rem 0;line-height:1.3}
.map-card small{display:block;color:var(--muted);padding:.1rem .8rem .7rem}

/* ===== Detail map: branded pin + popup ===== */
.prop-map{border-radius:var(--r-lg)!important;border:1px solid var(--line)!important;box-shadow:0 30px 60px -40px rgba(8,38,43,.5)}
.prop-pin-wrap{background:none;border:0}
.prop-pin{display:block;width:44px;height:54px;filter:drop-shadow(0 8px 8px rgba(8,38,43,.35))}
.pin-pop{padding:.15rem .1rem;max-width:230px}
.pin-pop strong{display:block;font-weight:600;line-height:1.3;color:var(--ink)}
.pin-pop span{display:block;color:var(--muted);font-size:.85rem;margin-top:.15rem}
.leaflet-popup-content-wrapper{border-radius:var(--r-md);box-shadow:var(--shadow-float)}
.leaflet-container{font-family:var(--font-body)}
.prop-map+p{max-width:none}

/* ===== Owner listings ===== */
.own-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem;margin-bottom:1.2rem;box-shadow:0 20px 40px -34px rgba(8,38,43,.45)}
.own-card h2{font-size:1.35rem;margin-bottom:1rem}
.own-card .btn-group .btn{padding:.7rem 1rem;font-weight:600}
.own-card .btn-check:checked+.btn{background:var(--brand);border-color:var(--brand);color:#fff}
.pick-map{height:340px;border-radius:var(--r-md);border:1px solid var(--line);overflow:hidden}
.pick-pin{background:none;border:0}.pick-pin svg{display:block;width:40px;height:50px;filter:drop-shadow(0 6px 6px rgba(8,38,43,.35))}
.own-photos{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}
.own-photo{position:relative;width:110px;height:84px;border-radius:var(--r-sm);overflow:hidden;background:var(--mist)}
.own-photo img{width:100%;height:100%;object-fit:cover}
.own-photo-del{position:absolute;top:4px;right:4px;width:26px;height:26px;border:0;border-radius:50%;background:rgba(8,38,43,.8);color:#fff;font-size:.7rem;cursor:pointer}
.own-list{display:grid;gap:1rem}
.own-item{display:grid;grid-template-columns:150px 1fr auto;gap:1.2rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:.8rem;box-shadow:0 18px 36px -32px rgba(8,38,43,.5)}
.own-thumb{display:block;aspect-ratio:4/3;border-radius:var(--r-sm);overflow:hidden;background:var(--mist)}
.own-thumb img{width:100%;height:100%;object-fit:cover}
.own-title{font-family:var(--font-body);font-weight:600;font-size:1.05rem;margin:.35rem 0 .2rem;letter-spacing:0}
.own-status{display:inline-block;font-size:.76rem;font-weight:600;padding:.2rem .65rem;border-radius:99px}
.st-pending{background:#fff1d6;color:#7a5200}.st-live{background:#d9f1e6;color:#0b5a3b}.st-draft{background:var(--mist);color:var(--muted)}.st-closed{background:#e3e8ee;color:#3b4a5a}
.own-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}
@media(max-width:767px){.own-item{grid-template-columns:96px 1fr}.own-actions{grid-column:1/-1;justify-content:flex-start}.own-card{padding:1.2rem}}

/* map search suggestions */
.pick-suggest{position:absolute;left:0;right:0;z-index:1100;margin:-.35rem 0 0;padding:.3rem;list-style:none;background:#fff;border:1px solid #dde4de;border-radius:12px;box-shadow:0 20px 40px -18px rgba(8,38,43,.45);max-height:260px;overflow:auto}
.pick-suggest li{padding:.55rem .7rem;border-radius:8px;cursor:pointer;font-size:.92rem;line-height:1.35}
.pick-suggest li i{color:#0c5d59;margin-right:.2rem}
.pick-suggest li:hover,.pick-suggest li.active{background:#e8eee9}

/* hero location type-ahead */
.loc-field{position:relative}
.loc-field .pick-suggest{top:100%;margin-top:.35rem;min-width:260px;text-align:left;z-index:1200}
.loc-field .pick-suggest li{display:flex;align-items:baseline;gap:.15rem;flex-wrap:wrap}
@media(max-width:575.98px){.loc-field .pick-suggest{min-width:0;right:-.5rem}}

/* hero tabs: each tab has its own background, headline and feature card */
.hero-photo .hero-bg{opacity:0;transition:opacity .7s ease;pointer-events:none}
.hero-photo .hero-bg.is-on{opacity:1}
.hero-bg[data-bg="rent"]::after{background:linear-gradient(90deg,rgba(11,45,60,.94) 0%,rgba(11,45,60,.72) 42%,rgba(11,45,60,.28) 100%),linear-gradient(to top,rgba(8,38,43,.85) 0%,transparent 45%)}
.hero-bg[data-bg="commercial"]::after{background:linear-gradient(90deg,rgba(38,28,10,.95) 0%,rgba(38,28,10,.74) 42%,rgba(38,28,10,.3) 100%),linear-gradient(to top,rgba(20,15,6,.85) 0%,transparent 45%)}
.hero-bg[data-bg="plots"]::after{background:linear-gradient(90deg,rgba(16,44,24,.95) 0%,rgba(16,44,24,.72) 42%,rgba(16,44,24,.28) 100%),linear-gradient(to top,rgba(10,30,16,.85) 0%,transparent 45%)}
/* no listing photo for a tab yet: tinted artwork built from the brand arch */
.hero-bg.is-art[data-bg="rent"]{background:linear-gradient(135deg,#0b2d3c,#14607a)}
.hero-bg.is-art[data-bg="commercial"]{background:linear-gradient(135deg,#2a2010,#6b4f1c)}
.hero-bg.is-art[data-bg="plots"]{background:linear-gradient(135deg,#12301b,#3f6a2c)}
.hero-bg.is-art[data-bg="buy"]{background:linear-gradient(135deg,#08262b,#0c5d59)}
.art-arch{position:absolute;bottom:0;border-radius:999px 999px 0 0;border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05)}
.art-arch.a1{right:6%;width:230px;height:62%}
.art-arch.a2{right:calc(6% + 120px);width:170px;height:46%;opacity:.8}
.art-arch.a3{right:calc(6% + 250px);width:120px;height:32%;opacity:.6}
@media(max-width:991px){.art-arch{display:none}}
.hero-grid .hero-feature[data-feature]{display:none!important}
@media(min-width:992px){.hero-grid .hero-feature[data-feature].is-on{display:flex!important}}
.hero-photo h1,.hero-photo .hero-sub{transition:opacity .18s ease,transform .18s ease}
.hero-photo .is-swap{opacity:0;transform:translateY(6px)}
.search-tabs{overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.search-tabs::-webkit-scrollbar{display:none}
@media(prefers-reduced-motion:reduce){.hero-photo .hero-bg,.hero-photo h1,.hero-photo .hero-sub{transition:none}}

/* hero budget picker */
.budget-field{position:relative}
.budget-btn{background-image:none;position:relative;padding-right:2rem;cursor:pointer}
.budget-btn::after{content:"";position:absolute;right:.9rem;top:50%;width:.5rem;height:.5rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);opacity:.6}
.budget-btn[aria-expanded="true"]{box-shadow:0 0 0 3px rgba(12,93,89,.16)}
.budget-pop{position:absolute;left:0;top:100%;margin-top:.4rem;z-index:1200;width:290px;max-width:calc(100vw - 2rem);background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 48px -20px rgba(8,38,43,.5);padding:.8rem}
.budget-pair{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.6rem}
.budget-pair .bp{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.35rem .8rem;text-align:left;line-height:1.15;display:flex;flex-direction:column}
.budget-pair .bp small{font-size:.68rem;color:var(--muted)}
.budget-pair .bp b{font-size:.9rem;font-weight:600}
.budget-pair .bp.active{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.budget-list{list-style:none;margin:0;padding:0;max-height:240px;overflow:auto}
.budget-list li{padding:.55rem .6rem;border-radius:8px;cursor:pointer;font-size:.93rem;color:var(--ink)}
.budget-list li:hover{background:var(--mist)}
.budget-list li.sel{background:var(--mist);font-weight:600;color:var(--brand)}
@media(max-width:575.98px){.budget-pop{width:280px}}

/* plots / commercial: bedrooms do not apply, so Area (sq ft) takes that slot */
.search-card .col-area{display:none}
.search-card[data-mode="commercial"] .col-beds,.search-card[data-mode="plots"] .col-beds{display:none}
.search-card[data-mode="commercial"] .col-area,.search-card[data-mode="plots"] .col-area{display:block}

/* navbar over the hero: soft scrim instead of bare transparency, cleaner logo and buttons */
.rp-nav-home.is-top{background:linear-gradient(to bottom,rgba(6,28,32,.78) 0%,rgba(6,28,32,.42) 60%,rgba(6,28,32,0) 100%)}
.rp-nav-home.is-top .brand-mark{text-shadow:0 1px 14px rgba(0,0,0,.35)}
.rp-nav-home.is-top .brand-door{fill:#08262b}
.rp-nav-home.is-top .nav-link{text-shadow:0 1px 10px rgba(0,0,0,.35);opacity:.94}
.rp-nav-home.is-top .nav-link:hover{opacity:1}
.rp-nav-home.is-top .nav-link.active{box-shadow:inset 0 -2px 0 var(--gold);opacity:1}
.rp-nav-home.is-top .btn-brand{background:#fff;border-color:#fff;color:var(--deep);--bs-btn-hover-bg:var(--mist);--bs-btn-hover-border-color:var(--mist);--bs-btn-hover-color:var(--deep);--bs-btn-active-bg:var(--mist);--bs-btn-active-color:var(--deep)}
.rp-nav-home.is-top .btn-brand:hover{background:var(--mist);color:var(--deep)}
@media(min-width:992px){.rp-nav-home .navbar-nav{gap:.15rem}}
@media(max-width:991px){.rp-nav-home.is-top .btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}}

/* navbar over the hero: calmer button group (gold CTA, quiet Sign in, white Register) */
@media(min-width:992px){
  .rp-nav-home.is-top .btn-outline-secondary{border-color:transparent!important;background:transparent!important;color:#fff!important;padding-left:.6rem!important;padding-right:.6rem!important;font-weight:600}
  .rp-nav-home.is-top .btn-outline-secondary:hover{color:var(--gold)!important}
  .rp-nav-home.is-top a.btn-brand{background:#fff!important;border-color:#fff!important;color:var(--deep)!important;font-weight:600}
  .rp-nav-home.is-top a.btn-brand:hover{background:var(--mist)!important;border-color:var(--mist)!important}
  .rp-nav-home .navbar-nav .nav-link{padding-left:.55rem;padding-right:.55rem;white-space:nowrap}
  .rp-nav-home .navbar-collapse{align-items:center}
}
.rp-nav-home.is-top{padding-top:.9rem;padding-bottom:.9rem}
.rp-nav-home{transition:background .25s ease,padding .25s ease,box-shadow .25s ease}

/* keep the navbar on one line at laptop widths */
.rp-nav .btn,.rp-nav .brand-mark{white-space:nowrap}
@media(min-width:992px) and (max-width:1399.98px){
  .rp-nav-home .navbar-nav .nav-link{padding-left:.4rem;padding-right:.4rem;font-size:.9rem}
  .rp-nav-home .navbar-collapse>div.d-flex{gap:.4rem!important}
  .rp-nav-home .navbar-collapse .btn{padding-left:.8rem!important;padding-right:.8rem!important;font-size:.9rem}
  .rp-nav-home .brand-mark{font-size:1.2rem}
}
@media(min-width:992px) and (max-width:1199.98px){
  .rp-nav-home .navbar-collapse .btn-gold i{display:none}
}

/* ---- mega menu (Buy / Rent / Sell / Help) ---- */
.rp-nav .container{position:relative}
.rp-nav .nav-item.mega{position:static}
.rp-nav .nav-link.dropdown-toggle::after{border:0;content:"\F282";font-family:"bootstrap-icons";font-size:.62rem;vertical-align:.05em;margin-left:.35rem;transition:transform .2s;display:inline-block}
.rp-nav .nav-item.mega.show>.nav-link::after{transform:rotate(180deg)}
.mega-menu{border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 60px -28px rgba(8,38,43,.5);padding:1.4rem 1.6rem;margin-top:.65rem!important;color:var(--ink);background:#fff}
@media(min-width:992px){
  .rp-nav .nav-item.mega>.dropdown-menu.mega-menu{left:0;right:0;width:100%}
  .rp-nav .nav-item.mega-sm>.dropdown-menu.mega-menu{left:auto;right:auto;width:auto;min-width:420px}
  .rp-nav .nav-item.mega-sm{position:relative}
  .rp-nav .nav-item.mega>.dropdown-menu::before{content:"";position:absolute;left:0;right:0;top:-.8rem;height:.8rem}
  .mm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.6rem 2rem}
  .rp-nav .nav-item.mega-sm .mm-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}
  .rp-nav .nav-item.mega-sm:last-child>.dropdown-menu{left:auto;right:0}
}
.mm-col h6{font-family:var(--font-display);font-weight:400;font-size:1.02rem;color:var(--deep);padding-bottom:.55rem;margin:0 0 .6rem;border-bottom:1px solid var(--line)}
.mm-col a{display:block;padding:.32rem 0;color:var(--ink);text-decoration:none;font-size:.92rem;font-weight:450;transition:color .15s,transform .15s}
.mm-col a:hover{color:var(--brand);transform:translateX(3px)}
.mm-col a.mm-more{margin-top:.35rem;font-weight:600;color:var(--brand)}
.mm-note{display:block;font-size:.88rem;line-height:1.55;color:var(--muted);max-width:30ch}
/* menu is white even when the bar is transparent over the hero */
.rp-nav-home.is-top .mega-menu a{text-shadow:none}
@media(max-width:991.98px){
  .rp-nav .nav-item.mega>.dropdown-menu{position:static!important;transform:none!important;box-shadow:none;border:0;border-left:2px solid var(--line);border-radius:0;margin:.2rem 0 .6rem .6rem!important;padding:.2rem 0 .2rem .9rem;background:transparent;width:auto}
  .rp-nav-home.is-top .nav-item.mega>.dropdown-menu{background:rgba(255,255,255,.06);border-left-color:rgba(255,255,255,.3)}
  .rp-nav-home.is-top .mm-col a,.rp-nav-home.is-top .mm-col h6{color:#fff}
  .rp-nav-home.is-top .mm-note{color:rgba(255,255,255,.75)}
  .mm-grid{display:block}
  .mm-col{margin-bottom:.7rem}
  .mm-col h6{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;border:0;padding-bottom:.2rem;color:var(--muted)}
}

/* footer SEO links */
.foot-seo{background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.1);padding:2.4rem 0}
.foot-seo-title{font-family:var(--font-display);font-weight:400;font-size:1.25rem;color:#fff;margin:0 0 1.4rem}
.foot-seo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1.6rem 1.5rem}
.foot-seo-grid a{display:block;color:rgba(255,255,255,.62);font-size:.84rem;padding:.17rem 0;text-decoration:none}
.foot-seo-grid a:hover{color:#fff}
.foot-seo-grid a.foot-seo-city{color:#fff;font-weight:600;font-size:.9rem;margin-bottom:.35rem}
/* city page */
.city-crumb,.city-crumb a{color:rgba(255,255,255,.75);text-decoration:none}
.city-crumb a:hover{color:#fff}
.city-crumb i{font-size:.65rem;margin:0 .2rem}
.city-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem}
.city-stat{display:flex;flex-direction:column;gap:.1rem;padding:1.2rem 1.3rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}
a.city-stat:hover{transform:translateY(-3px);box-shadow:0 18px 36px -24px rgba(8,38,43,.5);color:var(--ink)}
.city-stat b{font-family:var(--font-display);font-weight:400;font-size:2.1rem;line-height:1.1;color:var(--deep)}
.city-stat span{font-weight:600;font-size:.92rem}
.city-stat small{color:var(--muted)}
.city-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.7rem}
.city-links a{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.8rem 1rem;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none;font-weight:500}
.city-links a:hover{border-color:var(--brand);color:var(--brand)}
.city-links small{color:var(--muted);font-weight:400}
.city-cta{display:flex;flex-wrap:wrap;gap:1.2rem 2rem;align-items:center;justify-content:space-between;padding:1.8rem 2rem;border-radius:var(--r-lg);background:var(--deep);color:#fff}
.city-cta p{color:rgba(255,255,255,.75)}
/* WhatsApp floating button */
.wa-float{position:fixed;right:1.1rem;bottom:1.1rem;z-index:1020;display:inline-flex;align-items:center;gap:.5rem;height:54px;padding:0 1.1rem 0 .95rem;border-radius:999px;background:#25d366;color:#fff;text-decoration:none;font-weight:600;font-size:.92rem;box-shadow:0 14px 30px -12px rgba(18,140,70,.65);transition:transform .2s,box-shadow .2s}
.wa-float i{font-size:1.5rem;line-height:1}
.wa-float:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 34px -12px rgba(18,140,70,.75)}
@media(max-width:575.98px){.wa-float span{display:none}.wa-float{width:54px;padding:0;justify-content:center}}
body:has(.mobile-cta) .wa-float{bottom:5.4rem}
@media(min-width:992px){body:has(.mobile-cta) .wa-float{bottom:1.1rem}}
/* FAQ */
.faq .accordion-item{border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0}
.faq .accordion-button{background:transparent;box-shadow:none;font-weight:600;font-size:1.02rem;padding:1.15rem 0;color:var(--deep)}
.faq .accordion-button:not(.collapsed){color:var(--brand);background:transparent}
.faq .accordion-body{padding:0 0 1.2rem;color:var(--muted);max-width:62ch}

/* tools & calculators */
.tool-card{display:flex;align-items:center;gap:1rem;padding:1.3rem 1.4rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.tool-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px -24px rgba(8,38,43,.5);border-color:var(--brand);color:var(--ink)}
.tool-card b{display:block;font-size:1.05rem}
.tool-card small{display:block;color:var(--muted);font-size:.88rem;margin-top:.15rem}
.tool-card-sm{padding:.9rem 1.1rem}
.tool-ic{flex:none;width:46px;height:46px;border-radius:14px;background:var(--mist);color:var(--brand);display:grid;place-items:center;font-size:1.3rem}
.tool-form{padding:1.6rem}
.tool-words{min-height:1.1em;color:var(--brand)!important;font-weight:600}
.tool-out{background:var(--deep);color:#fff;border-radius:var(--r-lg);padding:1.8rem}
.to-hero small{color:rgba(255,255,255,.7);font-weight:500}
.to-big{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.1;margin:.25rem 0 .4rem}
.to-hero p{color:rgba(255,255,255,.75);margin:0 0 1.2rem;font-size:.95rem}
.to-row{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid rgba(255,255,255,.14);font-size:.95rem}
.to-row span{color:rgba(255,255,255,.75)}
.to-row.strong b{color:var(--gold)}
.to-bar-wrap{margin:0 0 1rem}
.to-bar{display:flex;height:12px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.12)}
.to-bar i{display:block;background:#6fd1c2}
.to-bar i.b{background:var(--gold)}
.to-legend{display:flex;justify-content:space-between;font-size:.8rem;margin-top:.45rem;color:rgba(255,255,255,.75)}

/* footer city links: always an even grid (6 / 3 / 2 columns) */
.foot-seo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:768px){.foot-seo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){.foot-seo-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
.foot-seo-grid a{overflow-wrap:anywhere}

/* budget: typeable Min / Max boxes */
.budget-pair .bp{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.5rem .9rem;font-size:.92rem;width:100%;outline:0;color:var(--ink);display:block}
.budget-pair .bp::placeholder{color:var(--muted)}
.budget-pair .bp:focus,.budget-pair .bp.active{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}

/* budget picker: typeable Min / Max boxes */
.budget-pair .bp-in{width:100%;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.5rem .9rem;font-size:.92rem;color:var(--ink);outline:0}
.budget-pair .bp-in::placeholder{color:var(--muted)}
.budget-pair .bp-in.active,.budget-pair .bp-in:focus{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.bp-hint{min-height:1.1rem;margin:-.2rem 0 .4rem .3rem;font-size:.78rem;color:var(--brand);font-weight:600}

/* hero property-type picker */
.type-pop{width:340px}
.tp-group{border-bottom:1px solid var(--line);padding:.55rem 0}
.tp-group:last-of-type{border-bottom:0}
.tp-head{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:transparent;padding:.25rem 0;font-weight:600;font-size:.86rem;color:var(--muted)}
.tp-body{display:none;padding-top:.5rem}
.tp-group.open .tp-body{display:block}
.tp-chips{display:flex;flex-wrap:wrap;gap:.45rem}
.tp-chips+.tp-chips{margin-top:.6rem}
.tp-chip{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:.32rem .85rem;font-size:.87rem;font-weight:500;transition:background .15s,border-color .15s}
.tp-chip:hover{border-color:var(--brand)}
.tp-chip.on{background:var(--mist);border-color:var(--brand);color:var(--brand);font-weight:600}
.tp-bhk[hidden]{display:none}
.tp-foot{display:flex;justify-content:space-between;align-items:center;padding-top:.7rem;border-top:1px solid var(--line);margin-top:.3rem}
@media(max-width:575.98px){.type-pop{width:300px;left:auto;right:0}}

/* hero pop-overs (location, budget, type) must sit above the cards below and not be clipped */
.hero.hero-photo{z-index:5;clip-path:inset(0 0 -45rem 0)}
@supports not (clip-path:inset(0)){.hero.hero-photo{overflow:visible}}
.hero-search,.search-card{position:relative;z-index:6}

/* ===== Hero search card: premium pass ===== */
.hero .search-card{padding:1.05rem 1.15rem 1.15rem;border-radius:30px;background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.7);box-shadow:0 50px 90px -34px rgba(2,18,22,.7),0 2px 0 rgba(255,255,255,.8) inset}
/* segmented tabs */
.hero .search-tabs{display:inline-flex;max-width:100%;gap:.2rem;padding:.3rem;margin:0 0 1rem;background:var(--mist);border:0;border-radius:999px}
.hero .search-tabs button{margin:0;border:0;border-radius:999px;padding:.5rem 1.05rem;font-size:.9rem;font-weight:600;color:var(--muted);background:transparent;transition:background .2s,color .2s,box-shadow .2s}
.hero .search-tabs button:hover{color:var(--deep)}
.hero .search-tabs button.active{background:var(--deep);color:#fff;box-shadow:0 8px 18px -8px rgba(8,38,43,.7)}
/* one continuous field bar */
.hero .search-card .row{--bs-gutter-x:0;--bs-gutter-y:0;margin:0;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:22px;padding:.4rem;gap:.15rem 0}
.hero .search-card .row>[class*="col"]{padding:0}
.hero .search-card .row>.col-loc,.hero .search-card .row>.col-budget,.hero .search-card .row>.col-ptype{padding:.55rem 1rem .5rem;border-radius:16px;transition:background .2s}
.hero .search-card .row>.col-loc:hover,.hero .search-card .row>.col-budget:hover,.hero .search-card .row>.col-ptype:hover{background:var(--paper)}
.hero .search-card .row>.col-budget,.hero .search-card .row>.col-ptype{position:relative}
.hero .search-card .row>.col-budget::before,.hero .search-card .row>.col-ptype::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--line)}
.hero .search-card .form-label{display:flex;align-items:center;gap:.35rem;margin:0 0 .15rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hero .search-card .form-label i{color:var(--brand);font-size:.8rem}
.hero .search-card .form-control,.hero .search-card .budget-btn{border:0;background-color:transparent;box-shadow:none;padding:.1rem 1.4rem .1rem 0;height:auto;min-height:1.9rem;font-size:1.02rem;font-weight:600;color:var(--deep);border-radius:0}
.hero .search-card .form-control::placeholder{color:var(--deep);opacity:.55;font-weight:500}
.hero .search-card .form-control:focus,.hero .search-card .budget-btn:focus{box-shadow:none;outline:0}
.hero .search-card .budget-btn[aria-expanded="true"]{box-shadow:none}
.hero .search-card .budget-btn::after{right:.1rem}
.hero .search-card .col-loc .form-control{padding-right:0}
/* search button */
.hero .search-card .d-grid{padding:0 0 0 .4rem}
.hero .search-card .d-grid .btn{height:100%;min-height:58px;border-radius:17px;font-size:1.05rem;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;background:linear-gradient(135deg,var(--brand),#0a4a47);border:0;box-shadow:0 14px 28px -12px rgba(12,93,89,.75);transition:transform .2s,box-shadow .2s}
.hero .search-card .d-grid .btn:hover{transform:translateY(-1px);box-shadow:0 18px 32px -12px rgba(12,93,89,.85)}
/* popovers line up under their field */
.hero .search-card .budget-pop{margin-top:.9rem!important}
.hero .search-card .loc-field .pick-suggest{margin-top:.9rem}
@media(max-width:991.98px){
  .hero .search-card{border-radius:24px;padding:.9rem}
  .hero .search-card .row{border:0;padding:0;background:transparent;gap:.55rem 0}
  .hero .search-card .row>.col-loc,.hero .search-card .row>.col-budget,.hero .search-card .row>.col-ptype{border:1px solid var(--line);background:#fff;padding:.6rem .9rem;border-radius:14px}
  .hero .search-card .row>.col-budget{width:calc(50% - .275rem)}
  .hero .search-card .row>.col-ptype{width:calc(50% - .275rem);margin-left:.55rem}
  .hero .search-card .row>.col-budget::before,.hero .search-card .row>.col-ptype::before{display:none}
  .hero .search-card .d-grid{padding:0;width:100%}
  .hero .search-card .d-grid .btn{min-height:52px}
}

/* ===== premium hero search card ===== */
.hero-search .search-card{border-radius:26px;padding:1.15rem 1.25rem 1.25rem;border:1px solid rgba(255,255,255,.6);box-shadow:0 50px 90px -34px rgba(4,24,28,.65),0 2px 0 rgba(255,255,255,.4) inset}
.hero-search .search-tabs{display:flex;width:fit-content;max-width:100%;gap:.2rem;padding:.3rem;margin:0 0 1.1rem;background:var(--mist);border:0;border-radius:999px}
.hero-search .search-tabs button{border:0;margin:0;padding:.5rem 1.05rem;border-radius:999px;font-size:.9rem;font-weight:600;color:var(--muted);transition:background .2s,color .2s,box-shadow .2s}
.hero-search .search-tabs button:hover{color:var(--deep)}
.hero-search .search-tabs button.active{background:var(--deep);color:#fff;border:0;box-shadow:0 8px 18px -8px rgba(8,38,43,.7)}
.search-card .form-label{display:flex;align-items:center;gap:.35rem;font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 .2rem}
.search-card .form-label i{color:var(--brand);font-size:.85rem}
.search-card .form-control,.search-card .budget-btn{font-size:1.02rem;font-weight:600;color:var(--deep)}
.search-card .form-control::placeholder{color:#8a9a95;font-weight:500}
.search-card .btn-brand.btn-lg{white-space:nowrap;font-weight:600;font-size:1rem;border-radius:16px;min-height:58px;padding:0 1.9rem;background:linear-gradient(135deg,#0e6b66,#08413f);border:0;box-shadow:0 18px 30px -16px rgba(8,66,63,.9)}
.search-card .btn-brand.btn-lg:hover{filter:brightness(1.1);transform:translateY(-1px)}
@media(min-width:992px){
  .search-card .row{--bs-gutter-x:0;--bs-gutter-y:0;flex-wrap:nowrap;align-items:stretch!important;background:#fff;border:1px solid var(--line);border-radius:20px;padding:.4rem}
  .search-card .row>[class*="col-"]{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:.55rem 1.2rem;border-radius:14px;transition:background .2s}
  .search-card .row>.col-lg-4{flex:1.5 1 0;width:auto}
  .search-card .row>.col-lg-3{flex:1 1 0;width:auto}
  .search-card .row>.col-lg-2{flex:0 0 auto;width:auto;padding:.1rem 0 .1rem .4rem}
  .search-card .row>[class*="col-"]:not(.d-grid):not(:first-child){position:relative}
  .search-card .row>.col-budget::before,.search-card .row>.col-ptype::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--line)}
  .search-card .row>[class*="col-"]:not(.d-grid):hover,.search-card .row>[class*="col-"]:not(.d-grid):focus-within{background:var(--paper)}
  .search-card .form-control,.search-card .budget-btn{border:0;background:transparent;box-shadow:none;border-radius:0;height:auto;padding:.1rem 1.5rem .1rem 0;line-height:1.35;text-overflow:ellipsis}
  .search-card .form-control:focus{box-shadow:none;background:transparent}
  .search-card .budget-btn::after{right:0}
  .search-card .budget-btn[aria-expanded="true"]{box-shadow:none}
  .search-card .budget-pop,.search-card .loc-field .pick-suggest{left:-1.2rem}
}
@media(max-width:991.98px){
  .search-card .form-control,.search-card .budget-btn{background:var(--paper);border:1px solid var(--line);border-radius:14px;min-height:54px;padding:.55rem 1rem}
  .search-card .budget-btn::after{right:1rem}
  .search-card .btn-brand.btn-lg{min-height:54px;width:100%}
}

/* ===== hero: every tab has its own colour world, line-art and a tilted photo frame (original artwork) ===== */
.hero-photo .hero-bg[data-bg]::after{background:linear-gradient(90deg,rgba(0,0,0,.30) 0%,rgba(0,0,0,.06) 55%,rgba(0,0,0,.12) 100%),linear-gradient(to top,rgba(0,0,0,.4) 0%,transparent 42%)}
.hero-bg.is-art[data-bg="buy"]{background:linear-gradient(100deg,#08262b 0%,#0c5d59 62%,#1b8a7e 100%)}
.hero-bg.is-art[data-bg="rent"]{background:linear-gradient(100deg,#6b2f2c 0%,#b8574c 58%,#e59a85 100%)}
.hero-bg.is-art[data-bg="commercial"]{background:linear-gradient(100deg,#0b2f73 0%,#1a64c8 58%,#4fb0f0 100%)}
.hero-bg.is-art[data-bg="plots"]{background:linear-gradient(100deg,#2a3412 0%,#5b6a24 60%,#98a64a 100%)}
.hero-bg.is-art[data-bg="apartment"]{background:linear-gradient(100deg,#221c63 0%,#4b3fc4 60%,#8a7dee 100%)}
.hero-bg.is-art[data-bg="villa"]{background:linear-gradient(100deg,#5a2f0e 0%,#b36a1c 60%,#e8ab55 100%)}
.hero-bg.is-art[data-bg="house"]{background:linear-gradient(100deg,#431846 0%,#92396a 60%,#d9779f 100%)}
.hero-bg.is-art[data-bg="penthouse"]{background:linear-gradient(100deg,#0d1632 0%,#2c3b82 60%,#5f73c9 100%)}
.hero-bg.is-art[data-bg="studio"]{background:linear-gradient(100deg,#173f33 0%,#2f7a63 60%,#7fbda3 100%)}
.hero-art{position:absolute;left:0;right:0;bottom:0;width:100%;height:100%;color:rgba(255,255,255,.26);pointer-events:none}
/* the photo frame (reuses the feature card) */
.hero-photo .hero-feature{position:relative;max-width:420px;min-height:300px;padding:1.4rem 1.6rem;justify-content:flex-end;overflow:visible;background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;isolation:isolate;transform:rotate(1.5deg)}
.hero-photo .hero-feature:hover{background:transparent;transform:rotate(0deg) translateY(-3px)}
.hero-photo .hero-feature::before{content:"";position:absolute;inset:-14px -14px 14px 14px;border:1.5px solid rgba(255,255,255,.4);border-radius:26px;z-index:-2}
.hero-photo .hero-feature::after{content:"";position:absolute;inset:0;border-radius:24px 64px 24px 64px;background:linear-gradient(to top,rgba(4,16,18,.88) 0%,rgba(4,16,18,.25) 55%,transparent 100%);z-index:-1}
.hero-photo .hero-feature .hf-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:24px 64px 24px 64px;z-index:-3;box-shadow:0 40px 70px -30px rgba(0,0,0,.7)}
.hero-photo .hero-feature>span,.hero-photo .hero-feature>b{position:relative}
@media(prefers-reduced-motion:reduce){.hero-photo .hero-feature{transform:none}}

/* card: sub line, posted-by tag, age */
.prop-sub{margin:-.15rem 0 .35rem;font-size:.82rem;font-weight:600;color:var(--brand)}
.prop-agent .by-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.18rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;flex:none}
.prop-agent .by-tag.owner{background:#fdf0d8;color:#8a5a0a}
.prop-agent .by-tag.agent{background:var(--mist);color:var(--brand)}
.prop-agent .prop-when{margin-left:auto;flex:none;font-size:.76rem;color:var(--muted)}
.prop-agent a{min-width:0}
/* detail: overview table */
.overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem;margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:.4rem 1.4rem}
.ov-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.ov-row dt{display:flex;align-items:center;gap:.6rem;font-weight:500;color:var(--muted);font-size:.93rem}
.ov-row dt i{color:var(--brand);width:1.1rem;text-align:center}
.ov-row dd{margin:0;font-weight:600;color:var(--deep);text-align:right;font-size:.95rem}
.overview .ov-row:nth-last-child(-n+2){border-bottom:0}
@media(max-width:767.98px){.overview{grid-template-columns:1fr;padding:.2rem 1rem}.overview .ov-row:nth-last-child(2){border-bottom:1px solid var(--line)}}
/* owner dashboard numbers */
.own-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:0 0 1.4rem}
.own-stats>div{display:flex;flex-direction:column;gap:.1rem;padding:1.1rem 1.3rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg)}
.own-stats i{color:var(--brand);font-size:1.15rem}
.own-stats b{font-family:var(--font-display);font-weight:400;font-size:2rem;line-height:1.1;color:var(--deep)}
.own-stats span{color:var(--muted);font-size:.85rem}
.own-metrics{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin-top:.5rem;font-size:.85rem;color:var(--muted)}
.own-metrics i{color:var(--brand);margin-right:.2rem}

/* ============ listing page: compact header + sticky quick filters ============ */
.page-hero-sm{padding:2rem 0 1.5rem}
.page-hero-sm h1{font-size:clamp(1.7rem,3.4vw,2.5rem)}
.page-hero-sm p{margin:.35rem 0 0;font-size:.98rem}
.page-hero-sm::after{display:none}
.qbar{position:sticky;top:68px;z-index:1010;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);box-shadow:0 12px 24px -22px rgba(8,38,43,.45)}
.qbar-row{display:flex;align-items:center;gap:.9rem;padding:.7rem 0}
.qseg{display:inline-flex;flex:none;padding:.22rem;background:var(--mist);border-radius:999px}
.qseg button{border:0;background:transparent;padding:.38rem .95rem;border-radius:999px;font-weight:600;font-size:.88rem;color:var(--muted);transition:background .2s,color .2s}
.qseg button.on{background:var(--deep);color:#fff;box-shadow:0 6px 14px -8px rgba(8,38,43,.7)}
.qpills{display:flex;align-items:center;gap:.5rem;overflow-x:auto;scrollbar-width:none;min-width:0;padding:.15rem 0}
.qpills::-webkit-scrollbar{display:none}
.qpill{flex:none;display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);background:#fff;color:var(--ink);padding:.42rem .85rem;border-radius:999px;font-size:.88rem;font-weight:500;white-space:nowrap;transition:border-color .2s,background .2s,color .2s}
.qpill i{font-size:.65rem;opacity:.65}
.qpill:hover{border-color:var(--brand)}
.qpill.on{background:var(--mist);border-color:var(--brand);color:var(--brand);font-weight:600}
.qpill-more i{font-size:.85rem;opacity:1}
.qpill-clear{border-style:dashed;color:var(--muted)}
.qpop{position:fixed;z-index:1100;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 26px 54px -22px rgba(8,38,43,.55);padding:.9rem}
.qhead{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem .2rem}
.qchips{display:flex;flex-wrap:wrap;gap:.45rem}
.qchip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.4rem .9rem;font-size:.9rem;font-weight:500}
.qchip.on{background:var(--mist);border-color:var(--brand);color:var(--brand);font-weight:600}
.qlist{list-style:none;margin:0;padding:0;max-height:300px;overflow:auto}
.qlist li{padding:.6rem .7rem;border-radius:8px;cursor:pointer;font-size:.93rem}
.qlist li:hover{background:var(--mist)}
.qlist li.sel{background:var(--mist);color:var(--brand);font-weight:600}
@media(max-width:991.98px){.qbar{top:62px}.qbar-row{gap:.6rem}}
@media(max-width:575.98px){.qbar-row{flex-direction:column;align-items:stretch;gap:.5rem}.qseg{align-self:flex-start}}
/* sidebar follows the page under the sticky bar */
@media(min-width:992px){.results-bar{margin-top:0}.filter-card{position:sticky;top:8.5rem;max-height:calc(100vh - 9.5rem);overflow:auto}}

/* ============ detail page: photo mosaic + section tabs ============ */
.gallery{position:relative}
.mosaic{position:relative;display:grid;gap:10px;height:clamp(340px,40vw,500px);border-radius:26px;overflow:hidden;box-shadow:0 36px 70px -42px rgba(8,38,43,.7)}
.mosaic.n1{grid-template-columns:1fr}
.mosaic.n2{grid-template-columns:2fr 1fr}
.mosaic.n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
.mosaic.n4,.mosaic.n5{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}
.mosaic.n3 .mo-main,.mosaic.n4 .mo-main,.mosaic.n5 .mo-main{grid-row:1/3}
.mosaic.n4 .mo-tile:nth-of-type(4){grid-column:2/4}
.mo-tile{position:relative;display:block;border:0;padding:0;background:var(--mist);overflow:hidden;cursor:zoom-in;min-height:0}
.mo-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.mo-tile:hover img{transform:scale(1.045)}
.mo-more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(8,38,43,.55);color:#fff;font-family:var(--font-display);font-size:1.9rem}
.mo-all{position:absolute;right:1rem;bottom:1rem;z-index:3;border:0;background:rgba(255,255,255,.95);padding:.5rem 1rem;border-radius:999px;font-weight:600;font-size:.88rem;box-shadow:0 10px 24px -12px rgba(0,0,0,.6)}
.mo-all:hover{background:#fff;color:var(--brand)}
.mosaic .prop-ribbon.lg{z-index:3}
.pd-navwrap{position:sticky;top:66px;z-index:1000;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);margin-bottom:1.4rem}
.pd-nav{display:flex;gap:.3rem;overflow-x:auto;scrollbar-width:none;padding:.35rem 0}
.pd-nav::-webkit-scrollbar{display:none}
.pd-nav a{flex:none;padding:.55rem 1rem;border-radius:999px;color:var(--muted);text-decoration:none;font-weight:600;font-size:.9rem;transition:background .2s,color .2s}
.pd-nav a:hover{background:var(--mist);color:var(--brand)}
.pd-h,#sim{scroll-margin-top:9rem}
@media(max-width:991.98px){.pd-navwrap{top:58px}}

/* detail map: calmer tiles, bigger rounded zoom buttons, tidy footer */
.prop-map{height:380px}
.leaflet-container{font-family:var(--font-body)}
.leaflet-bar{border:0!important;box-shadow:0 10px 24px -12px rgba(8,38,43,.55)!important;border-radius:14px!important;overflow:hidden}
.leaflet-bar a{width:38px!important;height:38px!important;line-height:38px!important;color:var(--deep)!important;font-weight:400}
.leaflet-control-attribution{font-size:.68rem;background:rgba(255,255,255,.8)!important}
.pin-pop b{display:block;margin-top:.3rem;color:var(--brand);font-weight:700}
.map-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.2rem;margin-top:.8rem;font-size:.9rem}
.map-addr{color:var(--muted)}.map-addr i{color:var(--brand);margin-right:.2rem}
.map-links{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.map-links a{font-weight:600;text-decoration:none;color:var(--brand)}
.map-links a:hover{color:var(--deep)}

/* softer OpenStreetMap colours so the pin stands out (no tile-provider key needed) */
.prop-map .leaflet-tile-pane,.list-map .leaflet-tile-pane{filter:saturate(.35) contrast(.9) brightness(1.06)}

/* navbar over the hero: frosted glass band that takes on the hero's colour */
.rp-nav.rp-nav-home.is-top{background:rgba(6,18,22,.34);-webkit-backdrop-filter:blur(14px) saturate(1.25);backdrop-filter:blur(14px) saturate(1.25);border-bottom:1px solid rgba(255,255,255,.16);box-shadow:none}
.rp-nav.rp-nav-home.is-top:has(.dropdown-menu.show){background:rgba(6,18,22,.5)}
.rp-nav.rp-nav-home:not(.is-top){background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
@media(max-width:991.98px){.rp-nav.rp-nav-home.is-top:has(.navbar-collapse.show){background:rgba(6,22,26,.92)}}

/* "Post property" button: gold gradient, soft glow, light sweep on hover */
.rp-nav .btn-post{position:relative;overflow:hidden;display:inline-flex;align-items:center;border:0;color:#2b1a02;font-weight:700;letter-spacing:.01em;background:linear-gradient(135deg,#f6c15c 0%,#e8a33d 55%,#d78f24 100%);box-shadow:0 12px 24px -12px rgba(232,163,61,.95),inset 0 1px 0 rgba(255,255,255,.55);transition:transform .2s,box-shadow .2s,filter .2s}
.rp-nav .btn-post i{font-size:1.05rem;line-height:1}
.rp-nav .btn-post::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .6s ease}
.rp-nav .btn-post:hover{color:#2b1a02;transform:translateY(-2px);box-shadow:0 18px 30px -12px rgba(232,163,61,1),inset 0 1px 0 rgba(255,255,255,.6);filter:saturate(1.1)}
.rp-nav .btn-post:hover::after{left:120%}
.rp-nav .btn-post:active{transform:translateY(0)}
.rp-nav .btn-post:focus-visible{outline:3px solid rgba(232,163,61,.5);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.rp-nav .btn-post,.rp-nav .btn-post::after{transition:none}}
@media(max-width:991.98px){.rp-nav .btn-post{justify-content:center}}

/* location suggestions: many cities + areas -> scroll inside the dropdown */
.pick-suggest{max-height:min(340px,52vh);overflow-y:auto;overscroll-behavior:contain}
.pick-suggest li small{white-space:nowrap}
