/* ═══ EVENTS & COMPETITIONS — events, event, results, winners ═══
   Layered on base.css + site.css. Everything here reads studiodeck's public
   event API at runtime, so the page is mostly empty shells the script fills.
   Mobile first: parents open these from WhatsApp and Instagram. */

.ehero{min-height:58svh}
.ehero .page-sub{max-width:620px}
.ehero .hero-media img{object-position:center 30%}
.ehero .hero-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--iv60)}
.ehero .hero-meta b{color:var(--ivory);font-weight:400}
.ehero .hero-meta .pill{color:var(--black);background:var(--lime);padding:5px 10px;letter-spacing:.14em}
.ehero .hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.ehero .hero-cta .btn{min-height:50px;padding:0 26px;font-size:14px}

.esec{position:relative;z-index:3;padding:64px 0 72px;background:var(--black)}
.esec.alt{background:var(--black3)}
.esec .wrapc{position:relative;z-index:2}
.esec .sec-head{margin-bottom:30px}
.esec .sec-head .h2{font-size:clamp(40px,6vw,84px)}
.esec .sec-lede{color:var(--iv60);font-size:15px;line-height:1.75;max-width:640px;margin-top:16px}
.esec[hidden]{display:none}

/* status + state lines */
.e-status{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--iv60);margin-top:14px;line-height:2}
.e-status b{color:var(--lime);font-weight:400}
.e-empty{padding:54px 24px;text-align:center;color:var(--iv60);font-size:14.5px;line-height:1.75;border:1px dashed var(--iv18);background:var(--black2)}
.e-empty b{display:block;font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:22px;color:var(--ivory);margin-bottom:8px}
.e-empty .btn{margin-top:22px}

/* pills */
.pill{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--iv18);color:var(--iv60);white-space:nowrap}
.pill.open{border-color:var(--lime);color:var(--lime)}
.pill.open::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime);animation:lbpulse 1.4s ease-in-out infinite}
.pill.soon{border-color:rgba(118,120,237,.6);color:var(--peri)}
.pill.full,.pill.closed{border-color:rgba(240,180,41,.5);color:#F0B429}
.pill.done{border-color:var(--iv18);color:var(--iv60)}
.pill.results{border-color:var(--lime);color:var(--lime)}
@keyframes lbpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.75)}}

