.btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 46px;

    padding: 0 22px;

    border-radius: 999px;

    font-weight: 700;
}

.btn.primary {

    background:
        linear-gradient(
            135deg,
            var(--primary),
            var(--accent)
        );

    color: white;
}

.btn.ghost {

    background:
        rgba(255,255,255,.18);

    color: white;
}

.property-grid,
.service-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 24px;
}

.service-grid {

    grid-template-columns:
        repeat(4, 1fr);
}

.property-card {

    overflow: hidden;

    transition:
        transform .25s ease;
}

.property-card:hover {

    transform:
        translateY(-6px);
}

.property-image {

    position: relative;

    height: 230px;
}

.property-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;
}

.property-image span {

    position: absolute;

    top: 14px;

    left: 14px;

    padding:
        7px 12px;

    border-radius:
        999px;

    background: white;

    color: #10213f;

    font-size: .8rem;

    font-weight: 800;
}

.property-body {

    padding: 22px;
}

.property-body h3 {

    margin: 0 0 8px;

    font-size: 1.25rem;
}

.property-body p {

    color: var(--muted);
}

.property-meta {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;

    margin: 18px 0;
}

.property-meta span {

    padding:
        8px 10px;

    border-radius:
        999px;

    background:
        rgba(122,184,255,.14);

    font-size:
        .88rem;
}