.home-page{
    --home-ink:#162033;
    --home-muted:#627083;
    --home-blue:#1667d9;
    --home-green:#176b52;
    --home-yellow:#f5c542;
    background:#f5f7fa;
}

.home-page .home-hero{
    min-height:660px;
    align-items:flex-start;
    background:
        linear-gradient(90deg,rgba(10,18,29,.91) 0%,rgba(10,18,29,.72) 48%,rgba(10,18,29,.22) 100%),
        url("../images/hero.jpg") center/cover;
}

.home-page .home-hero__inner{
    padding-top:92px;
    padding-bottom:130px;
}

.home-page .home-eyebrow{
    gap:7px;
    border-radius:6px;
    color:#fff;
    background:rgba(255,255,255,.10);
    backdrop-filter:blur(8px);
}

.home-page .home-hero h1{
    max-width:720px;
    font-size:64px;
    line-height:1.02;
}

.home-page .home-btn{
    border-radius:6px;
    transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}

.home-page .home-btn:hover{
    transform:translateY(-1px);
}

.home-btn--outline{
    color:var(--home-blue);
    border-color:#b9c9de;
    background:#fff;
}

.home-btn--reset{
    width:46px;
    padding:0;
    color:#526174;
    border-color:#cfd8e3;
    background:#fff;
}

.home-page .home-search{
    margin-top:-74px;
    padding:0;
    overflow:hidden;
    border-color:#d9e1ea;
    box-shadow:0 18px 50px rgba(22,32,51,.14);
}

.home-search__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:15px 18px;
    border-bottom:1px solid #e4e9ef;
    background:#f8fafc;
}

.home-search__head strong,
.home-search__head span{
    display:block;
}

.home-search__head strong{
    color:var(--home-ink);
    font-size:16px;
}

.home-search__head span{
    margin-top:2px;
    color:var(--home-muted);
    font-size:13px;
}

.home-search__head > i{
    color:var(--home-blue);
    font-size:22px;
}

.home-page .home-search form{
    padding:18px;
}

.home-page .home-field label{
    letter-spacing:0;
    text-transform:none;
}

.home-page .home-field input,
.home-page .home-field select{
    border-color:#cbd5e1;
    background:#fff;
    outline:none;
}

.home-page .home-field input:focus,
.home-page .home-field select:focus{
    border-color:var(--home-blue);
    box-shadow:0 0 0 3px rgba(22,103,217,.12);
}

.home-section__kicker{
    display:block;
    margin-bottom:6px;
    color:var(--home-green);
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
}

.home-page .home-section__head h2{
    color:var(--home-ink);
    font-size:32px;
}

.home-page .home-listings{
    gap:18px;
}

.home-page .home-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    border-color:#dce3eb;
    box-shadow:0 8px 24px rgba(22,32,51,.07);
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.home-page .home-card:hover{
    transform:translateY(-3px);
    border-color:#bdcad8;
    box-shadow:0 14px 32px rgba(22,32,51,.11);
}

.home-page .home-card__media{
    aspect-ratio:16/10;
}

.home-page .home-card__media img{
    transition:transform .28s ease;
}

.home-page .home-card:hover .home-card__media img{
    transform:scale(1.025);
}

.home-page .home-card__badge{
    border-radius:4px;
    background:var(--home-green);
}

.home-page .home-card__body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:17px;
}

.home-card__heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:start;
}

.home-card__heading h3{
    margin:0;
    color:var(--home-ink);
    font-size:19px;
    line-height:1.25;
    font-weight:800;
}

.home-card__heading strong{
    color:var(--home-green);
    font-size:20px;
    white-space:nowrap;
}

.home-card__heading small{
    display:block;
    color:var(--home-muted);
    font-size:11px;
    font-weight:600;
    text-align:right;
}

.home-page .home-card__address{
    min-height:0;
    margin:13px 0;
    padding:0;
    border:0;
    color:var(--home-muted);
    background:transparent;
    font-weight:600;
}

.home-page .home-card__meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    margin-bottom:15px;
    color:#526174;
    font-size:13px;
}

.home-page .home-card__meta span{
    display:inline-flex;
    align-items:center;
    gap:5px;
}

.home-page .home-card__bottom{
    margin-top:auto;
    padding-top:13px;
    border-top:1px solid #e5eaf0;
}

.home-page .home-card__link{
    display:flex;
    width:100%;
    justify-content:space-between;
    color:var(--home-blue);
}

.home-page .home-value article{
    border-top:3px solid var(--home-blue);
    box-shadow:0 6px 18px rgba(22,32,51,.05);
}

.home-page .home-cta{
    background:#172033;
}

@media(max-width:1100px){
    .home-page .home-search form{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:860px){
    .home-page .home-hero{
        min-height:620px;
    }

    .home-page .home-hero__inner{
        padding-top:54px;
    }

    .home-page .home-hero h1{
        font-size:46px;
    }

    .home-page .home-search form{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .home-page .home-listings{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:600px){
    .home-page .home-hero{
        min-height:610px;
    }

    .home-page .home-hero h1{
        font-size:36px;
    }

    .home-page .home-search{
        width:calc(100% - 24px);
        margin-top:-54px;
    }

    .home-page .home-search form,
    .home-page .home-listings{
        grid-template-columns:1fr;
    }

    .home-page .home-search .home-btn--reset{
        width:100%;
    }

    .home-page .home-card__media{
        aspect-ratio:16/10;
    }

    .home-card__heading{
        grid-template-columns:1fr;
    }

    .home-card__heading small{
        display:inline;
        margin-left:4px;
    }
}
