.reco-block{margin:2.5rem 0}.reco-block .block-title{margin-bottom:.25rem}.reco-sub{color:var(--on-light-mut,#5B6675);font-size:.92rem;margin-bottom:1.25rem;max-width:52ch}.reco-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.1rem}.reco-tab{display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-size:.86rem;font-weight:600;line-height:1;padding:.5rem .85rem;border-radius:999px;border:1px solid var(--hair-2,rgba(10,20,36,.14));background:var(--paper,#fff);color:var(--on-light-soft,#3A4658);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.reco-tab:hover{border-color:var(--on-light,#0A1424)}.reco-tab.is-active{background:var(--on-light,#0A1424);color:#fff;border-color:var(--on-light,#0A1424)}.reco-tab-count{font-size:.72rem;font-weight:700;padding:.1rem .4rem;border-radius:999px;background:#0a142414;color:inherit}.reco-tab.is-active .reco-tab-count{background:#ffffff38}.reco-group{margin-bottom:1.5rem}.reco-group-title{font-weight:700;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--on-light-soft,#3A4658);margin-bottom:.6rem}.reco-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:1rem}.reco-card{display:flex;flex-direction:column;gap:.5rem;background:var(--paper,#fff);border:1px solid var(--hair-2,rgba(10,20,36,.12));border-radius:var(--r-md,14px);padding:1.1rem 1.15rem;box-shadow:var(--shadow,0 6px 24px -8px rgba(10,20,36,.12),0 1px 2px rgba(10,20,36,.05));transition:transform .18s ease,box-shadow .18s ease}.reco-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px -10px #0a14242e,0 2px 4px #0a14240f}.reco-badges{display:flex;flex-wrap:wrap;gap:.4rem}.reco-badge{font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;white-space:nowrap}.reco-badge--value{background:#7ba68b29;color:var(--sage-dk,#477257)}.reco-badge--view{background:#e0765424;color:var(--coral-dk,#BB4E2C)}.reco-badge--entry{background:#d6b26a38;color:#8a6a22}.reco-badge--gem{background:#7c3aed1f;color:#6d28d9}.reco-unit{font-weight:700;font-size:1.02rem;color:var(--on-light,#0A1424);margin-top:.1rem}.reco-floor{font-weight:500;color:var(--on-light-mut,#5B6675)}.reco-price{font-weight:800;font-size:1.06rem;color:var(--on-light,#0A1424)}.reco-ppsf{font-weight:500;font-size:.82rem;color:var(--on-light-mut,#5B6675)}.reco-view{font-size:.84rem;color:var(--on-light-soft,#3A4658)}.reco-type{font-weight:500;color:var(--on-light-mut,#5B6675)}.reco-attrs{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.8rem;color:var(--on-light-soft,#3A4658)}.reco-attr{white-space:nowrap}.reco-attr:before{content:"•";margin-inline-end:6px;color:var(--on-light-mut,#9AA4B2)}.reco-attr:first-child:before{content:none}.reco-reason{font-size:.86rem;line-height:1.5;color:var(--on-light-soft,#3A4658)}.reco-gate{position:relative;border-radius:var(--r-lg,20px);overflow:hidden}.reco-gate-blur{filter:blur(6px);pointer-events:none;user-select:none}.reco-gate-blur--compact{height:300px;overflow:hidden}.reco-card--ph{min-height:150px;background:#fff}.reco-badge--ph{color:transparent;background:#0a14241f}.reco-ph{background:#0a142424;border-radius:6px;height:.85rem}.reco-ph--unit{height:1.05rem;width:55%;margin-top:.2rem}.reco-ph--meta{width:70%}.reco-ph--reason{width:92%}.reco-ph--reason.short{width:60%}.reco-gate-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(180deg,#fbfbf947,#fbfbf9b8)}.reco-gate-card{background:var(--paper,#fff);border:1px solid var(--hair-2,rgba(10,20,36,.12));border-radius:var(--r-md,14px);box-shadow:0 14px 40px -12px #0a142447,0 2px 6px #0a142414;padding:1.5rem 1.6rem;max-width:390px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.reco-gate-icon{color:var(--coral,#E07654)}.reco-gate-title{font-weight:800;font-size:1.05rem;color:var(--on-light,#0A1424)}.reco-gate-sub{font-size:.88rem;color:var(--on-light-mut,#5B6675);line-height:1.5;margin:0}.reco-gate-btn{margin-top:.5rem}@media(max-width:720px){.reco-gate-blur{max-height:300px;overflow:hidden}}
