:root{--teal:#14b8a6;--bg:#000;--fg:#fff;--muted:rgba(255,255,255,.65);--border:rgba(255,255,255,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}}
body{margin:0;background:var(--bg);color:var(--fg);font-family:'Rubik',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:0 20px}
.accent{color:var(--teal)}

.btn{display:inline-block;padding:.85rem 1.1rem;border-radius:16px;border:1px solid var(--border);transition:.2s all ease}
.btn:hover{border-color:rgba(255,255,255,.25)}
.btn-primary{background:var(--teal);color:#000;border-color:transparent;box-shadow:0 0 0 1px rgba(20,184,166,.35),0 12px 40px -10px rgba(20,184,166,.35)}
.btn-primary:hover{filter:brightness(1.07)}
.btn-ghost{background:transparent;color:var(--fg)}

.header{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.header-inner{height:64px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px}
.brand-mark{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(20,184,166,.18);border:1px solid rgba(20,184,166,.4);color:#7fffe6}
.nav{display:none;gap:18px}
.nav a:hover{color:var(--teal)}
.menu-btn{display:inline-flex;flex-direction:column;gap:4px;background:transparent;border:1px solid var(--border);border-radius:10px;padding:8px}
.menu-btn span{display:block;width:20px;height:2px;background:#fff}
.mobile-menu{display:none;border-top:1px solid var(--border);padding:14px 20px;gap:10px;flex-direction:column}
.mobile-menu a{padding:6px 0}
@media(min-width:768px){.nav{display:flex}.menu-btn{display:none}.mobile-menu{display:none!important}}

.plasma-grid{background:
  radial-gradient(1000px 400px at top right, rgba(20,184,166,.10), transparent 60%),
  radial-gradient(800px 300px at 20% 10%, rgba(20,184,166,.08), transparent 60%),
  repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 1px, transparent 1px 56px),
  repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 56px);}

.section{padding:60px 0;border-top:1px solid var(--border)}
.hero-stack{padding-top:84px}
.stack-center{display:flex;flex-direction:column;align-items:center;gap:16px}
.hero-top{width:100%;max-width:1120px;border-radius:18px;border:1px solid var(--border);box-shadow:0 0 0 1px rgba(20,184,166,.35),0 12px 40px -10px rgba(20,184,166,.35)}
.hero-logo{width:min(680px,90%);filter:drop-shadow(0 0 30px rgba(20,184,166,.6))}

.center-text{text-align:center}
.intro .party{font-size:clamp(32px,6vw,64px);margin:0 0 10px;font-weight:800}
.intro p{color:var(--muted);font-size:18px;margin:0 0 18px}
.cta-row{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}

.split{display:grid;gap:28px}
@media(min-width:860px){.split{grid-template-columns:2fr 1fr}}

.info-cards{display:grid;gap:12px}
.card{padding:18px;border-radius:16px;border:1px solid var(--border);background:rgba(255,255,255,.04)}
.glow{box-shadow:0 0 0 1px rgba(20,184,166,.25),0 12px 40px -10px rgba(20,184,166,.25)}
.label{color:var(--muted);font-size:13px;margin:0 0 6px}
.value{font-weight:700}
.big{font-size:24px;color:var(--teal)}
.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#7fffe6}

.grid-3{display:grid;gap:16px}
@media(min-width:860px){.grid-3{grid-template-columns:repeat(3,1fr)}}

.gallery{display:grid;gap:16px;grid-template-columns:repeat(1,1fr)}
.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;border:1px solid var(--border)}
@media(min-width:860px){.gallery{grid-template-columns:repeat(3,1fr)}}

.video-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#000}
.fullwidth-media{display:block;width:100%;height:auto}

.footer{border-top:1px solid var(--border)}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:26px 0;color:var(--muted)}
.footer a{color:var(--muted)}
.footer a:hover{color:#a0fff0}

/* FUN bits */
.img-fun{transition:transform .35s ease, box-shadow .35s ease}
.img-fun:hover{transform:translateY(-2px) scale(1.01)}
.tilt{transform:perspective(800px) rotateX(0) rotateY(0);transform-style:preserve-3d}
.tilt:hover{transform:perspective(800px) rotateX(4deg) rotateY(-6deg)}
.fun-card{position:relative;overflow:hidden}
.fun-card::after{content:"";position:absolute;inset:0;background:linear-gradient(130deg, transparent, rgba(20,184,166,.15), transparent);transform:translateX(-100%);animation:shine 2.4s infinite}
.fun-shimmer{position:relative;overflow:hidden}
.fun-shimmer::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, transparent, rgba(255,255,255,.07), transparent);animation:shine 3.2s infinite}
.delay-1{animation-delay:.6s}
@keyframes shine{0%{transform:translateX(-100%)}60%{transform:translateX(100%)}100%{transform:translateX(100%)}}

.wobble{animation:wobble 2.2s ease-in-out infinite}
@keyframes wobble{0%,100%{transform:rotate(0)}25%{transform:rotate(1.5deg)}75%{transform:rotate(-1.5deg)}}
.bounce{animation:bounce 2.4s ease-in-out infinite}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

.ticks{list-style:none;padding:0;margin:12px 0 0}
.ticks li{margin:.4rem 0;padding-left:1.2rem;position:relative}
.ticks li::before{content:"✔";color:var(--teal);position:absolute;left:0}

.spark{position:absolute;width:6px;height:6px;background:#fff;border-radius:50%;filter:drop-shadow(0 0 8px var(--teal));animation:spark .9s ease forwards}
@keyframes spark{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}80%{opacity:1}100%{transform:translate(-50%,-80px) scale(.2);opacity:0}}
