.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.project-card{transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);position:relative}.project-card:hover{transform:translateY(-4px)}.project-card.is-active{border-color:var(--accent);box-shadow:var(--shadow-hover), 0 0 0 2px var(--border-accent)}.project-card__link{color:inherit;text-decoration:none;display:block}.project-card__link:focus-visible{outline-offset:-2px;border-radius:var(--radius-lg)}.project-card .img-box img{transition:transform .5s cubic-bezier(.4,0,.2,1)}.project-card:hover .img-box img{transform:scale(1.04)}.project-card__price{color:var(--accent-dark);border-radius:100px;padding:7px 14px;font-size:14px;font-weight:600;position:absolute;top:16px;right:16px}.project-card__body{padding:20px 24px 24px}.project-card__title{margin-bottom:6px;font-size:20px;line-height:1.3}.project-card__meta{color:var(--text-secondary);margin-bottom:14px;font-size:13px}.project-card__facts{border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:14px;font-size:14px;list-style:none;display:flex}.project-card__facts b{font-weight:600}.project-card__facts .chip{overflow-wrap:anywhere;border-color:var(--border-accent);max-width:100%;color:var(--accent-dark);padding:3px 10px;font-size:12px;line-height:1.35}.project-card__body .data-date{margin-top:12px}@media (width<=768px){.catalog-grid{grid-template-columns:1fr;gap:16px}.project-card__body{padding:16px 18px 20px}}.project-card--match{flex-direction:column;display:flex}.project-card--match .project-card__link{flex:auto}.project-card--match .project-card__body{padding-bottom:12px}.project-card--match .project-card__meta{margin-bottom:4px}.match__metro{color:var(--text-secondary);font-size:13px}.match__fit{font:600 19px/1.25 var(--font-head);color:var(--accent-dark);margin-top:12px}.match__price{margin-top:4px;font-size:16px;font-weight:600}.match__area{color:var(--text-secondary);margin-top:2px;font-size:13px}.match__rooms{flex-wrap:wrap;gap:6px;margin:12px 0 14px;list-style:none;display:flex}.match__rooms .chip{border-color:var(--border-accent);color:var(--accent-dark);padding:3px 10px;font-size:12px}.project-card--match .project-card__facts{margin-top:12px}.match__rooms+.project-card__facts{margin-top:0}.match__actions{padding:0 24px 24px}.match__all{width:100%}@media (width<=768px){.match__actions{padding:0 18px 20px}}.sales-start{background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff;overflow-wrap:anywhere;border-radius:14px;width:fit-content;max-width:100%;margin-bottom:12px;padding:6px 14px;font-size:13px;font-weight:500;line-height:1.4;display:block;box-shadow:inset 0 1px #fff6,0 4px 14px #1a7a6b40}.sales-start__name{font-weight:700}.sort-select{min-height:44px;font:inherit;color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;background:#fff;padding:10px 14px;font-size:14px}.skeleton{pointer-events:none;align-content:start;gap:12px;min-height:260px;padding-bottom:20px;display:grid}.skeleton__img,.skeleton__line{background:linear-gradient(90deg, var(--bg-warm) 25%, #fbfaf8 50%, var(--bg-warm) 75%);background-size:200% 100%;animation:1.4s linear infinite ke-shimmer}.skeleton__img{aspect-ratio:3/2}.skeleton__line{border-radius:7px;height:14px;margin:0 20px}.skeleton__line--short{width:45%}body[data-design=story] .project-card{background:var(--bg-card);box-shadow:none;border-color:#0000;overflow:hidden}body[data-design=story] .project-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}body[data-design=story] .project-card__title{letter-spacing:-.035em;font-size:23px}body[data-design=story] .project-card__price{background:var(--bg-card);color:var(--text-primary)}body[data-design=story] .project-card__body{padding:22px}body[data-design=story] .match__fit{color:var(--text-primary)}body[data-design=story] .match__price{letter-spacing:-.03em;font-size:23px}body[data-design=story] .match__actions{padding:0 22px 22px}body[data-design=story] .match__all{color:#fff;background:linear-gradient(#208272,#1b6f5e);min-height:48px}body[data-design=story] .sort-select{background:var(--bg-card);min-height:48px}
