:root{font-family:Arial,Helvetica,sans-serif;color:#252829;background:#fff;letter-spacing:0}*{box-sizing:border-box}body{margin:0}a{color:#a81928}a:focus-visible{outline:3px solid #258a88;outline-offset:4px}h1,h2{line-height:1.2;overflow-wrap:anywhere}p{line-height:1.75}h1{font-size:38px}h2{font-size:25px}.news-header{padding:18px 32px;border-top:6px solid #bd1520;border-bottom:1px solid #ddd;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}.news-brand{display:flex;align-items:center;gap:14px;color:#252829;font-weight:700;text-decoration:none}.news-brand img{background:#bd1520;width:90px;height:48px;object-fit:contain;padding:6px}.news-header nav{display:flex;flex-wrap:wrap;gap:24px}.news-header nav a{text-decoration:none}.news-index{max-width:1080px;margin:48px auto;padding:0 24px}.news-listing{display:grid;grid-template-columns:340px minmax(0,1fr);gap:36px;padding:30px 0;border-bottom:1px solid #ddd}.news-listing img{width:100%;aspect-ratio:4/3;object-fit:cover}.news-listing h2 a{text-decoration:none}.news-meta,.news-byline{font-size:14px;color:#626a6b}.news-archive{padding:30px 0}.news-article{max-width:800px;margin:44px auto 72px;padding:0 24px;font-size:17px}.news-article figure{margin:30px 0}.news-article figure img{width:100%;aspect-ratio:16/10;object-fit:cover}.news-article figcaption{font-size:14px;line-height:1.5;color:#667172;padding-top:8px}.news-article section{margin-top:36px}.news-sources{border-top:1px solid #ddd;padding-top:22px;font-size:14px}.news-footer{padding:30px 24px;border-top:1px solid #ddd;display:flex;gap:24px;justify-content:center;flex-wrap:wrap;font-size:15px}.news-footer a{overflow-wrap:anywhere}@media(max-width:720px){h1{font-size:30px}h2{font-size:23px}.news-header{padding:14px 20px}.news-header nav{gap:20px}.news-listing{grid-template-columns:1fr;gap:12px}.news-article{margin-top:30px}.news-footer{justify-content:flex-start}}
.festival-fees { margin: 24px 0; }
.festival-fees > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 12px 0; border-bottom: 1px solid #ddd; }
.festival-fees dt { font-weight: 700; }
.festival-fees dd { margin: 0; }
@media (max-width: 480px) { .festival-fees > div { grid-template-columns: minmax(0, 1fr); gap: 4px; } }
