.fl{background:#fff;padding:4rem 0 3rem}.fl__inner{max-width:1200px;margin:0 auto;padding:0 6%}.fl__header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.75rem;display:flex}.fl__title{color:#0d1a12;letter-spacing:-.02em;margin:0 0 .2rem;font-size:1.5rem;font-weight:800}.fl__subtitle{color:#6b7280;font-size:.8rem;font-style:italic}.fl__view-all{color:#166534;white-space:nowrap;align-items:center;gap:.3rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:gap .15s;display:inline-flex}.fl__view-all:hover{gap:.5rem}.fl__grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.fl-card{background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;transition:box-shadow .2s,transform .2s,border-color .2s;overflow:hidden}.fl-card:hover{border-color:#bbf7d0;transform:translateY(-2px);box-shadow:0 6px 28px #1665341a}.fl-card__link{color:inherit;text-decoration:none;display:block}.fl-card__img-wrap{aspect-ratio:4/3;background:#f3f4f6;width:100%;position:relative;overflow:hidden}.fl-card__img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.fl-card:hover .fl-card__img{transform:scale(1.03)}.fl-card__img-empty{color:#d1d5db;justify-content:center;align-items:center;width:100%;height:100%;font-size:2rem;display:flex}.fl-card__badge{letter-spacing:.05em;text-transform:uppercase;z-index:2;border-radius:4px;padding:.2rem .5rem;font-size:.6rem;font-weight:700;position:absolute;top:.6rem;left:.6rem}.fl-card__badge--top-right{left:auto;right:2.5rem}.badge--agent{color:#fff;background:#166534}.badge--verified{color:#fff;background:#1d4ed8}.badge--featured{color:#fff;background:#d97706}.badge--available{color:#fff;background:#7c3aed}.fl-card__heart{z-index:2;cursor:pointer;color:#6b7280;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;transition:color .15s,background .15s;display:flex;position:absolute;top:.6rem;right:.6rem}.fl-card__heart:hover{color:#ef4444;background:#fff}.fl-card__body{flex-direction:column;gap:.35rem;padding:.85rem .9rem .5rem;display:flex}.fl-card__title{color:#0d1a12;font-size:.9rem;font-weight:700;line-height:1.3}.fl-card__location{color:#6b7280;align-items:center;gap:.25rem;font-size:.72rem;display:flex}.fl-card__location svg{flex-shrink:0;font-size:.75rem}.fl-card__price{color:#166534;font-size:1rem;font-weight:800}.fl-card__price-per{color:#6b7280;font-size:.72rem;font-weight:500}.fl-card__amenities{flex-wrap:wrap;gap:.35rem;margin-top:.1rem;display:flex}.fl-card__amenity{color:#374151;background:#f3f4f6;border-radius:4px;align-items:center;gap:.2rem;padding:.18rem .45rem;font-size:.68rem;display:inline-flex}.fl-card__amenity svg{color:#166534;font-size:.72rem}.fl-card__meta{color:#6b7280;gap:.5rem;font-size:.72rem;display:flex}.fl-card__footer{border-top:1px solid #f3f4f6;justify-content:space-between;align-items:center;margin-top:.25rem;padding:.5rem .9rem .8rem;display:flex}.fl-card__view{color:#166534;text-underline-offset:2px;font-size:.78rem;font-weight:600;text-decoration:underline}.fl-card__save{cursor:pointer;color:#9ca3af;background:0 0;border:none;align-items:center;padding:0;font-size:1rem;transition:color .15s;display:flex}.fl-card__save:hover{color:#ef4444}.fl-card--skeleton{pointer-events:none}.fl-card__img-wrap--skel{background:linear-gradient(90deg,#f3f4f6 25%,#e9eaec 50%,#f3f4f6 75%) 0 0/200% 100%;animation:1.4s infinite fl-shimmer}.fl-skel-line{background:linear-gradient(90deg,#f3f4f6 25%,#e9eaec 50%,#f3f4f6 75%) 0 0/200% 100%;border-radius:4px;width:100%;height:12px;margin-bottom:.5rem;animation:1.4s infinite fl-shimmer}.fl-skel-line--short{width:40%}.fl-skel-line--med{width:65%}@keyframes fl-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fl__empty{text-align:center;color:#9ca3af;grid-column:1/-1;padding:3rem 1rem;font-size:.9rem}.fl__empty svg{margin-bottom:.75rem;margin-left:auto;margin-right:auto;font-size:2.5rem;display:block}.fl__empty a{color:#166534;font-weight:600;text-decoration:underline}@media (max-width:1024px){.fl__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.fl{padding:2.5rem 0 2rem}.fl__grid{grid-template-columns:1fr}.fl__header{flex-direction:column;align-items:flex-start}}