/* ── EVENT CARDS (events.html) ── */
.ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
@media(max-width:980px){.ev-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.ev-grid{grid-template-columns:1fr}}
.ev-card{display:flex;flex-direction:column;border:1px solid transparent;overflow:hidden;position:relative;
  background:linear-gradient(170deg,#1c1b28,#141320) padding-box,
             linear-gradient(150deg,rgba(248,249,218,.12),rgba(118,120,237,.16) 55%,rgba(248,249,218,.03)) border-box;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.ev-card:hover{transform:translateY(-6px);box-shadow:0 34px 80px -36px rgba(61,52,139,.7)}
.ev-card .cover{position:relative;aspect-ratio:16/9;background:linear-gradient(140deg,#26243a,#15141B);overflow:hidden}
.ev-card .cover img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.ev-card:hover .cover img{transform:scale(1.05)}
.ev-card .cover .pill{position:absolute;top:12px;left:12px;background:rgba(21,20,27,.82);backdrop-filter:blur(6px)}
.ev-card .cover .date-chip{position:absolute;right:12px;bottom:12px;text-align:center;background:var(--lime);color:var(--black);padding:8px 12px;line-height:1}
.ev-card .cover .date-chip b{display:block;font-family:var(--display);font-weight:900;font-size:26px}
.ev-card .cover .date-chip span{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.ev-card .body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.ev-card .kind{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--lime);margin-bottom:10px}
.ev-card h3{font-family:var(--display);font-weight:900;font-style:italic;text-transform:uppercase;font-size:28px;line-height:.98;transform:skewX(var(--slant));margin-bottom:10px;text-wrap:balance}
.ev-card .when{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--iv60);line-height:1.9}
.ev-card .when b{color:var(--ivory);font-weight:400}
.ev-card p{color:var(--iv60);font-size:13.5px;line-height:1.65;margin-top:12px}
.ev-card .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.ev-card .cta{margin-top:auto;padding-top:20px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ev-card .cta .btn{min-height:44px;padding:0 20px;font-size:13px}
.ev-card .cta .glink{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--lime)}
.ev-card .cta .glink::after{content:' →'}
.ev-card.past .cover img{filter:grayscale(.5) brightness(.75)}

/* ── EVENT PAGE SECTIONS (event.html) ── */
.prose{color:var(--iv60);font-size:15.5px;line-height:1.8;max-width:760px}
.prose p+p{margin-top:14px}
.prose b,.prose strong{color:var(--ivory);font-weight:500}
.prose ul,.prose ol{margin:12px 0 0 20px}
.prose li{margin-bottom:6px}
.prose a{color:var(--lime);border-bottom:1px solid rgba(199,239,0,.35)}
.prose h3,.prose h4{font-family:var(--display);font-weight:800;text-transform:uppercase;color:var(--ivory);margin:22px 0 8px;font-size:20px}
.media-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:28px}
.media-row img,.media-row video{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--iv08);background:var(--black2)}

.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:start}
@media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:28px}}
.fact-card{border:1px solid var(--iv08);background:var(--black2);padding:26px}
.fact-card ul{list-style:none}
.fact-card li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--iv08);font-size:13.5px}
.fact-card li:last-child{border-bottom:none}
.fact-card li span:first-child{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--iv35);padding-top:3px;flex-shrink:0}
.fact-card li span:last-child{text-align:right;color:var(--ivory)}
.fact-card .btn{width:100%;margin-top:20px;min-height:48px}

/* stages */
.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px}
@media(max-width:900px){.stage-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.stage-grid{grid-template-columns:1fr}}
.st-card{border:1px solid var(--iv08);background:var(--black2);padding:26px 24px;position:relative;overflow:hidden;transition:border-color .4s,transform .4s}
.st-card:hover{border-color:rgba(199,239,0,.4);transform:translateY(-4px)}
.st-card .num{font-family:var(--display);font-weight:900;font-style:italic;font-size:46px;line-height:1;color:var(--lime);opacity:.9;transform:skewX(var(--slant))}
.st-card h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:22px;line-height:1;margin:10px 0 8px}
.st-card p{color:var(--iv60);font-size:13.5px;line-height:1.7}
.st-card .how{margin-top:12px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--iv35)}
.st-card img{width:calc(100% + 48px);margin:-26px -24px 18px;aspect-ratio:16/9;object-fit:cover;display:block}

