.news-page { background: var(--white); }
.news-page .site-header { color: var(--ink); }
.news-main { overflow: hidden; }
.news-hero { position: relative; display: flex; min-height: 560px; align-items: end; padding: calc(var(--header-height) + 80px) 0 90px; overflow: hidden; background: var(--greige); }
.news-hero::before { content: "NEWS"; position: absolute; right: -.035em; bottom: -.2em; color: rgba(41,41,35,.055); font-size: clamp(10rem, 26vw, 26rem); font-weight: 800; line-height: 1; letter-spacing: -.08em; }
.news-hero::after { content: ""; position: absolute; right: 0; inset-block: 0; width: 28%; background: var(--navy); }
.news-hero-inner { position: relative; z-index: 1; width: 100%; }
.news-breadcrumb { margin: 0 0 60px; color: var(--muted); font-size: .7rem; font-weight: 700; letter-spacing: .14em; }
.news-hero h1 { max-width: 70%; margin: 0; font-size: clamp(3.5rem, 7vw, 7rem); font-weight: 600; line-height: 1; letter-spacing: -.065em; }
.news-hero h1 span { display: block; margin-top: 22px; font-size: .82rem; font-weight: 500; letter-spacing: .12em; }
.news-list-section { padding: clamp(100px, 13vw, 180px) 0; }
.news-layout { display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(60px, 10vw, 150px); }
.news-heading h2 { margin: 0; font-size: clamp(2.2rem, 4vw, 3.8rem); font-weight: 500; }
.news-list { border-top: 1px solid var(--line); }
.news-entry { padding: clamp(38px, 5vw, 60px) 0; border-bottom: 1px solid var(--line); }
.news-entry-featured { position: relative; }
.news-entry-featured::before { content: "NEW"; position: absolute; right: 0; top: clamp(38px, 5vw, 60px); color: rgba(41,41,35,.2); font-size: .64rem; font-weight: 700; letter-spacing: .18em; }
.news-meta { display: flex; align-items: center; gap: 24px; color: var(--blue); font-size: .68rem; font-weight: 700; letter-spacing: .12em; }
.news-meta span { padding: 4px 10px; border: 1px solid var(--line); }
.news-entry h3 { margin: 28px 0 34px; font-size: clamp(1.35rem, 2.4vw, 2.2rem); font-weight: 500; line-height: 1.5; }
.news-body { color: var(--muted); }
.news-body p { margin: 0 0 18px; }
.news-link { display: inline-flex; align-items: center; gap: 38px; margin-top: 12px; padding-bottom: 6px; color: var(--ink); border-bottom: 1px solid currentColor; font-size: .8rem; font-weight: 700; }
.news-link i { font-style: normal; transition: transform .25s ease; }
.news-link:hover i { transform: translate(4px,-4px); }
@media (max-width: 900px) { .news-hero { min-height: 460px; } .news-hero::after { width: 14px; } .news-hero h1 { max-width: 100%; } .news-layout { grid-template-columns: 1fr; gap: 48px; } }
