/* ===== HERO SLIDER ===== */
.hs{position:relative}
.hs-track{display:grid}
.hs-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s}
.hs-slide.is-on{opacity:1;visibility:visible;transition:opacity .7s ease}
.hs-slide .hs-text>*{transform:translateY(18px);opacity:0;transition:transform .7s cubic-bezier(.2,.7,.3,1),opacity .7s}
.hs-slide.is-on .hs-text>*{transform:none;opacity:1}
.hs-slide.is-on .hs-text>*:nth-child(2){transition-delay:.08s}
.hs-slide.is-on .hs-text>*:nth-child(3){transition-delay:.16s}
.hs-slide.is-on .hs-text>*:nth-child(4){transition-delay:.24s}
.hs-slide .hv-main img{transform:scale(1.06);transition:transform 7s ease-out}
.hs-slide.is-on .hv-main img{transform:scale(1)}
.hero .hs-title{font-size:clamp(32px,4.6vw,56px);margin:8px 0 20px;line-height:1.08}
.hero .hs-title em{font-style:normal;background:linear-gradient(100deg,var(--brand),var(--teal));-webkit-background-clip:text;background-clip:text;color:transparent}
.hs .hero-btns{margin-bottom:0}
.hs .eyebrow{display:inline-flex}
.hs-ctrl{display:flex;align-items:center;gap:14px;margin-top:34px}
.hs-arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:.25s}
.hs-arrow:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-light);transform:translateY(-2px)}
.hs-arrow svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.hs-dots{display:flex;gap:8px}
.hs-dot{width:34px;height:6px;border-radius:6px;border:0;padding:0;background:#d5e5f1;cursor:pointer;overflow:hidden;position:relative}
.hs-dot i{position:absolute;inset:0;background:linear-gradient(90deg,var(--brand),var(--teal));transform:scaleX(0);transform-origin:left;border-radius:inherit}
.hs-dot.on i{transform:scaleX(1)}
.hs-auto .hs-dot.on i{transform:scaleX(0);animation:hsbar var(--hs-speed,7000ms) linear forwards}
.hs-paused .hs-dot.on i{animation-play-state:paused}
@keyframes hsbar{to{transform:scaleX(1)}}
.hero .hero-stats{margin-top:44px}
@media (prefers-reduced-motion:reduce){.hs-slide,.hs-slide .hs-text>*,.hs-slide .hv-main img{transition:none!important}.hs-auto .hs-dot.on i{animation:none;transform:scaleX(1)}}

/* clickable cards */
a.card.pr,a.card.vid{color:inherit;text-decoration:none;display:flex}
a.card.vid{display:block}
.nw h3 a{color:inherit}
.nw h3 a:hover{color:var(--brand)}

/* ===== INNER PAGES (event, article, news) ===== */
.page-hero{padding:56px 0 30px;background:linear-gradient(180deg,#f2f8fd,#fff)}
.page-hero .back{display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-weight:700;font-family:'Manrope',sans-serif;font-size:14px;margin-bottom:18px}
.page-hero h1{font-size:clamp(28px,4vw,46px);margin:10px 0 16px;line-height:1.1}
.page-meta{display:flex;flex-wrap:wrap;gap:8px}
.page-meta .tag{font-size:13.5px}
.page-body{padding:30px 0 80px}
.page-body .container{max-width:900px}
.page-lead{font-size:18px;color:var(--muted);margin-bottom:22px}
.entry{font-size:16.5px;line-height:1.7}
.entry p,.entry ul,.entry ol{margin:0 0 1em}
.entry h2,.entry h3{margin:1.4em 0 .6em}
.entry img{max-width:100%;height:auto;border-radius:14px}
.page-cover{border-radius:24px;overflow:hidden;margin-bottom:26px;box-shadow:var(--shadow-m)}
.page-cover img{width:100%;display:block;max-height:460px;object-fit:cover}
.program{margin-top:30px}
.program-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.program-head h2{font-size:24px;margin:0}
.program iframe{width:100%;border:1px solid var(--line);border-radius:18px;min-height:600px;background:#fff;display:block}
.page-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
