:root{--purple:#4f0a6e;--purple2:#661a8a;--yellow:#ffd43b;--orange:#f26a2b;--red:#ee1c00;--cream:#fff3d6;--char:#2b2b2b;--soft:#e2c9ee}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--char);color:var(--cream);font-family:'Mulish',system-ui,sans-serif;font-size:17px;line-height:1.5}
a{text-decoration:none;color:inherit}
:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.u{font-family:'Unbounded',sans-serif;font-weight:800;text-transform:uppercase}
.pill{display:inline-flex;padding:7px 16px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 28px;border-radius:999px;border:0;font-family:'Mulish',sans-serif;font-weight:800;font-size:16px;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}
.wave{line-height:0}.wave svg{display:block;width:100%;height:clamp(28px,5vw,72px)}

header{position:sticky;top:0;z-index:30;background:var(--purple)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:10px}
header img{height:54px;width:auto;display:block}
.hbtn{height:44px;padding:0 20px;font-size:14px;background:var(--yellow);color:var(--purple)}
.hbtn:hover{background:var(--orange)}

.hero{position:relative;overflow:hidden;background:var(--purple);padding:clamp(48px,8vw,100px) 0 clamp(40px,6vw,72px)}
.hero svg.blob{position:absolute;top:0;left:0;width:100%;height:60%}
.hero .wrap{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px 56px;align-items:center}
.hero h1{font-size:clamp(34px,5.4vw,72px);line-height:1.05;letter-spacing:-.01em;margin:18px 0 22px;text-wrap:balance}
.hero h1 span{color:var(--yellow)}
.hero p{font-size:clamp(18px,1.8vw,22px);max-width:40ch;margin:0 0 30px}
.hero .logo{justify-self:center;width:min(100%,340px);height:auto}
.hero .btn{background:var(--yellow);color:var(--purple)}.hero .btn:hover{background:var(--cream)}


section{scroll-margin-top:74px}
.hero{min-height:calc(100vh - 74px);min-height:calc(100svh - 74px);display:flex;align-items:center}
.hero .wrap{width:100%}
.facts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.cta{height:60px;font-size:18px;padding:0 34px}
.nav{display:flex;gap:10px;margin-left:auto}
.nav a{height:44px;display:inline-flex;align-items:center;padding:0 18px;border-radius:999px;font-weight:800;font-size:14px;color:var(--cream);background:var(--purple2)}
.nav a:hover{background:var(--orange);color:var(--char)}
/* hero event cards */
.evs{display:grid;gap:22px;max-width:560px;width:100%;justify-self:center}
.ev{display:grid;grid-template-columns:auto 1fr;gap:6px 24px;align-items:center;border-radius:28px;padding:24px 26px;background:var(--bg);color:var(--fg);transition:transform .2s;box-shadow:0 14px 34px rgba(0,0,0,.3)}
.ev:hover{transform:translateY(-4px) rotate(-.5deg)}
.ev .dd{grid-row:span 4;text-align:center;min-width:86px}
.ev .dd b{display:block;font-family:'Unbounded',sans-serif;font-weight:800;font-size:58px;line-height:1;color:var(--ac)}
.ev .dd span{display:block;font-family:'Unbounded',sans-serif;font-weight:700;font-size:14px;text-transform:uppercase;margin-top:6px}
.ev small{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mu)}
.ev h3{margin:0;font-family:'Unbounded',sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(20px,2.4vw,26px);line-height:1.1}
.ev .et{font-weight:700;font-size:15px;line-height:1.3}
.ev em{font-style:normal;font-weight:800;font-size:15px;color:var(--ac)}
.e1{--bg:var(--orange);--fg:var(--char);--ac:var(--purple);--mu:#4a2a1a}
.e3{--bg:var(--yellow);--fg:var(--purple);--ac:var(--red);--mu:#6b4a12}
.e2{--bg:var(--red);--fg:var(--cream);--ac:var(--yellow);--mu:#ffd9d2}
/* event sections */
.event{position:relative;overflow:hidden;padding:clamp(56px,8vw,110px) 0 clamp(72px,9vw,120px);background:var(--sbg);color:var(--sfg)}
.event .wrap{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:56px 56px;align-items:center}
.event h2{font-size:clamp(34px,5.4vw,72px);line-height:1.05;letter-spacing:-.01em;margin:18px 0 18px;text-wrap:balance}
.event h2 span{color:var(--hl)}
.event .lead{font-size:clamp(18px,1.8vw,22px);max-width:42ch;margin:0 0 28px}
.topic{font-family:'Unbounded',sans-serif;font-weight:700;font-size:clamp(20px,2.4vw,28px);line-height:1.2;color:var(--hl);margin:-4px 0 14px;text-wrap:balance}
.event .kind{background:var(--pbg);color:var(--pfg)}
.event .facts span{background:var(--fbg);color:var(--ffg)}
.event .cta{background:var(--bbg);color:var(--bfg)}
.event .cta:hover{background:var(--bh);color:var(--bhf)}
.soon{background:transparent!important;color:var(--sfg)!important;border:2px dashed var(--fr);cursor:default}
.t-dark{--sbg:var(--purple);--sfg:var(--cream);--hl:var(--yellow);--pbg:var(--yellow);--pfg:var(--purple);--fbg:var(--purple2);--ffg:var(--cream);--bbg:var(--yellow);--bfg:var(--purple);--bh:var(--cream);--bhf:var(--purple);--fr:var(--yellow);--cap:var(--cream);--capk:var(--yellow);--mbg:var(--purple2)}
.t-light{--sbg:var(--cream);--sfg:var(--char);--hl:var(--orange);--pbg:var(--orange);--pfg:var(--char);--fbg:var(--soft);--ffg:var(--purple);--bbg:var(--purple);--bfg:var(--cream);--bh:var(--char);--bhf:var(--yellow);--fr:var(--purple);--cap:var(--char);--capk:var(--purple);--mbg:var(--soft)}
.t-light h2{color:var(--purple)}
/* video block */
.vbox{position:relative;justify-self:stretch;max-width:600px;width:100%;margin:0 auto}
.vtag{position:absolute;z-index:2;top:-16px;left:22px;background:var(--hl);color:var(--pfg);box-shadow:0 4px 14px rgba(0,0,0,.25)}
.t-dark .vtag{background:var(--yellow);color:var(--purple)}
.vframe{position:relative;transform:rotate(-1.5deg);transition:transform .25s}
.t-light .vframe{transform:rotate(1.5deg)}
.vframe:hover{transform:rotate(0) scale(1.01)!important}
.vid{position:relative;display:block;border-radius:26px;overflow:hidden;aspect-ratio:16/9;background:var(--mbg);border:5px solid var(--fr);box-shadow:0 18px 40px rgba(0,0,0,.3)}
.vid img{width:100%;height:100%;object-fit:cover;display:block}
.play{position:absolute;z-index:2;right:-10px;bottom:-60px;width:78px;height:78px;border-radius:50%;background:var(--red);display:grid;place-items:center;border:5px solid var(--fr);box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .15s}
.vframe:hover .play{transform:scale(1.1)}
.play svg{width:28px;height:28px;margin-left:4px}
.vlink{display:flex;flex-direction:column;gap:2px;margin-top:24px;padding-left:4px;padding-right:84px}
.vlink small,.mini small{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--capk)}
.vlink span{font-weight:800;font-size:19px;line-height:1.3;color:var(--cap);text-wrap:balance}
.vlink:hover span,.mini:hover span{color:var(--hl)}
.more{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
.more.one{grid-template-columns:1fr}
.mini{display:flex;flex-direction:column;gap:2px}
.more.one .mini{display:grid;grid-template-columns:minmax(0,46%) 1fr;gap:4px 18px;align-items:center}
.more.one .mimg{grid-row:span 2;margin:0}
.more.one small{align-self:end}.more.one .mini>span:last-child{align-self:start;font-size:16px}
.mimg{position:relative;display:block;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:3px solid var(--fr);margin-bottom:10px;background:var(--mbg);transition:transform .2s}
.mini:hover .mimg{transform:translateY(-3px)}
.mimg img{width:100%;height:100%;object-fit:cover;display:block}
.mini span{font-weight:700;font-size:15px;line-height:1.3;color:var(--cap);text-wrap:balance}
.chan{display:inline-block;margin-top:22px;font-weight:800;font-size:15px;color:var(--capk)}
.chan:hover{color:var(--hl)}
.top{display:inline-flex;margin-top:28px;font-weight:800;font-size:14px;color:var(--capk);opacity:.85}
footer{background:var(--char);color:var(--cream);padding:48px 20px;text-align:center;font-size:15px}
footer img{height:84px;width:auto;display:block;margin:0 auto 18px}
footer .links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;font-weight:700}
footer .links a{color:var(--yellow)}footer .links a:hover{color:var(--orange)}
footer .addr{margin-top:12px;opacity:.8}
@media (max-width:760px){.nav{display:none}}
@media (max-width:520px){.btn{white-space:normal;text-align:center}.cta{width:100%}.vbox{margin-top:12px}.vid{border-width:4px;border-radius:20px}.play{width:62px;height:62px;right:6px;bottom:-48px;border-width:4px}.play svg{width:22px;height:22px}.vlink span{font-size:17px}.more{gap:12px}.mini span{font-size:14px}.ev{padding:20px;gap:4px 16px}.ev .dd{min-width:64px}.ev .dd b{font-size:46px}.event .wrap{gap:44px}}