/* categories + fees */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px}
@media(max-width:980px){.cat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.cat-grid{grid-template-columns:1fr}}
.cat{border:1px solid var(--iv08);background:var(--black2);padding:26px 24px 24px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:border-color .4s,transform .4s}
.cat:hover{border-color:rgba(199,239,0,.4);transform:translateY(-4px)}
.cat.full,.cat.closed{opacity:.75}
.cat .age{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--lime)}
.cat h3{font-family:var(--display);font-weight:900;font-style:italic;text-transform:uppercase;font-size:28px;line-height:.98;transform:skewX(var(--slant));margin:8px 0 6px}
.cat .desc{color:var(--iv60);font-size:13px;line-height:1.6;margin-bottom:16px;min-height:20px}
.cat .fee{font-family:var(--display);font-weight:900;font-style:italic;font-size:44px;color:var(--lime);line-height:1;transform:skewX(var(--slant));margin:4px 0 2px}
.cat .fee small{font-size:13px;font-weight:600;color:var(--iv60);font-style:normal;margin-left:6px}
.cat .fee.free{font-size:34px}
.cat .early{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--iv60);margin-bottom:10px}
.cat .early s{color:var(--iv35)}
.cat .slots{margin-top:auto;padding-top:14px;border-top:1px solid var(--iv08);display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--iv60)}
.cat .slots b{color:var(--ivory);font-weight:400}
.cat .slots .bar{flex:1;height:3px;background:var(--iv08);position:relative;overflow:hidden;min-width:50px}
.cat .slots .bar i{position:absolute;inset:0;right:auto;background:var(--lime);transition:width .8s}
.cat .slots.low .bar i{background:#F0B429}
.cat .slots.low b{color:#F0B429}
.cat .btn{margin-top:16px;width:100%;min-height:46px;font-size:13px}
.cat .gender{display:inline-block;margin-left:8px;color:var(--iv35)}

/* prizes */
.prize-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px}
@media(max-width:900px){.prize-grid{grid-template-columns:1fr}}
.prize{border:1px solid transparent;padding:28px 26px;
  background:linear-gradient(170deg,#1e1d29,#17161f) padding-box,
             linear-gradient(150deg,rgba(199,239,0,.35),rgba(118,120,237,.3) 60%,rgba(248,249,218,.03)) border-box}
.prize .pk{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--lime)}
.prize h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:22px;margin:10px 0 8px;color:var(--ivory)}
.prize p{color:var(--iv60);font-size:14px;line-height:1.7}
.prize ul{list-style:none;margin-top:10px}
.prize li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--iv08);font-size:13.5px}
.prize li span:first-child{color:var(--iv60)}
.prize li span:last-child{color:var(--ivory);text-align:right}

/* rules */
.rules-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:start}
@media(max-width:900px){.rules-wrap{grid-template-columns:1fr;gap:24px}}
.pdf-card{border:1px dashed var(--iv18);padding:26px;background:var(--black2)}
.pdf-card .pk{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--iv35);margin-bottom:10px}
.pdf-card h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:22px;line-height:1;margin-bottom:8px}
.pdf-card p{color:var(--iv60);font-size:13.5px;line-height:1.7}
.pdf-card .btn{margin-top:18px;min-height:46px;font-size:13px}

/* schedule */
.sched{list-style:none;margin-top:10px;max-width:820px;border-top:1px solid var(--iv08)}
.sched li{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--iv08);align-items:start}
@media(max-width:520px){.sched li{grid-template-columns:92px 1fr;gap:12px}}
.sched .t{font-family:var(--display);font-weight:900;font-style:italic;font-size:24px;line-height:1;color:var(--lime);transform:skewX(var(--slant))}
.sched .t small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--iv35);font-style:normal;font-weight:400;margin-top:6px;transform:none}
.sched b{display:block;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:18px;letter-spacing:.01em;color:var(--ivory);margin-bottom:4px}
.sched p{color:var(--iv60);font-size:13.5px;line-height:1.65}
.sched .day{grid-column:1/-1;padding-top:26px;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--lime)}
.sched li.dayrow{border-bottom:none;padding-bottom:0}

/* faqs reuse .faq-list from site.css; left aligned here */
.esec .faq-list{margin-left:0;width:min(860px,100%)}

/* venue */
.venue-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:stretch}
@media(max-width:900px){.venue-grid{grid-template-columns:1fr}}
.venue-card{border:1px solid var(--iv08);background:var(--black2);padding:28px 26px;display:flex;flex-direction:column}
.venue-card h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:24px;line-height:1;margin-bottom:10px}
.venue-card p{color:var(--iv60);font-size:14px;line-height:1.75}
.venue-card .btn{margin-top:auto;align-self:flex-start;margin-top:20px;min-height:46px;font-size:13px}
.venue-map{min-height:280px;border:1px solid var(--iv08);background:var(--black2);overflow:hidden}
.venue-map iframe{width:100%;height:100%;min-height:280px;border:0;filter:grayscale(.3) contrast(1.05) brightness(.9)}

