.article-page{
    max-width:1200px;
    margin:120px auto 80px;
    padding:0 24px;
}

.article-header{
    text-align:center;
    margin-bottom:60px;
}

.article-header h1{
    font-size:clamp(2rem,4vw,3rem);
    font-weight:700;
    margin-bottom:10px;
}

.article-header p{
    max-width:700px;
    margin:auto;
    opacity:.75;
}

.article-grid{
    display:grid;
    grid-template-columns:
        repeat(auto-fill,minmax(320px,1fr));
    gap:30px;
}

.article-card{
    display:block;
    text-decoration:none;
    color:inherit;
    background:var(--card-bg,#fff);
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 8px 30px rgba(0,0,0,.08);
    transition:.3s ease;
}

.article-card:hover{
    transform:translateY(-6px);
}

.article-card-image{
    width:100%;
    height:240px;
    object-fit:cover;
}

.article-card-body{
    padding:24px;
}

.article-card-date{
    font-size:.9rem;
    opacity:.65;
    margin-bottom:12px;
}

.article-card-title{
    font-size:1.3rem;
    line-height:1.4;
    margin-bottom:15px;
    font-weight:700;
}

.article-card-excerpt{
    line-height:1.7;
    opacity:.8;
}

.article-detail{
    max-width:900px;
    margin:120px auto 80px;
    padding:0 24px;
}

.article-detail-title{
    font-size:clamp(2rem,4vw,3.2rem);
    font-weight:700;
    margin-bottom:15px;
}

.article-detail-date{
    opacity:.65;
    margin-bottom:25px;
}

.article-detail-image{
    width:100%;
    border-radius:24px;
    margin-bottom:30px;
}

.article-detail-content{
    line-height:1.9;
    font-size:1.05rem;
}

.article-detail-content img{
    max-width:100%;
    height:auto;
    border-radius:16px;
}