:root{
    --color-accent:#8b9a6f;
    --color-muted:#7a6a5a;
    --color-white:#ffffff;
}
.article-hero{
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    min-height:65vh;
    color:var(--color-white);
    text-shadow:0 2px 12px rgba(0,0,0,.7);
}
.article-content{
    max-width:820px;
    margin:0 auto;
    font-size:1rem;
    line-height:1.9;
    color:#333;
}
.article-content p{margin-bottom:1.25rem;}
.article-content h2{
    font-size:1.4rem;
    font-weight:600;
    margin:2.5rem 0 1rem;
}
.article-content h3{
    font-size:1.2rem;
    font-weight:600;
    margin:2rem 0 1rem;
}
.article-content img{
    max-width:100%;
    border-radius:.5rem;
}
.meta-info{
    font-size:.95rem;
    color:var(--color-muted);
}
.summary{
    max-width:760px;
}
.btn-outline-accent{
    color:var(--color-accent);
    border-color:var(--color-accent);
    border-radius:50rem;
}
.btn-outline-accent:hover{
    background:var(--color-accent);
    color:var(--color-white);
}
.article-gallery{
    width:100%;
}
.gallery-main{
    border-radius:.8rem;
    overflow:hidden;
    background:#eee;
}
.carousel-inner,
.carousel-item{
    height:clamp(320px,50vw,540px);
}
.carousel-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}
.gallery-thumbs{
    display:flex;
    gap:1rem;
    padding:.8rem 0;
}
.gallery-thumb{
    flex:0 0 auto;
    width:140px;
    aspect-ratio:16/10;
    border-radius:.6rem;
    overflow:hidden;
    border:2px solid transparent;
    background:#ddd;
    padding:0;
    position:relative;
    line-height:0;
    cursor:pointer;
    transition:.2s;
}
.gallery-thumb img{
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    object-fit:cover;
    object-position:center;
    display:block;
}
.gallery-thumb:hover {
    transform: translateY(-2px);
}
.gallery-thumb.is-active{
    border-color:#1a73e8;
}