:root{
  --ink:#f7fff9;
  --text:#e9f3ed;
  --muted:#9fb5aa;
  --night:#061217;
  --night-2:#0a1d22;
  --night-3:#102a2d;
  --surface:rgba(12,35,38,.88);
  --surface-strong:#102b2d;
  --surface-soft:rgba(20,51,52,.72);
  --surface-lift:#16383a;
  --green:#3ee58c;
  --green-dark:#0c8a50;
  --green-soft:rgba(62,229,140,.13);
  --gold:#ffc94a;
  --gold-2:#ff9d2e;
  --gold-soft:rgba(255,201,74,.13);
  --cyan:#5ee7ff;
  --pink:#ff6eaa;
  --purple:#a98bff;
  --red:#ff6b6b;
  --blue:#5e8cff;
  --yellow:#ffc94a;
  --border:rgba(146,229,191,.18);
  --border-strong:rgba(255,201,74,.42);
  --shadow:0 18px 0 rgba(0,0,0,.18),0 24px 60px rgba(0,0,0,.28);
  --shadow-small:0 8px 0 rgba(0,0,0,.17),0 16px 32px rgba(0,0,0,.2);
  --radius:24px;
  --radius-small:16px;
  --font-display:"Bungee","Arial Black",Impact,sans-serif;
  --font-body:"Nunito","Trebuchet MS",system-ui,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-color:var(--green-dark) var(--night)}
body{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 15% 5%,rgba(62,229,140,.12),transparent 28rem),
    radial-gradient(circle at 88% 18%,rgba(255,110,170,.11),transparent 25rem),
    linear-gradient(180deg,#07171c 0%,#051116 55%,#08191b 100%);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.65;
}
body::selection{background:var(--gold);color:#152018}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-5;
  pointer-events:none;
  opacity:.3;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,black,transparent 92%);
}
a{color:var(--green);text-underline-offset:4px}
a:hover{color:var(--gold)}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}

.skip-link{
  position:fixed;
  top:1rem;
  left:1rem;
  z-index:1000;
  transform:translateY(-160%);
  padding:.7rem 1rem;
  border-radius:12px;
  background:var(--gold);
  color:#172019;
  font-weight:900;
  text-decoration:none;
}
.skip-link:focus{transform:translateY(0)}

