.newssec{background:var(--ivory);padding:72px 72px}
.newsintro{font-size:15px;color:var(--muted);line-height:1.88;max-width:680px;margin-bottom:36px}
.nfilter{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:44px}
.nfbtn{padding:8px 18px;border:1px solid rgba(201,168,76,.3);border-radius:1px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:transparent;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif}
.nfbtn.act,.nfbtn:hover{background:var(--charcoal);color:var(--ivory);border-color:var(--charcoal)}
.ngrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(201,168,76,.1)}
.ncard{background:var(--ivory2);overflow:hidden;transition:background .3s}
.ncard:hover{background:var(--ivory)}
.ncimg{height:195px;overflow:hidden}
.ncimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ncard:hover .ncimg img{transform:scale(1.05)}
.ncbody{padding:24px 24px 28px}
.ncat{display:inline-block;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--sage);border:1px solid var(--sage2);padding:3px 9px;border-radius:1px;margin-bottom:12px}
.ncard h3{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:400;color:var(--charcoal);line-height:1.3;margin-bottom:7px}
.ncard p{font-size:13px;color:var(--muted);line-height:1.72}
.ndate{font-size:11px;color:var(--muted2);margin-top:12px}
@media(max-width:1080px){.ngrid{grid-template-columns:1fr 1fr}.newssec{padding:68px 36px}}
@media(max-width:768px){.ngrid{grid-template-columns:1fr}.newssec{padding:56px 18px}}

.art-more{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);margin-top:10px}
.ncard a{text-decoration:none;color:inherit}

/* Dynamic loading states */
.n-loading{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--muted);font-size:15px}
.n-loading span{display:inline-flex;align-items:center;gap:10px}
.n-loading span::before{content:'';display:inline-block;width:18px;height:18px;border:2px solid rgba(201,168,76,.25);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.n-empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--muted);font-size:15px}
