@font-face{
  font-family:'FontShui';
  src:url('font/FONTSHUI.TTF') format('truetype');
  font-weight:normal;font-style:normal;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:       #0f0f14;
  --surface:  #16161e;
  --card:     #1c1c26;
  --border:   rgba(255,255,255,0.06);
  --text:     #ffffff;
  --muted:    rgba(255,255,255,0.45);
  --purple:   #7c5cfc;
  --pink:     #fc5c8a;
  --teal:     #3ecfb2;
  --yellow:   #ffd166;
  --grad:     linear-gradient(135deg,#7c5cfc,#fc5c8a);
}

html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1rem;
  line-height:1.6;
  overflow-x:hidden;
}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:1.25rem 4rem;
  display:flex;align-items:center;justify-content:space-between;
  transition:background .3s;
}
nav.scrolled{
  background:rgba(15,15,20,0.85);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}
.logo{display:flex;align-items:center;gap:.65rem;text-decoration:none}
.logo img{width:32px;height:32px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(124,92,252,.5))}
.logo-text{font-size:1rem;font-weight:400;color:#fff;letter-spacing:-.01em;font-family:'FontShui',sans-serif}
.nav-links{display:flex;align-items:center;gap:.5rem;list-style:none}
.nav-links a{
  text-decoration:none;color:var(--muted);
  font-size:.875rem;font-weight:600;
  padding:.45rem 1rem;border-radius:2rem;
  transition:color .2s,background .2s;
}
.nav-links a:hover{color:#fff;background:rgba(255,255,255,.07)}
.nav-cta{
  background:var(--grad);color:#fff!important;
  padding:.45rem 1.25rem!important;border-radius:2rem!important;
}
.nav-cta:hover{opacity:.9;background:var(--grad)!important}

/* ── HERO ── */
#hero{
  min-height:100svh;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;
  padding:8rem 2rem 5rem;
  position:relative;
  overflow:hidden;
}

/* animated mesh gradient bg */
.mesh{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 60% 50% at 20% 50%,rgba(124,92,252,.18) 0%,transparent 70%),
    radial-gradient(ellipse 50% 40% at 80% 30%,rgba(252,92,138,.14) 0%,transparent 70%),
    radial-gradient(ellipse 40% 50% at 60% 80%,rgba(62,207,178,.1) 0%,transparent 70%);
}
/* floating blobs */
.blob{
  position:absolute;border-radius:50%;filter:blur(70px);
  pointer-events:none;animation:float ease-in-out infinite;
}
.blob1{width:400px;height:400px;background:rgba(124,92,252,.2);top:-100px;left:-100px;animation-duration:8s}
.blob2{width:350px;height:350px;background:rgba(252,92,138,.15);bottom:-50px;right:-80px;animation-duration:10s;animation-delay:-3s}
.blob3{width:250px;height:250px;background:rgba(62,207,178,.12);top:40%;left:60%;animation-duration:7s;animation-delay:-5s}

.hero-content{position:relative;z-index:1}

.hero-pill{
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  border-radius:2rem;padding:.4rem 1rem .4rem .6rem;
  margin-bottom:2rem;
  animation:fadeUp .6s ease both;
}
.pill-dot{
  width:22px;height:22px;border-radius:50%;
  background:var(--grad);
  display:flex;align-items:center;justify-content:center;
  font-size:.6rem;
}
.pill-text{font-size:.8rem;font-weight:600;color:rgba(255,255,255,.7)}

h1{
  font-size:clamp(3rem,8vw,6.5rem);
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.03em;
  margin-bottom:1.5rem;
  animation:fadeUp .6s .08s ease both;
}
h1 .grad-text{
  background:var(--grad);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}

.hero-sub{
  font-size:1.15rem;font-weight:400;
  color:var(--muted);max-width:500px;margin:0 auto;
  animation:fadeUp .6s .15s ease both;
}

