/* Events + News components — shared by index.html, events.html and news.html */
.evt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:22px;margin-top:44px}
.evt{display:grid;grid-template-columns:96px 1fr;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.evt.past{opacity:.72}
.evt .cal{background:linear-gradient(160deg,var(--navy-900),var(--navy-800));color:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:20px 8px;text-align:center}
.evt .cal .m{font-weight:800;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.evt .cal .d{font-weight:900;font-size:2.1rem;line-height:1}
.evt .cal .y{font-weight:700;font-size:.66rem;letter-spacing:.16em;color:#c7d2e2}
.evt .meat{padding:24px 26px}
.evt .badge-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.evt .status{font-weight:800;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:rgba(20,120,60,.1);color:#186a3b;border:1px solid rgba(24,106,59,.35)}
.evt .status.tbc{background:rgba(185,130,43,.12);color:var(--gold-text);border-color:rgba(185,130,43,.4)}
.evt .org{font-weight:800;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.evt h3{font-weight:900;font-size:1.12rem;line-height:1.3;color:var(--navy-900);margin-bottom:12px}
.evt dl{display:grid;grid-template-columns:20px 1fr;gap:7px 10px;margin-bottom:14px}
.evt dl svg{color:var(--gold-text);margin-top:2px}
.evt dl dd{font-size:.9rem;font-weight:600;color:var(--navy-900)}
.evt p.desc{font-size:.92rem;color:var(--ink-soft);margin-bottom:18px}
.evt .evt-actions{display:flex;gap:10px;flex-wrap:wrap}
.evt .evt-actions .btn{font-size:.72rem;padding:11px 18px}
.empty{margin-top:36px;background:var(--white);border:1px dashed var(--line);border-radius:var(--radius);padding:34px;text-align:center}
.empty p{color:var(--ink-soft);font-size:.96rem;max-width:520px;margin:0 auto}
.empty b{color:var(--navy-900)}
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin-top:44px}
.na{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-top:5px solid var(--gold);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 26px 24px;text-decoration:none;transition:.22s}
.na:hover{transform:translateY(-3px);border-top-color:var(--navy-800)}
.na .cat{display:inline-block;align-self:flex-start;font-weight:800;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text);background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:5px 11px;margin-bottom:12px}
.na time{display:block;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.na h3{font-weight:900;font-size:1.06rem;line-height:1.3;color:var(--navy-900);margin-bottom:10px}
.na p{font-size:.9rem;color:var(--ink-soft);flex:1}
.na .more{margin-top:16px;font-weight:800;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text)}
.sec-cta{display:flex;justify-content:center;margin-top:36px}
.article{max-width:760px;margin:0 auto}
.article .cat{display:inline-block;font-weight:800;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:6px 13px;margin-bottom:14px}
.article time{display:block;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px}
.article h1{font-weight:900;text-transform:none;font-size:clamp(1.6rem,3.4vw,2.2rem);line-height:1.2;color:var(--navy-900);margin-bottom:18px}
.article .lede{font-size:1.06rem;color:var(--navy-900);font-weight:500;margin-bottom:22px}
.article img.hero{border-radius:var(--radius);margin-bottom:24px;width:100%}
.article h3{font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:.86rem;color:var(--navy-900);margin:26px 0 8px}
.article p{font-size:.99rem;color:var(--ink-soft);margin-bottom:14px;line-height:1.75}
.article a{color:var(--gold-text);font-weight:700}
.article .sources{margin-top:28px;padding:20px 24px;background:var(--white);border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:0 10px 10px 0}
.article .sources h4{font-weight:800;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text);margin-bottom:10px}
.article .sources li{font-size:.88rem;margin-bottom:6px;margin-left:18px}
.article-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:34px;padding-top:22px;border-top:1px solid var(--line)}
.article-foot .btn{font-size:.72rem}
.share-row{display:flex;align-items:center;gap:9px}
.share-row span{font-weight:800;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.share-row a,.share-row button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--white);border:1px solid var(--line);color:var(--navy-800);cursor:pointer;transition:.2s;font-family:inherit}
.share-row a:hover,.share-row button:hover{background:var(--navy-900);color:var(--gold);border-color:var(--navy-900)}
.share-row button.wide{width:auto;padding:0 14px;font-weight:800;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
@media (max-width:560px){.evt{grid-template-columns:1fr}.evt .cal{flex-direction:row;gap:10px;padding:12px;justify-content:flex-start}.evt .cal .d{font-size:1.4rem}}
.vid{position:relative;margin:36px auto 0;max-width:900px;border-radius:var(--radius);overflow:hidden;background:var(--navy-950);box-shadow:var(--shadow);aspect-ratio:16/9}
.vid.vid-tall{max-width:380px;aspect-ratio:9/16}
.vid iframe,.vid video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.vid-cap{max-width:640px;margin:18px auto 0;text-align:center;font-size:.92rem;color:var(--ink-soft)}