/* register band + mobile sticky */
.reg-band{position:relative;z-index:3;padding:70px 0;text-align:center;overflow:hidden;
  background:linear-gradient(150deg,var(--indigo) 0%,#241f52 60%,var(--black) 130%)}
.reg-band .wrapc{position:relative;z-index:2}
.reg-band .slots-line{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--iv60);margin-bottom:18px}
.reg-band .slots-line b{color:var(--lime);font-weight:400}
.reg-band .h2{margin-bottom:26px;font-size:clamp(44px,6.5vw,96px)}
.reg-band .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.reg-band .fine{margin-top:22px;color:var(--iv35);font-size:12px;line-height:1.7;max-width:560px;margin-inline:auto}
.sticky-reg{position:fixed;left:0;right:0;bottom:0;z-index:130;display:none;background:var(--lime);color:var(--black)}
.sticky-reg a{display:flex;width:100%;min-height:52px;align-items:center;justify-content:center;gap:12px;
  font-family:var(--display);font-weight:900;font-style:italic;text-transform:uppercase;font-size:17px;letter-spacing:.02em;color:var(--black)}
.sticky-reg a small{font-family:var(--mono);font-style:normal;font-weight:400;font-size:9.5px;letter-spacing:.16em}
@media(max-width:760px){.sticky-reg.on{display:block} body.has-sticky-reg .sticky-book{display:none!important} body.has-sticky-reg{padding-bottom:52px}}

/* ── RESULTS (results.html) ── */
.res-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.res-nav a{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--iv18);color:var(--iv60);transition:border-color .3s,color .3s}
.res-nav a:hover{border-color:var(--lime);color:var(--lime)}
.res-cat{padding:48px 0 10px;border-top:1px solid var(--iv08)}
.res-cat:first-of-type{border-top:none;padding-top:10px}
.res-cat .cat-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:22px}
.res-cat .cat-head h3{font-family:var(--display);font-weight:900;font-style:italic;text-transform:uppercase;font-size:clamp(30px,4.5vw,46px);line-height:.98;transform:skewX(var(--slant))}
.res-cat .cat-head h3 small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--lime);font-style:normal;font-weight:400;transform:none;margin-bottom:8px}
.res-cat .cat-head .pill{align-self:flex-start}
.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
@media(max-width:700px){.podium{grid-template-columns:1fr}}
.pod{border:1px solid transparent;padding:22px 20px;position:relative;overflow:hidden;
  background:linear-gradient(170deg,#1c1b28,#141320) padding-box,linear-gradient(150deg,var(--mc,rgba(248,249,218,.2)),rgba(118,120,237,.18) 60%,rgba(248,249,218,.03)) border-box}
.pod.p1{--mc:#F0B429}.pod.p2{--mc:#C9CCD6}.pod.p3{--mc:#C98B5A}
.pod .place{font-family:var(--display);font-weight:900;font-style:italic;font-size:44px;line-height:1;color:var(--mc,var(--ivory));transform:skewX(var(--slant))}
.pod .place small{font-size:14px;margin-left:2px}
.pod .name{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:20px;letter-spacing:.01em;color:var(--ivory);margin-top:10px;line-height:1.05}
.pod .acad{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--iv35);margin-top:5px}
.pod .prz{margin-top:12px;padding-top:10px;border-top:1px solid var(--iv08);font-size:12.5px;color:var(--iv60);line-height:1.6}
.pod .prz b{color:var(--mc,var(--lime));font-weight:500}
.medals{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:22px}
.medal-card{border:1px solid var(--iv08);background:var(--black2);padding:16px 18px}
.medal-card .stg{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--lime);margin-bottom:10px}
.medal-card ul{list-style:none}
.medal-card li{display:flex;align-items:baseline;gap:10px;padding:5px 0;font-size:13.5px}
.medal-card li i{font-style:normal;flex-shrink:0;width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;font-family:var(--mono);font-size:9px;color:var(--black);background:var(--mc)}
.medal-card li.g{--mc:#F0B429}.medal-card li.s{--mc:#C9CCD6}.medal-card li.b{--mc:#C98B5A}
.medal-card li span{color:var(--ivory)}
.medal-card li small{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--iv35);margin-left:auto;text-align:right}
.standings{border:1px solid var(--iv08);background:var(--black2)}
.standings .hd{display:grid;grid-template-columns:40px 1fr auto;gap:12px;padding:10px 18px;border-bottom:1px solid var(--iv08);font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--iv35)}
.standings .rw{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--iv08)}
.standings .rw:last-child{border-bottom:none}
.standings .rk{font-family:var(--display);font-weight:900;font-style:italic;font-size:20px;color:var(--iv35)}
.standings .rw.top .rk{color:var(--lime)}
.standings .nm b{display:block;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.02em;text-transform:uppercase;color:var(--ivory)}
.standings .nm span{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--iv35)}
.standings .md{display:flex;gap:4px}
.standings .md i{font-style:normal;width:16px;height:16px;border-radius:50%;display:inline-grid;place-items:center;font-family:var(--mono);font-size:8px;color:var(--black)}
.standings .md i.g{background:#F0B429}.standings .md i.s{background:#C9CCD6}.standings .md i.b{background:#C98B5A}
.standings .more{padding:12px 18px;text-align:center}
.standings .more button{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);padding:8px 14px;border:1px solid rgba(199,239,0,.35)}
.showcase{display:flex;flex-wrap:wrap;gap:8px}
.showcase span{border:1px solid var(--iv18);padding:9px 14px;font-size:13px;color:var(--ivory)}
.showcase span small{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--iv35);margin-top:2px}
.privacy-line{margin-top:40px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--iv35);line-height:1.9}

