.news-page { background:#f5f1e9; }
.news-page .shell { width:90%; max-width:1280px; }
.news-header.hero { background:#041016; overflow:visible; }
.news-header.hero::after { display:none; }
.news-header .site-nav { height:clamp(90px,8.7vw,126px); max-height:none; }
.news-header .brand { font-size:clamp(25px,3.05vw,40px); }
.news-header .brand-subtitle { color:#ede6de; }
.news-header .nav-links { gap:clamp(20px,3.4vw,48px); }
.news-header .nav-links a { font-size:clamp(14px,1.45vw,19px); color:#f4efe8; }
.news-header .nav-links a.active { color:#e88030; }
.news-header .nav-links a.active::after { background:#e88030; }
.news-banner {
  min-height:clamp(222px,21.6vw,310px);
  padding:30px 20px 45px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; color:#07111a;
  background:#edd8c5 url('/assets/news-misty-banner.png') center center / cover no-repeat;
}
.news-banner h1 { font-family:Georgia,serif; font-size:clamp(42px,4.4vw,62px); line-height:1.1; font-weight:400; letter-spacing:.2em; margin:0 0 15px; padding-left:.2em; }
.news-banner p { font-size:clamp(19px,1.95vw,26px); font-style:italic; line-height:1.35; margin:16px 0 0; }
.news-ornament, .news-divider { display:flex; align-items:center; gap:13px; }
.news-ornament { width:190px; }
.news-ornament::before, .news-ornament::after, .news-divider::before, .news-divider::after { content:''; height:1px; flex:1; background:#d87842; }
.news-ornament span, .news-divider span { display:block; width:9px; height:9px; background:#df7839; transform:rotate(45deg); flex-shrink:0; }
.news-list { padding:40px 12px 46px; }
.news-entry { display:grid; grid-template-columns:33.5% minmax(0,1fr); gap:36px; align-items:start; scroll-margin-top:25px; }
.entry-thumbnail { display:block; aspect-ratio:1.15; overflow:hidden; box-shadow:0 7px 17px #07111a20; }
.entry-thumbnail img { display:block; width:100%; height:100%; object-fit:cover; }
/* Match the other thumbnails, with a slight crop at the crown. */
.entry-thumbnail.portrait img { object-position:50% 12%; }
.entry-thumbnail.festival { background:#000; }
.entry-thumbnail.festival img { object-fit:contain; }
.entry-thumbnail.mystic img { object-position:50% 0%; }
.entry-thumbnail.award img { object-fit:cover; }
.entry-copy { padding-top:1px; }
.entry-copy time { font-family:Georgia,serif; font-size:12px; letter-spacing:.28em; color:#a9401e; }
.entry-copy h2 { color:#07111a; font-family:Georgia,serif; font-size:clamp(27px,2.9vw,39px); font-weight:400; line-height:1.13; margin:12px 0 13px; }
.entry-copy h2 a { transition:color .18s ease; text-decoration-thickness:1px; text-underline-offset:.16em; }
.entry-copy h2 a:hover, .entry-copy h2 a:focus-visible { color:#a9401e; text-decoration:underline; }
.entry-thumbnail:hover { box-shadow:0 7px 20px #07111a38; }
.entry-copy p { margin:0; font-size:clamp(17px,1.73vw,23px); line-height:1.43; }
.news-divider { margin:36px -12px 32px; }
.news-page .footer-inner { padding-top:100px; }
.news-page .footer-main { grid-template-columns:1fr 1.8fr .6fr; gap:28px; }
.news-page .footer-nav { gap:22px; flex-wrap:wrap; }
.news-page .footer-name { white-space:nowrap; }
@media (max-width:1000px) {
  .news-header .nav-links { top:100%; }
  .news-header .nav-links a { font-size:17px; }
  .news-page .footer-main { grid-template-columns:1fr; gap:24px; text-align:center; }
  .news-page .footer-social { justify-content:center; }
}
@media (max-width:780px) {
  .news-header .site-nav { height:90px; }
  .news-header .brand { font-size:25px; }
  .news-header .nav-links { top:100%; }
  .news-banner { min-height:235px; padding:30px 22px; background-position:52% center; }
  .wide-break { display:none; }
  .news-banner p { max-width:430px; }
  .news-list { padding:32px 0 40px; max-width:560px; }
  .news-entry { grid-template-columns:1fr; gap:24px; }
  .entry-thumbnail { aspect-ratio:1.35; }
  .entry-copy h2 { font-size:29px; }
  .entry-copy p { font-size:18px; }
  .entry-copy time { font-size:11px; }
  .news-divider { margin:32px 0; }
  .news-page .footer-inner { padding-top:65px; }
}
@media (max-width:360px) { .news-header .brand { font-size:21px; } }
@media (prefers-reduced-motion:reduce) { .entry-copy h2 a { transition:none; } }