.hero-btns{
  display:flex;align-items:center;justify-content:center;
  gap:1rem;margin-top:2.5rem;
  animation:fadeUp .6s .22s ease both;
}
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.9rem;font-weight:700;
  text-decoration:none;padding:.8rem 1.8rem;border-radius:2rem;
  transition:transform .2s,opacity .2s;
}
.btn:hover{transform:translateY(-2px)}
.btn-main{background:var(--grad);color:#fff}
.btn-main:hover{opacity:.9}
.btn-outline{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
}
.btn-outline:hover{background:rgba(255,255,255,.12)}

/* game preview cards floating */
.hero-cards{
  display:flex;align-items:center;justify-content:center;
  gap:1.5rem;margin-top:4rem;
  animation:fadeUp .6s .3s ease both;
}
.mini-card{
  width:80px;height:80px;border-radius:20px;
  display:flex;align-items:center;justify-content:center;
  font-size:2.2rem;
  border:1px solid rgba(255,255,255,.1);
  animation:float ease-in-out infinite;
  box-shadow:0 8px 32px rgba(0,0,0,.3);
}
.mini-card:nth-child(1){background:linear-gradient(135deg,#1e3a5f,#2d6a9f);animation-duration:5s}
.mini-card:nth-child(2){background:linear-gradient(135deg,#3d1e5f,#7c3d9f);animation-duration:6s;animation-delay:-2s;transform:translateY(-12px)}
.mini-card:nth-child(3){background:linear-gradient(135deg,#1e5f3a,#3d9f6a);animation-duration:7s;animation-delay:-1s}
.mini-card.faded{opacity:.45;transform:scale(.85)!important}
.coming-label{
  font-size:.75rem;font-weight:600;color:var(--muted);
  display:flex;flex-direction:column;align-items:center;gap:.4rem;
}
.coming-label span:first-child{
  background:rgba(255,255,255,.07);border:1px solid var(--border);
  padding:.25rem .75rem;border-radius:2rem;font-size:.7rem;
}

/* ── SECTION SHARED ── */
.section{padding:6rem 4rem;max-width:1100px;margin:0 auto}
.section-tag{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--purple);margin-bottom:1rem;
}
.section-tag::before{content:'';width:16px;height:2px;background:var(--purple);border-radius:1px}
.section-title{
  font-size:clamp(2rem,4vw,3rem);
  font-weight:800;letter-spacing:-.02em;line-height:1.1;
  margin-bottom:1rem;
}
.section-sub{color:var(--muted);font-size:1rem;max-width:520px}

/* ── ABOUT ── */
#about{background:var(--surface)}
.about-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:center;
}
.about-text p{color:var(--muted);margin-bottom:1rem;line-height:1.75}

.stat-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}
.stat-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:16px;padding:1.5rem;
}
.stat-num{
  font-size:2.5rem;font-weight:800;letter-spacing:-.03em;
  background:var(--grad);-webkit-background-clip:text;
  -webkit-text-fill-color:transparent;background-clip:text;
  line-height:1;
}
.stat-lbl{font-size:.8rem;color:var(--muted);margin-top:.35rem;font-weight:500}

.value-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.vpill{
  background:rgba(255,255,255,.05);
  border:1px solid var(--border);
  border-radius:2rem;padding:.4rem 1rem;
  font-size:.82rem;font-weight:600;color:rgba(255,255,255,.7);
}

/* studio visual */
.studio-visual{
  background:var(--card);border:1px solid var(--border);
  border-radius:24px;padding:2.5rem;
  display:flex;flex-direction:column;gap:1.5rem;
}
.sv-logo{
  display:flex;align-items:center;justify-content:center;
  height:160px;
  background:radial-gradient(ellipse at center,rgba(124,92,252,.15) 0%,transparent 70%);
  border-radius:16px;
}
.sv-logo img{width:90px;filter:drop-shadow(0 0 20px rgba(124,92,252,.4))}
.sv-row{
  display:flex;align-items:center;gap:.75rem;
  padding:.75rem;background:rgba(255,255,255,.03);border-radius:10px;
}
.sv-icon{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;
}
.sv-label{font-size:.82rem;font-weight:600;color:rgba(255,255,255,.8)}
.sv-sub{font-size:.72rem;color:var(--muted);margin-top:.1rem}

/* ── GAMES ── */
#games{background:var(--bg)}
.games-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}
.game-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:20px;overflow:hidden;
  transition:transform .25s,border-color .25s,box-shadow .25s;
  cursor:default;
}
.game-card:hover{
  transform:translateY(-6px);
  border-color:rgba(124,92,252,.3);
  box-shadow:0 20px 40px rgba(0,0,0,.3);
}
.game-thumb{
  aspect-ratio:1;
  display:flex;align-items:center;justify-content:center;
  font-size:4rem;
  position:relative;overflow:hidden;
}
.game-thumb-overlay{
  position:absolute;bottom:.75rem;right:.75rem;
  background:rgba(0,0,0,.4);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.1);
  border-radius:2rem;padding:.25rem .75rem;
  font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(255,255,255,.8);
}
.game-body{padding:1.25rem}
.game-name{font-size:1rem;font-weight:800;margin-bottom:.3rem}
.game-desc{font-size:.82rem;color:var(--muted)}

/* ── CONTACT ── */
#contact{background:var(--surface)}
.contact-box{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:24px;
  padding:4rem;
  text-align:center;
  position:relative;overflow:hidden;
  margin-top:3rem;
}
.contact-box::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 80% at 50% 0%,rgba(124,92,252,.1) 0%,transparent 70%);
}
.contact-box h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.02em;margin-bottom:.75rem}
.contact-box p{color:var(--muted);margin-bottom:2.5rem;max-width:420px;margin-left:auto;margin-right:auto}
.mail-link{
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--grad);color:#fff;
  text-decoration:none;font-weight:700;font-size:1rem;
  padding:.9rem 2rem;border-radius:2rem;
  transition:opacity .2s,transform .2s;
}
.mail-link:hover{opacity:.9;transform:translateY(-2px)}
.mail-link svg{width:18px;height:18px}

/* ── FOOTER ── */
footer{
  border-top:1px solid var(--border);
  padding:2rem 4rem;
  display:flex;align-items:center;justify-content:space-between;
}
.footer-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.footer-logo img{width:24px;height:24px;object-fit:contain;filter:drop-shadow(0 0 6px rgba(124,92,252,.4))}
.footer-logo span{font-size:.85rem;font-weight:800;color:rgba(255,255,255,.5)}
.footer-copy{font-size:.8rem;color:var(--muted)}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

@media(max-width:768px){
  nav{padding:1rem 1.5rem}
  .nav-links li:not(:last-child){display:none}
  .section{padding:4rem 1.5rem}
  #about .about-grid,#about .stat-cards{grid-template-columns:1fr}
  .games-grid{grid-template-columns:1fr}
  .hero-cards{gap:1rem}
  .mini-card{width:64px;height:64px;font-size:1.8rem}
  .contact-box{padding:2.5rem 1.5rem}
  footer{padding:1.5rem;flex-direction:column;gap:.75rem;text-align:center}
}
