/* Events page: clear schedules and restrained styling for the public site. */
.events-page { --ev-ink:#1e3a55; --ev-copy:#536b82; --ev-line:#dfe8f2; --ev-paper:#f3f7fb; }
.events-page :is(h1,h2,h3,h4,p,span) { overflow-wrap:break-word; }
.events-page .section { padding-block:clamp(60px,7vw,94px); }
.events-page [id] { scroll-margin-top:110px; }
.events-page h2 { font-size:clamp(1.7rem,3vw,2.4rem); line-height:1.25; letter-spacing:-.025em; text-wrap:balance; }
.events-page .section-label { color:#315e95; font-size:.69rem; font-weight:600; letter-spacing:.14em; margin-bottom:14px; }
.events-page .section-label.light { color:#b4d0ee; }
.events-page .section-header { margin-bottom:38px; max-width:760px; margin-inline:auto; }
.events-page .section-header p { font-size:.94rem; line-height:1.85; color:var(--ev-copy); margin-bottom:0; }
.events-page .btn { min-height:46px; max-width:100%; border-radius:8px; font-size:.86rem; font-weight:500; line-height:1.65; white-space:normal; text-align:center; justify-content:center; }
.events-page .btn-lg { font-size:.93rem; padding:14px 24px; }
.events-page .btn-primary { background:#2865bd; border-color:#2865bd; }
.events-page .btn-primary:hover { background:#20549f; border-color:#20549f; }
.events-page .btn-outline-dark { background:#fff; border:1px solid #cad8e8; color:#315a88; }
.events-page .btn-outline-dark:hover { background:#edf3fb; border-color:#a4bdd9; }
.events-page .page-hero-events { background:linear-gradient(115deg,#11283f,#1f405e); padding:78px 0 72px; text-align:left; }
.events-page .page-hero-events::before,.events-page .page-hero-events::after { opacity:.2; }
.events-page .page-hero-events .page-hero-overlay { background:radial-gradient(ellipse at 80% 40%,#6c9cc714,transparent 65%); }
.events-page .ev-hero-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr); align-items:center; gap:65px; }
.events-page .page-hero-badge { padding:7px 12px; border:1px solid #aec9e53b; color:#bdd4ed; background:#ffffff06; border-radius:5px; font-size:.68rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; margin-bottom:24px; }
.events-page .page-hero-events h1 { font-size:clamp(2.15rem,4.5vw,3.6rem); line-height:1.1; letter-spacing:-.03em; text-wrap:balance; margin-bottom:24px; }
.events-page .ev-hero-copy > p { margin:0 0 28px; max-width:580px; font-size:1rem; line-height:1.9; color:#c7d8e9; }
.events-page .ev-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.events-page .ev-hero-actions .btn-outline { border:1px solid #a6bfdb70; background:#ffffff06; }
.events-page .ev-hero-actions .btn-outline:hover { background:#ffffff14; color:#fff; }
.events-page .social-share { border-top:1px solid #ffffff18; margin-top:28px; padding-top:20px; justify-content:flex-start; }
.events-page .social-share > span { color:#a8c0da; font-size:.73rem; }
.events-page .social-share a { width:34px; height:34px; background:#ffffff08; border:1px solid #ffffff1c; color:#d2e4f6; }
.events-page .ev-weekly-summary { padding:29px; border:1px solid #bad2ec30; border-radius:14px; background:#ffffff05; }
.events-page .ev-summary-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:9px; background:#ffffff08; color:#bad4ee; margin-bottom:24px; }
.events-page .ev-summary-label { display:block; text-transform:uppercase; font-size:.64rem; line-height:1.9; letter-spacing:.12em; color:#b3cce6; margin-bottom:13px; }
.events-page .ev-weekly-summary h2 { color:#f3f7fc; font-size:1.7rem; font-weight:400; margin:0 0 10px; }
.events-page .ev-weekly-summary .ev-summary-time { color:#d5e5f8; font-size:1.2rem; line-height:1.7; margin:0 0 20px; }
.events-page .ev-summary-time > span { font-size:.7rem; color:#aec6df; margin-left:5px; }
.events-page .ev-weekly-summary > p:not(.ev-summary-time) { font-size:.86rem; color:#bccfe3; line-height:1.85; margin:0 0 23px; }
.events-page .ev-weekly-summary > a { display:flex; align-items:center; gap:15px; border-top:1px solid #ffffff1c; padding-top:20px; font-size:.8rem; color:#d3e5f9; }
.events-page .ev-weekly-summary > a:hover { color:#fff; }
.events-page #upcoming .section-header { text-align:left; max-width:none; }
.events-page #upcoming .section-header p { margin-inline:0; max-width:none; }
.events-page .ev-events-list { gap:22px; }
.events-page .ev-event-card { display:grid; grid-template-columns:112px minmax(0,1fr); border:1px solid var(--ev-line); border-radius:13px; box-shadow:0 5px 20px #1b3b5605; }
.events-page .ev-event-card:hover { transform:translateY(-2px); box-shadow:0 12px 28px #1b3b560b; border-color:#adcae7; }
.events-page .ev-event-date { min-width:0; padding:25px 15px; gap:7px; color:#345f8e; background:#edf3fb; border-right:1px solid #dce7f5; }
.events-page .ev-event-month { font-size:.7rem; letter-spacing:.12em; opacity:1; }
.events-page .ev-event-day { font-size:2.4rem; font-weight:400; }
.events-page .ev-event-year { font-size:.71rem; opacity:1; color:#69829c; }
.events-page .ev-event-body { min-width:0; padding:28px 30px; }
.events-page .ev-event-body h3 { font-size:1.45rem; font-weight:400; line-height:1.4; margin-bottom:16px; }
.events-page .ev-event-body p { color:var(--ev-copy); font-size:.92rem; line-height:1.9; }
.events-page .ev-event-meta { gap:9px 25px; margin-bottom:17px; }
.events-page .ev-event-meta span { align-items:baseline; font-size:.79rem; line-height:1.8; color:#58738e; min-width:0; }
.events-page .ev-event-meta i { color:#6a8caf; flex-shrink:0; }
.events-page .ev-event-badge { font-size:.63rem; line-height:1.8; letter-spacing:.08em; background:#edf3fb; border:1px solid #dae6f4; color:#416b99; border-radius:5px; padding:5px 9px; margin-bottom:13px; }
.events-page .ev-badge-highlight { background:#e5eefb; border-color:#bfD1e8; color:#315a88; }
.events-page .ev-empty-state { display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:24px; align-items:center; padding:32px; border:1px dashed #cbdbea; border-radius:13px; background:#f7f9fc; }
.events-page .ev-empty-icon { display:grid; place-items:center; width:51px; height:51px; background:#eaf1fa; border-radius:11px; color:#577da7; font-size:1.1rem; }
.events-page .ev-empty-state h3 { color:#33536f; font-size:1.25rem; font-weight:400; margin-bottom:8px; }
.events-page .ev-empty-state p { color:#5d748b; font-size:.9rem; line-height:1.8; margin:0; }
.events-page #live { background:var(--ev-paper); border-block:1px solid #e3ebf4; }
.events-page #live .section-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:65px; }
.events-page .ev-stream-badge { margin-bottom:21px; }
.events-page .live-badge { background:#e8effa; color:#3e6a9c; border:1px solid #d3e2f6; border-radius:6px; font-size:.7rem; letter-spacing:.03em; padding:7px 11px; }
.events-page .live-badge::before { background:#5d81ac; animation:none; }
.events-page #live .section-content > h3 { font-size:1.7rem; font-weight:400; line-height:1.4; margin-bottom:18px; }
.events-page #live .section-content > p { color:var(--ev-copy); font-size:.96rem; line-height:1.9; }
.events-page #live strong { font-weight:600; color:#31516f; }
.events-page .ev-stream-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:25px; }
.events-page .ev-stream-actions .btn-outline { background:#fff; color:#365e8d; border:1px solid #c6d6e8; }
.events-page .ev-stream-actions .btn-outline:hover { background:#e9f1fb; border-color:#9eb9d9; }
.events-page .ev-subscribe-wrap { text-align:left; }
.events-page .info-box { text-align:left; padding:34px; background:linear-gradient(125deg,#152f49,#254969); border:1px solid #345574; border-radius:15px; box-shadow:0 12px 30px #1939540c; }
.events-page .info-box-icon { font-size:1.9rem; margin-bottom:24px; color:#b8d5f3; }
.events-page .info-box h4 { color:#f4f7fc; font-size:1.45rem; line-height:1.4; font-weight:400; }
.events-page .info-box-text { color:#c5d6e8; font-size:.91rem; line-height:1.9; margin:16px 0 25px; }
.events-page .info-box .btn-outline-light { border:1px solid #acc7e169; font-size:.8rem; }
.events-page .ev-annual-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.events-page .ev-annual-card { text-align:left; padding:32px; display:flex; flex-direction:column; border:1px solid var(--ev-line); border-radius:13px; box-shadow:0 6px 20px #15365405; }
.events-page .ev-annual-card:hover { transform:translateY(-3px); border-color:#adc8e6; box-shadow:0 12px 30px #1536540b; }
.events-page .ev-annual-icon { width:46px; height:46px; border-radius:11px; background:#edf3fb; color:#4b729d; border:1px solid #dce7f5; font-size:1.08rem; margin:0 0 23px; }
.events-page .ev-annual-card h3 { font-size:1.45rem; font-weight:400; line-height:1.4; margin-bottom:15px; }
.events-page .ev-annual-card p { font-size:.93rem; line-height:1.9; color:var(--ev-copy); margin-bottom:25px; }
.events-page .ev-annual-when { align-items:baseline; gap:9px; margin-top:auto; padding-top:18px; border-top:1px solid #e0e8f2; font-size:.78rem; line-height:1.8; font-weight:400; color:#4c7197; }
.events-page .ev-annual-when i { flex-shrink:0; }
.events-page .cta-section { background:var(--ev-paper); }
.events-page .cta-overlay { display:none; }
.events-page .cta-content { max-width:1160px; width:calc(100% - 40px); padding:48px 34px; background:linear-gradient(120deg,#152f49,#23496a); border:1px solid #315373; border-radius:17px; }
.events-page .cta-content > p { color:#cad9e9; font-size:.96rem; line-height:1.9; max-width:700px; }
.events-page .cta-content .btn-outline-light { border-width:1px; border-color:#adc5df70; }
.events-page :is(.ev-hero-layout,.section-grid,.ev-annual-grid,.ev-event-card,.ev-empty-state) > * { min-width:0; }
@media (max-width:1000px) {
 .events-page .ev-hero-layout { gap:35px; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); }
 .events-page #live .section-grid { gap:32px; }
 .events-page .ev-empty-state { gap:20px; padding:28px; }
}
@media (max-width:768px) {
 .events-page .page-hero-events { padding:52px 0; }
 .events-page .ev-hero-layout,.events-page #live .section-grid { grid-template-columns:minmax(0,1fr); gap:34px; }
 .events-page .ev-weekly-summary { padding:27px; }
 .events-page .ev-annual-card { padding:27px; }
 .events-page .ev-empty-state { grid-template-columns:50px minmax(0,1fr); }
 .events-page .ev-empty-state .btn { grid-column:1 / -1; justify-self:start; }
 .events-page .ev-event-card { grid-template-columns:88px minmax(0,1fr); }
 .events-page .ev-event-date { flex-direction:column; padding:22px 12px; }
 .events-page .ev-event-day { font-size:2.1rem; }
 .events-page .ev-event-body { padding:25px; }
 .events-page [id] { scroll-margin-top:95px; }
}
@media (max-width:600px) {
 .events-page .page-hero-events h1 { font-size:clamp(2.15rem,7vw,2.8rem); }
 .events-page .section { padding-block:56px; }
 .events-page .ev-hero-actions,.events-page .ev-stream-actions { flex-direction:column; align-items:stretch; }
 .events-page .ev-annual-grid { grid-template-columns:minmax(0,1fr); gap:21px; }
 .events-page .ev-annual-card { padding:27px; }
 .events-page .ev-event-card { grid-template-columns:minmax(0,1fr); }
 .events-page .ev-event-date { flex-direction:row; justify-content:flex-start; gap:10px; padding:16px 24px; border-right:0; border-bottom:1px solid #dce7f5; }
 .events-page .ev-event-year { margin-top:0; }
 .events-page .ev-event-day { font-size:1.8rem; }
 .events-page .ev-event-body { padding:25px 23px; }
 .events-page .ev-empty-state { padding:26px 22px; gap:18px; }
 .events-page .info-box { padding:29px 25px; }
 .events-page .cta-content { padding:36px 24px; }
 .events-page .cta-buttons { flex-direction:column; align-items:stretch; }
}
@media (prefers-reduced-motion:reduce) {
 .events-page *, .events-page *::before,.events-page *::after { animation:none!important; transition:none!important; }
 .events-page [data-animate] { opacity:1!important; transform:none!important; }
}
