/* ========================================
   Landing Pages
======================================== */

.landing-container{
    max-width:1200px;
    margin:0 auto;
    padding:40px 20px 60px;
}

.landing-container section{
    margin-bottom:56px;
}

.landing-header{
    text-align:center;
    max-width:760px;
    margin:0 auto 48px;
}

.landing-header h1{
    margin-bottom:16px;
}

.landing-header p{
    font-size:1.1rem;
    line-height:1.7;
    color:#555;
}

/* ========================================
   Intro Sections
======================================== */

.landing-content,
.landing-audience,
.landing-benefits,
.landing-faq,
.landing-state-links,
.landing-links{

    max-width:900px;
    margin:0 auto;
}

.landing-content p{
    line-height:1.8;
}

/* ========================================
   Two-column lists
======================================== */

.landing-columns{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:40px;
}

.landing-columns ul{
    margin-top:15px;
    padding-left:22px;
}

.landing-columns li{
    margin-bottom:10px;
}

/* ========================================
   Listings
======================================== */

.location-listings{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:28px;
}

.location-card{

    background:#fff;

    border:1px solid #e5e7eb;

    border-radius:12px;

    overflow:hidden;

    transition:.2s ease;

}

.location-card:hover{

    transform:translateY(-2px);

    box-shadow:0 8px 22px rgba(0,0,0,.08);

}

.location-card-link{

    display:block;

    text-decoration:none;

    color:inherit;

}

.location-card-image{

    aspect-ratio:1.7;

    overflow:hidden;

}

.location-card-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

}

.location-card-body{

    padding:20px;

}

.location-card-title{

    margin-bottom:14px;
    line-height:1.35;

}

.location-card-meta{

    color:#666;

    line-height:1.6;
}
.landing-container section{

    padding-bottom:40px;

    border-bottom:1px solid #ececec;
}

.landing-container section:last-child{

    border-bottom:none;
}
/* ========================================
   Articles
======================================== */

.article-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:24px;

}

.article-card{

    background:#fff;

    border:1px solid #e5e7eb;

    border-radius:12px;

    overflow:hidden;

    transition:.2s ease;

}

.article-card:hover{

    transform:translateY(-2px);

    box-shadow:0 8px 22px rgba(0,0,0,.08);

}

.article-card img{

    width:100%;

    aspect-ratio:16/9;

    object-fit:cover;

}

.article-card a{

    color:inherit;

    text-decoration:none;

}

.article-card h3{

    padding:16px 16px 8px;

    margin:0;

}

.article-card p{

    padding:0 16px 18px;

    margin:0;

    color:#666;

    line-height:1.6;

}

/* ========================================
   State Links
======================================== */

.landing-state-links ul{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));

    gap:14px;

    list-style:none;

    padding:0;

    margin-top:24px;

}

.landing-state-links li{

    margin:0;

}

.landing-state-links a{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:14px 18px;

    border:1px solid #e5e7eb;

    border-radius:10px;

    background:#fff;

    color:#1f2937;

    text-decoration:none;

    transition:.18s ease;

}

.landing-state-links a:hover{

    background:#f8fafc;

    border-color:#cbd5e1;

    transform:translateY(-1px);

}

/* ========================================
   Mobile
======================================== */

@media (max-width:768px){

    .landing-container{

        padding:24px 16px 40px;

    }

    .landing-container section{

        margin-bottom:40px;

    }

}