/* News and article design — preserves the site's existing warm editorial style. */
.news-hero { background: linear-gradient(135deg, #faf5f1 0%, #fff 100%); border-bottom: 1px solid var(--color-border); }
.news-hero-content { padding-top: clamp(3.8rem, 7vw, 6.6rem); padding-bottom: clamp(3.6rem, 6vw, 5.6rem); }
.news-eyebrow { display: block; color: var(--color-primary-dark); font-weight: 700; text-transform: uppercase; font-size: .76rem; letter-spacing: .20em; margin-bottom: 1rem; }
.news-hero h1 { font-family: var(--font-heading); font-size: clamp(2.8rem, 6vw, 5rem); max-width: 850px; line-height: 1.12; margin: 0 0 1.1rem; color: #201b18; }
.news-hero p { max-width: 680px; font-size: clamp(1rem, 1.7vw, 1.2rem); line-height: 1.75; color: var(--color-text-muted); margin: 0; }
.news-index { padding-top: clamp(2.7rem, 5vw, 4.6rem); padding-bottom: clamp(4rem, 8vw, 7rem); }
.news-toolbar { margin-bottom: 2.1rem; }
.news-toolbar[hidden] { display:none; }
.news-section-heading { color: #29201c; font-size: 1.1rem; margin: 0 0 1rem; }
.news-filters { display:flex; gap: .55rem; flex-wrap: wrap; }
.news-filter { background: #fff; border: 1px solid #d8ccc5; border-radius: 999px; color: #4b4039; padding: .55rem 1rem; font: 500 .89rem var(--font-body); cursor:pointer; transition: .2s; }
.news-filter:hover, .news-filter:focus-visible { border-color: var(--color-primary); color: var(--color-primary-dark); }
.news-filter[aria-pressed="true"] { background: #30221b; border-color: #30221b; color: #fff; }
.news-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 2rem; }
.news-card { border: 1px solid var(--color-border); border-radius: 14px; overflow: hidden; background: white; display: flex; flex-direction: column; transition: box-shadow .2s,transform .2s; min-width:0; }
.news-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(46,25,16,.09); }
.news-card-visual { display:block; overflow:hidden; background:#f3e9e2; aspect-ratio: 16/9; }
.news-card-image { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.news-card:hover .news-card-image { transform:scale(1.035); }
.news-card-placeholder { display:flex; align-items:center; justify-content:center; height:100%; min-height:160px; background:linear-gradient(120deg,#e9d3c2,#f9f1eb); color:#a97858; }
.news-card-placeholder span { font-family:var(--font-heading); font-size:clamp(2.7rem,5vw,5rem); letter-spacing:.1em; }
.news-card-body { padding:clamp(1.35rem,2.5vw,2rem); display:flex; flex-direction:column; flex:1; }
.news-card-meta,.article-meta { display:flex; align-items:center; flex-wrap:wrap; gap: .8rem; font-size:.8rem; font-weight:500; color:#7a6c62; margin-bottom: .8rem; }
.news-category { display:inline-block; color:var(--color-primary-dark); font-weight:700; font-size:.72rem; letter-spacing:.09em; text-transform:uppercase; }
.news-card-title { font-family:var(--font-heading); font-size:clamp(1.3rem,2vw,1.7rem); line-height:1.32; color:#211914; margin:0 0 .85rem; }
.news-card-title a { color:inherit; text-decoration:none; }
.news-card-title a:hover { color:var(--color-primary-dark); }
.news-card-excerpt { font-size:.95rem; color:#61554e; line-height:1.75; margin:0 0 1.5rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.news-card-read { margin-top:auto; color:var(--color-primary-dark); font-weight:700; font-size:.88rem; text-decoration:none; align-self:flex-start; padding-bottom:.2rem; border-bottom:1px solid currentColor; }
.news-card-read span { margin-left:.45rem; }
.news-card-read:hover { color:#392016; }
.news-card-featured { grid-column:1 / -1; display:grid; grid-template-columns: 1.1fr 1fr; }
.news-card-featured .news-card-visual { aspect-ratio:auto; min-height:340px; }
.news-card-featured .news-card-body { padding:clamp(2rem,4vw,4rem); justify-content:center; }
.news-card-featured .news-card-title { font-size:clamp(1.8rem,3vw,2.7rem); }
.news-card-featured .news-card-excerpt { font-size:1.02rem; -webkit-line-clamp:4; }
.news-state { background:var(--color-bg-alt); border:1px solid var(--color-border); padding:2rem; border-radius:12px; text-align:center; color:var(--color-text-muted); }
.article-page { padding:clamp(2rem,5vw,4rem) 0 clamp(4rem,8vw,7rem); }
.article-container { max-width:1020px; }
.article-back, .article-end-link a { display:inline-flex; align-items:center; gap:.6rem; font-size:.9rem; font-weight:600; color:var(--color-primary-dark); text-decoration:none; }
.article-back { margin-bottom:clamp(2.4rem,5vw,4.5rem); }
.article-back:hover,.article-end-link a:hover { text-decoration:underline; }
.article-header { max-width:810px; margin:0 auto 2rem; }
.article-header h1 { font-family:var(--font-heading); font-size:clamp(2.2rem,5vw,4.3rem); line-height:1.16; letter-spacing:-.025em; margin:0 0 1.4rem; color:#221914; overflow-wrap:anywhere; }
.article-deck { color:#60534a; font-size:clamp(1.03rem,1.85vw,1.25rem); line-height:1.75; margin:0; }
.article-hero-image { margin:2.6rem auto 3.4rem; max-width:970px; }
.article-hero-image img { width:100%; max-height:620px; object-fit:cover; border-radius:14px; display:block; }
.article-content { max-width:760px; margin:0 auto; color:#302824; font-size:1.06rem; line-height:1.9; overflow-wrap:break-word; }
.article-content p { margin:0 0 1.45rem; }
.article-content h2,.article-content h3,.article-content h4 { font-family:var(--font-heading); line-height:1.3; color:#251c17; margin:2.2rem 0 1rem; }
.article-content h2 { font-size:1.8rem; } .article-content h3 { font-size:1.45rem; }
.article-content ul,.article-content ol { margin:0 0 1.5rem; padding-left:1.8rem; }
.article-content li { margin:.4rem 0; }
.article-content blockquote { border-left:3px solid var(--color-primary); padding:.2rem 0 .2rem 1.4rem; margin:2rem 0; font-family:var(--font-heading); font-size:1.35rem; color:#59453a; }
.article-content a { color:var(--color-primary-dark); text-underline-offset:3px; }
.article-loading { color:var(--color-text-muted); padding:3rem; text-align:center; }
.article-end-link { max-width:760px; margin:4rem auto 0; border-top:1px solid var(--color-border); padding-top:2rem; }
@media (max-width: 760px) { .news-grid { grid-template-columns:1fr; gap:1.3rem; } .news-card-featured { display:flex; grid-column:auto; } .news-card-featured .news-card-visual { min-height:0; aspect-ratio:16/9; } .news-card-featured .news-card-body { padding:1.5rem; } .news-card-featured .news-card-title { font-size:1.65rem; } .article-hero-image { margin:2rem auto 2.2rem; } .article-hero-image img { border-radius:9px; } }
@media (prefers-reduced-motion: reduce) { .news-card,.news-card-image {transition:none;} }