/* ── WINNERS HALL (winners.html) ── */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.filters label{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--iv35);min-width:160px;flex:1}
.filters select{appearance:none;-webkit-appearance:none;background:var(--black2) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23C7EF00' stroke-width='1.6'/></svg>") no-repeat right 14px center;
  border:1px solid var(--iv18);color:var(--ivory);font-family:var(--body);font-size:14px;padding:12px 38px 12px 14px;min-height:46px}
.filters select:focus{outline:none;border-color:var(--lime)}
.filters .clear{align-self:flex-end;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--iv60);padding:0 6px 14px;cursor:pointer}
.filters .clear:hover{color:var(--lime)}
.win-count{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--iv60);margin-top:22px}
.win-count b{color:var(--lime);font-weight:400}
.win-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
@media(max-width:1100px){.win-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.win-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.win-grid{grid-template-columns:1fr}}
.win{border:1px solid transparent;padding:20px 18px 18px;position:relative;overflow:hidden;
  background:linear-gradient(170deg,#1c1b28,#141320) padding-box,linear-gradient(150deg,var(--mc,rgba(248,249,218,.14)),rgba(118,120,237,.14) 60%,rgba(248,249,218,.03)) border-box}
.win.g{--mc:#F0B429}.win.s{--mc:#C9CCD6}.win.b{--mc:#C98B5A}
.win .medal{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mc,var(--iv60))}
.win .medal::before{content:'';width:10px;height:10px;border-radius:50%;background:var(--mc,var(--iv35))}
.win .name{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:21px;letter-spacing:.01em;color:var(--ivory);margin-top:10px;line-height:1.05}
.win .acad{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--iv35);margin-top:5px;min-height:14px}
.win .ev{margin-top:14px;padding-top:10px;border-top:1px solid var(--iv08);font-size:12.5px;color:var(--iv60);line-height:1.55}
.win .ev b{display:block;color:var(--ivory);font-weight:500}
.win .ev a{color:var(--lime)}
.year-head{grid-column:1/-1;font-family:var(--display);font-weight:900;font-style:italic;text-transform:uppercase;font-size:34px;color:var(--iv35);transform:skewX(var(--slant));margin-top:18px}
.year-head:first-child{margin-top:0}

/* skeletons while the API answers */
.skel{position:relative;overflow:hidden;background:var(--black2);border:1px solid var(--iv08);min-height:120px}
.skel::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(248,249,218,.05),transparent);animation:skel 1.4s infinite}
@keyframes skel{from{transform:translateX(-100%)}to{transform:translateX(100%)}}