.festive-backdrop{position:fixed;inset:0;z-index:-4;pointer-events:none;overflow:hidden}
.orb{position:absolute;border-radius:48% 52% 55% 45%;filter:blur(2px);opacity:.42;animation:blobFloat 17s ease-in-out infinite}
.orb-one{width:380px;height:380px;top:10%;left:-170px;background:radial-gradient(circle at 35% 30%,rgba(94,231,255,.65),rgba(62,229,140,.18) 55%,transparent 72%)}
.orb-two{width:510px;height:510px;top:40%;right:-270px;background:radial-gradient(circle at 42% 38%,rgba(255,110,170,.42),rgba(169,139,255,.12) 58%,transparent 75%);animation-delay:-5s}
.orb-three{width:310px;height:310px;bottom:-160px;left:35%;background:radial-gradient(circle at 50% 45%,rgba(255,201,74,.35),rgba(255,157,46,.1) 62%,transparent 74%);animation-delay:-9s}
.grid-glow{position:absolute;inset:auto -20% -38% -20%;height:70%;transform:perspective(500px) rotateX(62deg);transform-origin:center bottom;background-image:linear-gradient(rgba(62,229,140,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(62,229,140,.12) 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(to top,rgba(0,0,0,.95),transparent 82%);animation:gridDrift 10s linear infinite}
.confetti{position:absolute;width:12px;height:42px;border-radius:20px;opacity:.55;animation:confettiFloat 9s ease-in-out infinite}
.confetti-a{top:16%;left:8%;background:var(--gold);transform:rotate(32deg)}
.confetti-b{top:29%;right:10%;background:var(--pink);transform:rotate(-18deg);animation-delay:-2s}
.confetti-c{top:63%;left:11%;background:var(--cyan);transform:rotate(65deg);animation-delay:-5s}
.confetti-d{bottom:10%;right:18%;background:var(--green);transform:rotate(15deg);animation-delay:-7s}
.confetti-e{bottom:32%;left:54%;background:var(--purple);transform:rotate(-45deg);animation-delay:-3s}
.star{position:absolute;color:var(--gold);font-size:clamp(1.5rem,3vw,3.2rem);text-shadow:0 0 20px rgba(255,201,74,.45);animation:starPulse 3.4s ease-in-out infinite}
.star-a{top:18%;right:22%}.star-b{top:58%;left:4%;animation-delay:-1.2s}.star-c{bottom:8%;right:8%;animation-delay:-2s}
.cursor-glow{--pointer-x:50%;--pointer-y:50%;position:fixed;inset:0;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(circle 220px at var(--pointer-x) var(--pointer-y),rgba(94,231,255,.08),transparent 72%);transition:opacity .25s ease}.cursor-glow.visible{opacity:1}

.nav{
  position:sticky;
  top:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  width:min(1380px,calc(100% - 2rem));
  margin:1rem auto 0;
  padding:.66rem .78rem .66rem .72rem;
  border:2px solid rgba(255,255,255,.08);
  border-bottom-color:rgba(255,201,74,.25);
  border-radius:22px;
  background:rgba(7,24,28,.76);
  box-shadow:0 10px 36px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(18px) saturate(130%);
  transition:width .25s ease,margin .25s ease,background .25s ease,border-radius .25s ease;
}
.nav.nav-scrolled{width:100%;margin-top:0;border-radius:0;border-left:0;border-right:0;background:rgba(5,18,22,.93)}
.brand{display:flex;align-items:center;gap:.72rem;min-width:max-content;color:var(--ink);text-decoration:none;padding:.08rem .35rem .08rem .08rem}
.brand-mark{position:relative;display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#fff;border:3px solid var(--gold);box-shadow:0 5px 0 rgba(0,0,0,.28),0 0 24px rgba(255,201,74,.16);overflow:hidden;transform:rotate(-2deg);transition:transform .25s ease}
.brand:hover .brand-mark{transform:rotate(4deg) scale(1.04)}
.brand-mark img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}
.brand-copy small{color:var(--muted);font-size:.64rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.brand-copy strong{margin-top:.32rem;color:var(--ink);font-family:var(--font-display);font-size:.9rem;letter-spacing:.035em}
.nav-links{display:flex;align-items:center;justify-content:flex-end;gap:.24rem}
.nav-links a{position:relative;padding:.58rem .72rem;border:1px solid transparent;border-radius:12px;color:#d7e8de;font-size:.84rem;font-weight:900;text-decoration:none;white-space:nowrap;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
.nav-links a:hover,.nav-links a.active{transform:translateY(-2px);background:rgba(62,229,140,.11);border-color:rgba(62,229,140,.22);color:var(--green)}
.nav-links a.active::after{content:"";position:absolute;left:25%;right:25%;bottom:5px;height:3px;border-radius:99px;background:var(--gold);box-shadow:0 0 12px rgba(255,201,74,.55)}
.nav-links .btn-nav{padding:.62rem .95rem;background:linear-gradient(135deg,var(--gold),var(--gold-2));border-color:#ffd56e;color:#1c251d;box-shadow:0 5px 0 #885010;font-family:var(--font-display);font-size:.72rem;letter-spacing:.03em}
.nav-links .btn-nav:hover{background:linear-gradient(135deg,#ffe178,var(--gold));color:#172018;transform:translateY(-2px);box-shadow:0 7px 0 #885010}
.nav-toggle{display:none;width:46px;height:43px;padding:0;border:2px solid rgba(255,255,255,.1);border-radius:14px;background:var(--surface-lift);box-shadow:0 4px 0 rgba(0,0,0,.24);cursor:pointer}
.nav-toggle span{display:block;width:21px;height:3px;margin:4px auto;border-radius:99px;background:var(--gold);transition:transform .2s ease,opacity .2s ease}
.admin-nav{position:sticky}

.container{position:relative;z-index:2;width:min(1200px,calc(100% - 2rem));min-height:72vh;margin:0 auto;padding:3.25rem 0 5rem}
h1,h2,h3,h4{margin-top:0;color:var(--ink);line-height:1.16}
h1,h2{font-family:var(--font-display);font-weight:400;text-wrap:balance}
h1{font-size:clamp(2.2rem,5vw,4.8rem);letter-spacing:.012em}
h2{font-size:clamp(1.55rem,3.2vw,2.8rem);letter-spacing:.018em}
h3{font-size:1.2rem;font-weight:900}
p{margin-top:.35rem}
ul{padding-left:1.25rem}
li::marker{color:var(--gold)}
.muted{color:var(--muted)}

.card,.panel{
  position:relative;
  overflow:hidden;
  padding:1.35rem;
  border:2px solid var(--border);
  border-radius:var(--radius);
  background:linear-gradient(155deg,rgba(20,53,54,.94),rgba(9,29,32,.94));
  box-shadow:var(--shadow-small);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.card::before,.panel::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);opacity:.55}
.card:hover,.panel:hover{border-color:rgba(255,201,74,.34)}
.hero{display:grid;grid-template-columns:1.4fr .8fr;gap:1rem;align-items:stretch}
.grid{display:grid;gap:1.15rem}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}

.actions{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.btn,button,input[type=submit]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:46px;
  padding:.74rem 1.1rem;
  border:2px solid #ffe077;
  border-radius:14px;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  color:#182119;
  box-shadow:0 6px 0 #875012,0 11px 24px rgba(0,0,0,.18);
  font-family:var(--font-body);
  font-weight:1000;
  text-decoration:none;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,background .16s ease;
}
.btn b{font-size:1.15em}
.btn:hover,button:hover,input[type=submit]:hover{transform:translateY(-3px) rotate(-.3deg);filter:saturate(1.08);color:#162018;box-shadow:0 9px 0 #875012,0 16px 28px rgba(0,0,0,.22)}
.btn:active,button:active,input[type=submit]:active{transform:translateY(4px);box-shadow:0 2px 0 #875012,0 5px 12px rgba(0,0,0,.2)}
.btn.secondary{border-color:rgba(62,229,140,.55);background:linear-gradient(145deg,#17433d,#102f31);color:var(--green);box-shadow:0 6px 0 #071817,0 11px 24px rgba(0,0,0,.2)}
.btn.secondary:hover{background:linear-gradient(145deg,#1d5146,#123b39);color:#85ffba;box-shadow:0 9px 0 #071817,0 16px 28px rgba(0,0,0,.22)}
.btn.ghost{border-color:rgba(94,231,255,.3);background:rgba(94,231,255,.07);color:var(--cyan);box-shadow:0 6px 0 rgba(0,0,0,.25)}
.btn.ghost:hover{background:rgba(94,231,255,.13);color:#baf7ff}
.btn.danger{border-color:rgba(255,107,107,.65);background:linear-gradient(145deg,#7f3035,#5f2228);color:#ffdada;box-shadow:0 6px 0 #3d1217}
.btn.danger:hover{background:linear-gradient(145deg,#963a40,#6d272d);color:#fff}
.btn.small{min-height:36px;padding:.42rem .72rem;border-radius:11px;font-size:.82rem;box-shadow:0 4px 0 rgba(0,0,0,.28)}

form{margin:0}
.form-row{margin-bottom:1rem}
label{display:block;margin-bottom:.4rem;color:#e9f7ee;font-size:.92rem;font-weight:900}
input,select,textarea{
  width:100%;
  padding:.8rem .88rem;
  border:2px solid rgba(151,215,181,.18);
  border-radius:13px;
  outline:none;
  background:#0a2023;
  color:var(--ink);
  box-shadow:inset 0 2px 8px rgba(0,0,0,.18);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
input::placeholder,textarea::placeholder{color:#71877d}
select{color-scheme:dark}
textarea{min-height:145px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(255,201,74,.11),inset 0 2px 8px rgba(0,0,0,.18);transform:translateY(-1px)}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--green)}

.alert{position:relative;padding:1rem 1.08rem;border:2px solid var(--border);border-radius:16px;margin-bottom:1rem;background:rgba(16,44,45,.93);color:var(--text);box-shadow:var(--shadow-small)}
.alert strong{color:var(--ink)}
.alert.success{background:rgba(22,85,55,.9);border-color:rgba(62,229,140,.42);color:#d7ffe7}
.alert.danger{background:rgba(100,35,42,.9);border-color:rgba(255,107,107,.48);color:#ffe1e1}
.alert.warning{background:rgba(105,74,18,.9);border-color:rgba(255,201,74,.48);color:#fff1c5}
.alert.info{background:rgba(25,62,92,.9);border-color:rgba(94,231,255,.38);color:#ddf9ff}

.table{width:100%;border-collapse:separate;border-spacing:0;background:transparent;color:var(--text)}
.table th,.table td{text-align:left;padding:.86rem;border-bottom:1px solid rgba(151,215,181,.13);vertical-align:top}
.table th{background:#102e31;color:var(--gold);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.table th:first-child{border-top-left-radius:12px}.table th:last-child{border-top-right-radius:12px}
.table tr:hover td{background:rgba(62,229,140,.045)}
.table td a:not(.btn){font-weight:900}
.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .62rem;border:1px solid rgba(155,202,179,.22);border-radius:999px;background:rgba(255,255,255,.05);color:#b9cbc2;font-size:.76rem;font-weight:900}
.badge.good,.badge.success{background:rgba(62,229,140,.12);border-color:rgba(62,229,140,.35);color:#83ffb8}
.badge.bad,.badge.danger{background:rgba(255,107,107,.12);border-color:rgba(255,107,107,.34);color:#ffabab}
.badge.info{background:rgba(94,231,255,.12);border-color:rgba(94,231,255,.32);color:#9df1ff}
.badge.warn,.badge.warning{background:rgba(255,201,74,.12);border-color:rgba(255,201,74,.32);color:#ffe18b}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.stat{padding:1rem;border:2px solid rgba(62,229,140,.14);border-radius:18px;background:rgba(62,229,140,.07);text-align:center}
.stat strong{display:block;font-family:var(--font-display);font-size:2rem;color:var(--gold)}
.rank{font-family:var(--font-display);font-size:1.35rem;color:var(--gold)}
.kpi{font-family:var(--font-display);font-size:2rem;color:var(--gold)}
.code{padding:.9rem;border:1px solid rgba(94,231,255,.2);border-radius:14px;background:#031014;color:#8fffc0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto;box-shadow:inset 0 0 28px rgba(62,229,140,.04)}
.empty{padding:2rem;border:2px dashed rgba(151,215,181,.25);border-radius:18px;background:rgba(255,255,255,.025);color:var(--muted);text-align:center}

.challenge-card{display:flex;flex-direction:column;gap:.8rem;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d}
.challenge-card::after{content:"?";position:absolute;right:14px;top:3px;color:rgba(255,201,74,.055);font-family:var(--font-display);font-size:7rem;line-height:1;pointer-events:none}
.challenge-card.solved{border-color:rgba(62,229,140,.55);background:linear-gradient(145deg,rgba(24,83,55,.96),rgba(8,38,34,.96))}
.challenge-meta{display:flex;gap:.45rem;flex-wrap:wrap}
.challenge-image,.desc-image{max-width:100%;margin:.7rem 0;border:2px solid rgba(151,215,181,.17);border-radius:18px;background:#fff}
.hint-box{border-top:1px dashed rgba(151,215,181,.22);padding-top:.9rem;margin-top:.5rem}
.hint-item{margin:.55rem 0;color:var(--muted)}
details summary{cursor:pointer;color:var(--green);font-weight:900}

.feature-list{margin:.2rem 0 0;padding-left:1.15rem}
.feature-list li{margin:.44rem 0}
.text-center{text-align:center}
.center-block{margin-left:auto;margin-right:auto}
.logo-card img{position:relative;z-index:2;max-width:150px;max-height:150px;object-fit:contain}
.sponsor-card,.partner-card{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:190px}
.placeholder-logo{width:88px;height:88px;border:2px solid rgba(62,229,140,.35);border-radius:25px;display:flex;align-items:center;justify-content:center;background:var(--green-soft);color:var(--green);font-family:var(--font-display)}

/* Homepage */
.home-hero{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(350px,.87fr);gap:3.4rem;align-items:center;padding:2rem 0 3.2rem;min-height:calc(100vh - 116px)}
.hero-kicker,.section-label{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:.75rem;color:var(--gold);font-size:.76rem;font-weight:1000;letter-spacing:.12em;text-transform:uppercase}
.live-dot{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 6px rgba(62,229,140,.1),0 0 20px rgba(62,229,140,.7);animation:livePulse 1.7s ease-in-out infinite}
.home-copy h1{margin-bottom:1rem}
.hero-title-main{display:block;color:var(--ink);text-shadow:4px 5px 0 rgba(0,0,0,.28)}
.hero-title-pop{display:inline-block;margin-top:.35rem;padding:.2rem .55rem .28rem;border:3px solid #ffe17a;border-radius:12px;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#172018;box-shadow:0 8px 0 #875012;transform:rotate(-1.4deg);font-size:.5em;text-shadow:none}
.lead{max-width:680px;color:#c5d8ce;font-size:clamp(1rem,1.7vw,1.22rem);font-weight:600}
.hero-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.2rem 0 1.5rem}
.hero-chips span{padding:.42rem .72rem;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.045);color:#cee0d7;font-size:.82rem;font-weight:900;box-shadow:0 4px 0 rgba(0,0,0,.14)}
.hero-actions{margin-bottom:1.45rem}
.event-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:1rem;border:2px solid rgba(151,215,181,.16);border-radius:22px;background:rgba(10,31,34,.66);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 30px rgba(0,0,0,.16);backdrop-filter:blur(10px)}
.event-meta>div{display:flex;align-items:center;gap:.7rem;padding:.62rem;border-radius:15px;background:rgba(255,255,255,.035)}
.meta-icon{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border:1px solid rgba(255,201,74,.25);border-radius:12px;background:var(--gold-soft)}
.event-meta span:not(.meta-icon){display:flex;flex-direction:column;min-width:0}
.event-meta small{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.event-meta strong{overflow:hidden;color:var(--ink);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}

.hero-art{position:relative;display:grid;place-items:center;min-height:560px;isolation:isolate}
.hero-art::before{content:"";position:absolute;width:76%;aspect-ratio:1;border-radius:43% 57% 57% 43%;background:linear-gradient(135deg,rgba(62,229,140,.22),rgba(94,231,255,.08),rgba(255,110,170,.18));filter:blur(1px);animation:morphShape 10s ease-in-out infinite;z-index:-2}
.logo-stage{position:relative;display:grid;place-items:center;width:min(420px,88vw);aspect-ratio:1;border:3px solid rgba(255,255,255,.1);border-radius:50%;background:radial-gradient(circle at 38% 30%,#fff 0 36%,#eef6f0 72%);box-shadow:0 18px 0 rgba(0,0,0,.28),0 28px 70px rgba(0,0,0,.35),0 0 0 16px rgba(255,201,74,.07);animation:stageFloat 5.5s ease-in-out infinite}
.logo-stage::before{content:"";position:absolute;inset:-18px;border:4px dashed rgba(255,201,74,.52);border-radius:50%;animation:spin 24s linear infinite}
.logo-stage::after{content:"";position:absolute;inset:12%;border:3px dotted rgba(62,229,140,.35);border-radius:50%;animation:spinReverse 18s linear infinite}
.logo-stage img{position:relative;z-index:2;width:92%;height:92%;object-fit:cover;border-radius:50%;filter:saturate(1.06) contrast(1.02)}
.logo-orbit{position:absolute;z-index:3;border-radius:50%;border:2px solid transparent;pointer-events:none}
.orbit-one{inset:-42px;border-top-color:var(--cyan);border-right-color:rgba(94,231,255,.18);animation:spin 10s linear infinite}
.orbit-two{inset:-67px;border-bottom-color:var(--pink);border-left-color:rgba(255,110,170,.16);animation:spinReverse 14s linear infinite}
.logo-spark{position:absolute;z-index:4;color:var(--gold);font-size:2.2rem;text-shadow:0 0 20px rgba(255,201,74,.7);animation:starPulse 2.5s ease-in-out infinite}
.spark-one{top:3%;left:8%}.spark-two{right:-5%;top:35%;animation-delay:-.8s}.spark-three{left:12%;bottom:1%;animation-delay:-1.5s}
.floating-card{position:absolute;z-index:5;min-width:108px;padding:.72rem .84rem;border:2px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(10,31,34,.9);box-shadow:0 8px 0 rgba(0,0,0,.26),0 18px 32px rgba(0,0,0,.28);backdrop-filter:blur(12px);text-align:center;animation:badgeFloat 4s ease-in-out infinite}
.floating-card span{display:block;color:var(--gold);font-family:var(--font-display);font-size:1rem}
.floating-card small{display:block;color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.floating-card-one{top:8%;right:-1%;transform:rotate(5deg)}
.floating-card-two{bottom:12%;right:-5%;transform:rotate(-4deg);animation-delay:-1.3s}
.floating-card-three{bottom:18%;left:-7%;transform:rotate(4deg);animation-delay:-2.4s}
.art-cloud{position:absolute;z-index:-1;height:54px;border-radius:50px;background:rgba(255,255,255,.08);filter:blur(.2px);animation:cloudDrift 8s ease-in-out infinite}
.art-cloud::before,.art-cloud::after{content:"";position:absolute;border-radius:50%;background:inherit}
.art-cloud::before{width:55px;height:55px;left:22px;top:-26px}.art-cloud::after{width:74px;height:74px;right:28px;top:-40px}
.cloud-one{width:180px;top:9%;left:-5%}.cloud-two{width:145px;bottom:7%;right:4%;animation-delay:-3s}

.festive-ticker{width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;border-top:2px solid rgba(255,201,74,.35);border-bottom:2px solid rgba(255,201,74,.35);background:linear-gradient(90deg,#0f332e,#173c31,#0f332e);box-shadow:0 8px 0 rgba(0,0,0,.18);transform:rotate(-.45deg)}
.ticker-track{display:flex;align-items:center;gap:1.8rem;width:max-content;padding:.68rem 0;color:#f7ffe9;font-family:var(--font-display);font-size:.83rem;letter-spacing:.08em;animation:ticker 24s linear infinite}
.ticker-track i{color:var(--gold);font-style:normal}

.countdown-card{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:1.5rem;align-items:center;margin:3.3rem 0 2.5rem;padding:1.55rem;border:3px solid rgba(255,201,74,.44);border-radius:28px;background:linear-gradient(135deg,rgba(20,67,55,.97),rgba(10,31,36,.97) 48%,rgba(40,29,58,.93));box-shadow:0 12px 0 rgba(0,0,0,.25),0 30px 60px rgba(0,0,0,.3);overflow:hidden}
.countdown-card::before{content:"";position:absolute;inset:-120% auto auto -20%;width:60%;height:350%;transform:rotate(20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:shineSweep 7s ease-in-out infinite}
.countdown-copy{position:relative;z-index:2}
.countdown-card h2{margin-bottom:.4rem;font-size:clamp(1.35rem,2.6vw,2.25rem)}
.status-line{color:#bcefd1;font-weight:900}
.countdown-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.72rem}
.count-unit{position:relative;padding:1rem .55rem;border:2px solid rgba(255,255,255,.1);border-radius:19px;background:rgba(5,19,22,.48);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 6px 0 rgba(0,0,0,.2);text-align:center}
.count-unit::after{content:"";position:absolute;left:14%;right:14%;bottom:7px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--green),var(--gold))}
.count-unit strong{display:block;color:var(--gold);font-family:var(--font-display);font-size:clamp(1.8rem,4vw,3.25rem);line-height:1;text-shadow:0 5px 0 rgba(0,0,0,.2)}
.count-unit span{display:block;margin-top:.45rem;color:#c0d5ca;font-size:.68rem;font-weight:1000;letter-spacing:.11em;text-transform:uppercase}
.count-unit.tick{animation:numberPop .34s ease}

.section{padding:3.2rem 0}
.section-head{max-width:800px;margin:0 auto 1.5rem;text-align:center}
.section-head h2{margin-bottom:.55rem}
.section-head p{max-width:680px;margin:.2rem auto;color:var(--muted);font-size:1.02rem}
.section-label{padding:.28rem .55rem;border:1px solid rgba(255,201,74,.22);border-radius:999px;background:var(--gold-soft)}
.home-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem;margin:1.35rem 0}
.home-stat{position:relative;overflow:hidden;padding:1.15rem .8rem;border:2px solid rgba(151,215,181,.17);border-radius:20px;background:linear-gradient(145deg,rgba(20,54,54,.92),rgba(8,28,31,.94));box-shadow:0 8px 0 rgba(0,0,0,.2);text-align:center;transition:transform .2s ease,border-color .2s ease}
.home-stat:hover{transform:translateY(-6px) rotate(-1deg);border-color:rgba(255,201,74,.45)}
.home-stat::after{content:"";position:absolute;width:70px;height:70px;right:-28px;bottom:-34px;border-radius:50%;background:rgba(62,229,140,.07)}
.stat-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 auto .5rem;border-radius:14px;background:rgba(255,255,255,.06);font-size:1.35rem}
.home-stat strong{display:block;color:var(--gold);font-family:var(--font-display);font-size:1.85rem;line-height:1.1}
.home-stat>span:last-child{display:block;margin-top:.38rem;color:var(--muted);font-size:.76rem;font-weight:1000;text-transform:uppercase;letter-spacing:.07em}

.feature-grid{align-items:stretch}
.info-card{display:flex;min-height:315px;flex-direction:column;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d}
.info-card:nth-child(2){transform:perspective(900px) rotate(1deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.info-card:nth-child(3){transform:perspective(900px) rotate(-.7deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.info-card h3{margin-bottom:.5rem;font-size:1.3rem}
.card-icon{display:grid;place-items:center;width:68px;height:68px;margin-bottom:1rem;border:3px solid rgba(255,255,255,.1);border-radius:22px;background:linear-gradient(145deg,rgba(255,201,74,.25),rgba(255,110,170,.1));box-shadow:0 7px 0 rgba(0,0,0,.2);font-size:2rem;transform:translateZ(18px) rotate(-4deg)}
.info-card:nth-child(2) .card-icon{background:linear-gradient(145deg,rgba(94,231,255,.2),rgba(62,229,140,.12));transform:translateZ(18px) rotate(4deg)}
.info-card:nth-child(3) .card-icon{background:linear-gradient(145deg,rgba(169,139,255,.2),rgba(255,110,170,.12))}
.card-tag{align-self:flex-start;margin-top:auto;padding:.32rem .62rem;border-radius:999px;background:rgba(62,229,140,.1);color:var(--green);font-size:.73rem;font-weight:1000;text-transform:uppercase;letter-spacing:.06em}

.category-zone{position:relative}
.category-zone::before{content:"";position:absolute;inset:15% -15% 0;border-radius:50%;background:radial-gradient(circle,rgba(94,231,255,.08),transparent 62%);z-index:-1}
.category-cloud{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.9rem;max-width:930px;margin:1.8rem auto 0}
.category-pill{display:inline-flex;align-items:center;justify-content:center;min-width:130px;padding:.78rem 1rem;border:2px solid rgba(255,255,255,.11);border-radius:18px;background:#123235;box-shadow:0 7px 0 rgba(0,0,0,.23);color:var(--ink);font-family:var(--font-display);font-size:.76rem;letter-spacing:.04em;animation:pillBob 4.8s ease-in-out infinite}
.pill-a{border-color:rgba(94,231,255,.38);transform:rotate(-2deg)}.pill-b{border-color:rgba(255,201,74,.42);transform:rotate(2deg);animation-delay:-.7s}.pill-c{border-color:rgba(255,110,170,.4);transform:rotate(-1deg);animation-delay:-1.4s}.pill-d{border-color:rgba(62,229,140,.4);transform:rotate(1.8deg);animation-delay:-2.1s}.pill-e{border-color:rgba(169,139,255,.42);transform:rotate(-2.4deg);animation-delay:-2.8s}.pill-f{border-color:rgba(255,107,107,.4);transform:rotate(1deg);animation-delay:-3.5s}.pill-g{border-color:rgba(255,157,46,.42);transform:rotate(-1deg);animation-delay:-4.2s}

.partner-box{max-width:390px;margin:1.2rem auto 0}
.partner-card{min-height:290px;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.partner-card img{padding:.8rem;border-radius:18px;background:#fff;box-shadow:0 8px 0 rgba(0,0,0,.2)}
.partner-card h3{margin:1rem 0 .2rem;font-family:var(--font-display);font-size:1rem;text-transform:uppercase}
.partner-halo{position:absolute;width:210px;height:210px;border:4px dashed rgba(255,201,74,.24);border-radius:50%;animation:spin 26s linear infinite}
.award-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;max-width:960px;margin:1.25rem auto 0}
.award-card{min-height:260px;padding-left:7rem;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.award-card:nth-child(2){transform:perspective(900px) rotate(.8deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.award-icon{position:absolute;left:1.45rem;top:1.45rem;display:grid;place-items:center;width:72px;height:72px;border:3px solid rgba(255,201,74,.34);border-radius:24px;background:var(--gold-soft);box-shadow:0 7px 0 rgba(0,0,0,.22);font-size:2.2rem;transform:rotate(-6deg)}
.award-card:nth-child(2) .award-icon{transform:rotate(6deg);background:rgba(169,139,255,.13);border-color:rgba(169,139,255,.35)}
.award-card ul{margin:.6rem 0 0}
.notification-grid{max-width:950px;margin:1.2rem auto 0}

.cta-card{position:relative;display:flex;justify-content:space-between;align-items:center;gap:1.7rem;overflow:hidden;padding:1.75rem 2rem;border:3px solid rgba(255,201,74,.45);border-radius:30px;background:linear-gradient(125deg,rgba(42,92,62,.96),rgba(14,47,48,.96) 45%,rgba(71,42,74,.92));box-shadow:0 12px 0 rgba(0,0,0,.25),0 30px 50px rgba(0,0,0,.28)}
.cta-card::before{content:"";position:absolute;right:-80px;top:-110px;width:280px;height:280px;border:38px solid rgba(255,255,255,.04);border-radius:50%}
.cta-copy{position:relative;z-index:2;max-width:650px}.cta-card .actions{position:relative;z-index:2;justify-content:flex-end}.cta-card h2{margin-bottom:.35rem}.cta-decoration{position:absolute;color:var(--gold);font-size:2.4rem;animation:starPulse 2.5s ease-in-out infinite}.deco-one{left:48%;top:8%}.deco-two{right:2%;bottom:4%;transform:rotate(16deg);animation-delay:-1s}

.footer{position:relative;z-index:3;width:min(1380px,calc(100% - 2rem));margin:0 auto 1rem;padding:1rem 1.2rem;border:2px solid rgba(255,255,255,.07);border-radius:24px;background:rgba(7,25,28,.88);box-shadow:0 10px 30px rgba(0,0,0,.25);backdrop-filter:blur(12px)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1200px;margin:auto}
.footer-brand{display:flex;align-items:center;gap:.75rem}.footer-lock{display:grid;place-items:center;width:50px;height:50px;border:2px solid rgba(255,201,74,.32);border-radius:16px;background:var(--gold-soft);font-size:1.5rem;box-shadow:0 5px 0 rgba(0,0,0,.2)}.footer-brand div{display:flex;flex-direction:column}.footer-brand strong{color:var(--ink);font-family:var(--font-display);font-size:.78rem}.footer-brand span:not(.footer-lock){color:var(--muted);font-size:.8rem}.footer-meta{display:flex;align-items:flex-end;flex-direction:column;color:var(--muted);font-size:.82rem}.footer-meta a{font-weight:900;text-decoration:none}

.reveal-ready{opacity:0;transform:translateY(20px) scale(.985);transition:opacity .55s ease var(--reveal-delay,0ms),transform .55s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms)}
.reveal-ready.revealed{opacity:1;transform:translateY(0) scale(1)}
.click-spark{position:fixed;z-index:9999;width:8px;height:8px;border-radius:2px;background:var(--gold);pointer-events:none;transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateX(0);animation:sparkBurst .62s ease-out forwards}

@keyframes blobFloat{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(38px,-28px,0) rotate(12deg)}}
@keyframes gridDrift{to{background-position:0 62px,62px 0}}
@keyframes confettiFloat{0%,100%{translate:0 0;rotate:0deg}50%{translate:15px -25px;rotate:22deg}}
@keyframes starPulse{0%,100%{transform:scale(.85) rotate(0);opacity:.45}50%{transform:scale(1.16) rotate(8deg);opacity:1}}
@keyframes livePulse{0%,100%{transform:scale(.9);opacity:.7}50%{transform:scale(1.18);opacity:1}}
@keyframes morphShape{0%,100%{border-radius:43% 57% 57% 43%/45% 42% 58% 55%;transform:rotate(-3deg) scale(1)}50%{border-radius:58% 42% 42% 58%/55% 59% 41% 45%;transform:rotate(4deg) scale(1.05)}}
@keyframes stageFloat{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-14px) rotate(.8deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinReverse{to{transform:rotate(-360deg)}}
@keyframes badgeFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes cloudDrift{0%,100%{translate:-8px 0}50%{translate:16px -5px}}
@keyframes ticker{to{transform:translateX(-50%)}}
@keyframes shineSweep{0%,55%{transform:translateX(-170%) rotate(20deg)}75%,100%{transform:translateX(310%) rotate(20deg)}}
@keyframes numberPop{0%{transform:scale(.92)}55%{transform:scale(1.05)}100%{transform:scale(1)}}
@keyframes pillBob{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes sparkBurst{to{opacity:0;transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateX(58px) scale(.2)}}

@media(max-width:1080px){
  .nav{align-items:center;flex-wrap:wrap}
  .nav-toggle{display:block;margin-left:auto}
  .nav-links{display:none;flex-basis:100%;align-items:stretch;flex-direction:column;padding:.65rem 0 .15rem}
  .nav.nav-open .nav-links{display:flex;animation:menuDrop .22s ease}
  .nav-links a{width:100%;padding:.74rem .9rem}
  .nav.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav.nav-open .nav-toggle span:nth-child(2){opacity:0}
  .nav.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .home-hero{grid-template-columns:1fr;text-align:center;padding-top:1.25rem}
  .home-copy{max-width:820px;margin:auto}.home-copy .actions,.hero-chips{justify-content:center}.lead{margin-left:auto;margin-right:auto}.event-meta{text-align:left}
  .hero-art{min-height:510px}.logo-stage{width:min(390px,76vw)}
  .home-stats{grid-template-columns:repeat(3,1fr)}
  .grid-4,.grid-5{grid-template-columns:repeat(2,1fr)}
  .countdown-card{grid-template-columns:1fr;text-align:center}
}
@keyframes menuDrop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:760px){
  .nav{width:calc(100% - 1rem);margin-top:.5rem;border-radius:18px}.nav.nav-scrolled{width:100%;margin-top:0}
  .brand-copy small{display:none}.brand-copy strong{font-size:.78rem}.brand-mark{width:48px;height:48px;border-radius:15px}
  .container{width:min(100% - 1rem,1200px);padding:2rem 0 3.5rem}
  h1{font-size:clamp(2rem,12vw,3.3rem)}h2{font-size:clamp(1.45rem,8vw,2.2rem)}
  .hero,.grid-2,.grid-3,.grid-4,.grid-5,.stats,.award-grid{grid-template-columns:1fr}
  .home-hero{gap:1.8rem;min-height:auto;padding-bottom:2.5rem}
  .hero-title-pop{font-size:.42em}.hero-actions{justify-content:stretch}.hero-actions .btn{flex:1 1 44%}
  .event-meta{grid-template-columns:1fr}.event-meta strong{white-space:normal}
  .hero-art{min-height:430px}.logo-stage{width:min(315px,78vw)}.floating-card{min-width:92px;padding:.55rem .62rem}.floating-card span{font-size:.82rem}.floating-card-three{left:0}.floating-card-two{right:0}.floating-card-one{right:1%}
  .countdown-card{padding:1.15rem;border-radius:22px}.countdown-grid{grid-template-columns:repeat(2,1fr)}
  .home-stats{grid-template-columns:repeat(2,1fr)}
  .info-card{min-height:auto}.award-card{padding-left:1.35rem;padding-top:6.8rem}.award-icon{top:1.25rem;left:1.25rem}
  .table{display:block;overflow-x:auto;white-space:nowrap}.table td .muted{white-space:normal}
  .cta-card{align-items:flex-start;flex-direction:column;padding:1.45rem}.cta-card .actions{justify-content:flex-start}
  .footer{width:calc(100% - 1rem);border-radius:20px}.footer-inner{align-items:flex-start;flex-direction:column}.footer-meta{align-items:flex-start}
}

@media(max-width:460px){
  body{font-size:15px}.container{width:min(100% - .8rem,1200px)}
  .brand-copy strong{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .home-stats{grid-template-columns:1fr 1fr}.home-stat{padding:.9rem .55rem}.home-stat strong{font-size:1.5rem}
  .hero-chips span{flex:1 1 46%}.hero-actions .btn{flex:1 1 100%}
  .logo-stage{width:min(270px,76vw)}.hero-art{min-height:385px}.floating-card-one{top:4%}.floating-card-two{bottom:7%}.floating-card-three{bottom:12%}
  .category-pill{min-width:115px;font-size:.67rem}.count-unit strong{font-size:2rem}
  .card,.panel{padding:1.05rem;border-radius:19px}.actions{gap:.6rem}.btn,button,input[type=submit]{width:100%}.table .btn,.table button{width:auto}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
  .reveal-ready{opacity:1;transform:none}
  .cursor-glow{display:none}
}