/* ── REGISTRATION FORM (event.html #register) — brief §5 ──
   Phone first: one column, 16px inputs so iOS never zooms, 50px+ targets. */
.reg-sec{background:var(--black3)}
.reg-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
@media(max-width:980px){.reg-grid{grid-template-columns:1fr}.reg-sum{display:none}}
.reg-form{display:grid;gap:16px;color-scheme:dark;min-width:0}
.rf-step{border:1px solid var(--iv08);background:var(--black2);padding:24px 22px 22px;min-width:0;margin:0}
@media(max-width:520px){.rf-step{padding:20px 16px 18px}}
.rf-step legend{float:left;width:100%;display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:0;
  font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:22px;line-height:1;color:var(--ivory)}
.rf-step legend span{font-weight:900;font-style:italic;color:var(--lime);font-size:26px;transform:skewX(var(--slant))}
.rf-step legend + *{clear:both}
.rf-row{display:grid;gap:14px;margin-bottom:14px}
.rf-row.two{grid-template-columns:1fr 1fr}
@media(max-width:620px){.rf-row.two{grid-template-columns:1fr}}
.rf-f{display:flex;flex-direction:column;gap:7px;min-width:0}
.rf-f > span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--iv60);line-height:1.5}
.rf-f > span em{font-style:normal;color:var(--iv35)}
.rf-f input,.rf-f select,.rf-f textarea{width:100%;min-width:0;background:var(--black3);border:1px solid var(--iv18);border-radius:0;color:var(--ivory);
  font-family:var(--body);font-size:16px;font-weight:400;padding:12px 14px;min-height:50px;-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
.rf-f select{background:var(--black3) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23C7EF00' stroke-width='1.6'/></svg>") no-repeat right 14px center;padding-right:38px}
.rf-f input[type=date]{line-height:24px}
.rf-f input[type=date]::-webkit-date-and-time-value{text-align:left}
.rf-f textarea{min-height:84px;resize:vertical;line-height:1.5}
.rf-f input::placeholder,.rf-f textarea::placeholder{color:var(--iv35)}
.rf-f input:focus,.rf-f select:focus,.rf-f textarea:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px rgba(199,239,0,.14)}
.rf-f small{font-size:12px;color:var(--iv35);line-height:1.5}
.rf-kid{border:1px solid var(--iv18);background:rgba(15,14,19,.55);padding:16px 16px 2px;margin-bottom:14px}
.rf-kid-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.rf-kid-head b{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--lime);font-weight:400}
.rf-remove{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--iv60);padding:8px 12px;border:1px solid var(--iv18);min-height:36px}
.rf-remove:hover{color:var(--ivory);border-color:var(--iv35)}
.rf-remove[hidden]{display:none}
.rf-place{display:flex;flex-wrap:wrap;gap:6px;margin:-2px 0 14px}
.rf-place:empty{display:none}
.rf-place.bad{display:block;padding:10px 12px;border-left:3px solid #F0B429;background:rgba(240,180,41,.08);color:#F5D28A;font-size:13.5px;line-height:1.55}
.rf-add{width:100%;min-height:52px;border:1px dashed var(--iv35);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);transition:border-color .25s,background .25s}
.rf-add:hover{border-color:var(--lime);background:rgba(199,239,0,.04)}
.rf-add[hidden]{display:none}
.rf-check{padding:14px 0;border-bottom:1px solid var(--iv08)}
.rf-check:first-of-type{padding-top:0}
.rf-check:last-child{border-bottom:none;padding-bottom:0}
.rf-check label{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:14.5px;line-height:1.5;color:var(--ivory)}
.rf-check label b{font-weight:500}
.rf-check input{flex:0 0 auto;width:22px;height:22px;margin:0;accent-color:var(--lime)}
.rf-check em{font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--iv35);margin-left:4px}
.rf-check details{margin:8px 0 0 34px}
.rf-check summary{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);cursor:pointer;padding:4px 0}
.rf-check details .prose{font-size:13.5px;line-height:1.7;margin-top:10px;max-height:280px;overflow:auto;padding:12px 14px;border:1px solid var(--iv08);background:var(--black3)}
.rf-note{color:var(--iv60);font-size:14px}
.rf-due{color:var(--iv60);font-size:14.5px;line-height:1.6;margin-bottom:14px}
.rf-due:empty{display:none}
.rf-due b{color:var(--lime);font-weight:500}
.rf-sign > p{color:var(--iv60);font-size:14.5px;line-height:1.7;margin-bottom:16px}
.rf-sign > p b{color:var(--ivory);font-weight:500}
.rf-sign .btn,.reg-done .btn{width:100%;min-height:56px;font-size:15px}
.rf-sign .btn[aria-disabled=true]{opacity:.6;pointer-events:none}
.rf-sign #rf-code{font-family:var(--mono);font-size:24px;letter-spacing:.35em;text-align:center}
.rf-resend{display:block;width:100%;margin-top:10px;padding:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--iv60)}
.rf-resend:hover:not(:disabled){color:var(--lime)}
.rf-resend:disabled{opacity:.55;cursor:default}
.rf-err{padding:14px 16px;border-left:3px solid #F0B429;background:rgba(240,180,41,.08);color:#F5D28A;font-size:14px;line-height:1.6}
.rf-err[hidden]{display:none}
.rf-err a,.sum-note a,.reg-done a:not(.btn){color:var(--lime);border-bottom:1px solid rgba(199,239,0,.35)}
.rf-fb{display:inline-block;margin-top:6px;color:var(--iv60)}
.reg-sum{position:sticky;top:96px;border:1px solid transparent;padding:24px 22px;
  background:linear-gradient(170deg,#1e1d29,#17161f) padding-box,
             linear-gradient(150deg,rgba(199,239,0,.35),rgba(118,120,237,.3) 60%,rgba(248,249,218,.03)) border-box}
.reg-sum .hk{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--lime);margin-bottom:10px}
.reg-sum h3,.reg-done h3{font-family:var(--display);font-weight:900;font-style:italic;text-transform:uppercase;font-size:28px;line-height:1;transform:skewX(var(--slant));margin-bottom:16px}
.sum-rows{list-style:none;border-top:1px solid var(--iv08)}
.sum-rows li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--iv08);font-size:14px;color:var(--ivory)}
.sum-rows li span:first-child{min-width:0;overflow-wrap:anywhere}
.sum-rows li small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--iv35);margin-top:3px}
.sum-rows li .muted{color:var(--iv35);font-size:12.5px;text-align:right}
.sum-rows li.bad span:last-child{color:#F0B429;font-size:12.5px}
.sum-total{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0 8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--iv60)}
.sum-total b{font-family:var(--display);font-weight:900;font-style:italic;font-size:34px;letter-spacing:0;color:var(--lime);transform:skewX(var(--slant))}
.sum-note{color:var(--iv60);font-size:12.5px;line-height:1.65;margin-top:10px}
.reg-done{grid-column:1/-1;max-width:640px;border:1px solid transparent;padding:30px 28px;
  background:linear-gradient(170deg,#1e1d29,#17161f) padding-box,
             linear-gradient(150deg,rgba(199,239,0,.5),rgba(118,120,237,.3) 60%,rgba(248,249,218,.03)) border-box}
@media(max-width:520px){.reg-done{padding:24px 18px}}
.reg-done .kicker{margin-bottom:14px}
.reg-done > p{color:var(--iv60);font-size:14.5px;line-height:1.7;margin:18px 0}
.reg-done > p b{color:var(--ivory);font-weight:500}
.rf-f [aria-invalid=true]{border-color:#F0B429;box-shadow:0 0 0 3px rgba(240,180,41,.14)}
.rf-f small.rf-bad-msg{color:#F5D28A}

/* ═══ ST8 · X Kids Championship content (2 Nov 2026) ═══ */
/* An event's headings are its own sentences ("Medals for every kid. Cash for the champions."): let them wrap.
   site.css keeps .h2 lines on one line for the hand-set page titles, which cut these off on phones. */
#sections .h2 .line > i{white-space:normal}
/* hero: the event's key facts, and live slots / "Registration closed" under the buttons */
.ehero .hero-cta .hero-live{flex-basis:100%;margin-top:4px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--iv60)}
.ehero .hero-cta .hero-live b{color:var(--lime);font-weight:400}
/* a paragraph of nothing but links, in the admin's text */
.row-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.prose .row-btns:first-child{margin-top:0}
.fact-card .pk{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--lime);margin-bottom:14px}
.st-card .prose{margin-top:12px;font-size:14.5px;line-height:1.65;color:var(--iv60)}
.st-card .how + h3{margin-top:4px}
.sched li{grid-template-columns:minmax(120px,max-content) 1fr}
.sched .t{font-size:clamp(16px,2vw,22px);white-space:nowrap}
@media(max-width:520px){.sched li{grid-template-columns:1fr;gap:6px}.sched .t{white-space:normal}}
.privacy-line.prose{color:var(--iv60);font-size:14px}
/* events listing: series badge, Upcoming / Past, "<series> only" */
.ev-card .kind{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.series-badge{display:inline-block;padding:4px 8px;border:1px solid var(--lime);color:var(--lime);font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;line-height:1}
#ev-tabs{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:0 0 26px}
#ev-tabs:empty{display:none}
.ev-tabs,.ev-filters{display:flex;gap:8px;flex-wrap:wrap}
.ev-tabs button,.ev-filter{min-height:44px;padding:10px 16px;border:1px solid var(--iv18);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--iv60)}
.ev-tabs button small{margin-left:8px;color:var(--iv35)}
.ev-tabs button[aria-selected=true],.ev-filter[aria-pressed=true]{border-color:var(--lime);color:var(--black);background:var(--lime)}
.ev-tabs button[aria-selected=true] small{color:var(--black)}
.ev-tabs button:hover,.ev-filter:hover{border-color:var(--lime)}
/* series page: past editions */
.series-past ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--iv08)}
.series-past li a{display:flex;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid var(--iv08);color:var(--ivory)}
.series-past li a span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--iv60)}
.series-past li a:hover b{color:var(--lime)}
/* registration form */
.rf-f[hidden]{display:none}
.rf-lbl{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--iv60);align-self:center;margin-right:4px}
.rf-full{flex-basis:100%;margin:6px 0 0;color:#F5D28A;font-size:13.5px;line-height:1.55}
.rf-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.rf-choice{grid-template-columns:1fr}}
.rf-choice label{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--iv18);background:var(--black3);cursor:pointer;font-size:13.5px;line-height:1.5;color:var(--iv60)}
.rf-choice label:has(input:checked){border-color:var(--lime);background:rgba(199,239,0,.05)}
/* .rf-f input (the text boxes) strips appearance and adds padding/min-height; give the radios back */
.rf-choice input{flex:0 0 auto;width:20px;height:20px;min-height:0;padding:0;margin:1px 0 0;-webkit-appearance:radio;appearance:auto;accent-color:var(--lime)}
.rf-choice b{display:block;color:var(--ivory);font-weight:500;font-size:14.5px;margin-bottom:2px}
.rf-check .rf-bad-msg{display:block;margin:8px 0 0 34px;font-size:12px;color:#F5D28A}
.rf-check input[aria-invalid=true]{outline:2px solid #F0B429;outline-offset:2px}
.rf-links{display:flex;gap:8px}
.rf-links .rf-resend{flex:1}
#series .h2 .line > i,#series-past .h2 .line > i{white-space:normal}
