
:root{
  --bg:#071116;
  --bg-soft:#0b171d;
  --panel:rgba(10, 24, 30, .76);
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(84,232,222,.28);
  --text:#f5fbfd;
  --muted:#9ab0b8;
  --cyan:#54e8de;
  --cyan-2:#26cfc5;
  --shadow:0 24px 80px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 10% 10%, rgba(84,232,222,.09), transparent 22%),
    radial-gradient(circle at 85% 30%, rgba(84,232,222,.05), transparent 25%),
    radial-gradient(circle at 50% 100%, rgba(43,143,255,.05), transparent 26%),
    var(--bg);
  overflow:hidden;
}
.bg-grid{
  position:fixed;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image: radial-gradient(circle at center, black 30%, transparent 100%);
  pointer-events:none;
}
.glow{
  position:fixed;
  border-radius:999px;
  filter:blur(50px);
  opacity:.22;
  pointer-events:none;
}
.glow-1{width:260px;height:260px;background:var(--cyan);top:10%;left:8%}
.glow-2{width:240px;height:240px;background:#297cff;bottom:8%;right:12%}

.particles{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.particles span{
  position:absolute;
  width:6px;height:6px;border-radius:50%;
  background:rgba(84,232,222,.45);
  box-shadow:0 0 18px rgba(84,232,222,.5);
  animation:float 12s linear infinite;
}
.particles span:nth-child(1){left:8%;top:86%;animation-duration:15s;animation-delay:-1s}
.particles span:nth-child(2){left:18%;top:74%;animation-duration:12s;animation-delay:-4s}
.particles span:nth-child(3){left:30%;top:92%;animation-duration:14s;animation-delay:-2s}
.particles span:nth-child(4){left:44%;top:80%;animation-duration:13s;animation-delay:-5s}
.particles span:nth-child(5){left:58%;top:88%;animation-duration:12s;animation-delay:-6s}
.particles span:nth-child(6){left:70%;top:76%;animation-duration:16s;animation-delay:-3s}
.particles span:nth-child(7){left:82%;top:90%;animation-duration:13s;animation-delay:-7s}
.particles span:nth-child(8){left:90%;top:72%;animation-duration:15s;animation-delay:-5s}
.particles span:nth-child(9){left:62%;top:94%;animation-duration:12s;animation-delay:-8s}
.particles span:nth-child(10){left:24%;top:84%;animation-duration:14s;animation-delay:-6s}

.hero{
  position:relative;
  z-index:1;
  min-height:100dvh;
  width:min(1260px, calc(100% - 36px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:42px;
  align-items:center;
}
.panel{
  border:1px solid var(--line);
  background:var(--panel);
  backdrop-filter:blur(18px);
  border-radius:28px;
  padding:34px 34px 30px;
  box-shadow:var(--shadow);
}
.eyebrow{
  display:inline-flex;
  padding:8px 12px;
  border:1px solid var(--line-strong);
  color:var(--cyan);
  background:rgba(84,232,222,.06);
  border-radius:999px;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.18em;
}
.brand{
  display:flex;
  gap:18px;
  align-items:center;
  margin:20px 0 18px;
}
.logo-badge{
  width:84px;height:84px;
  border-radius:24px;
  border:1px solid var(--line-strong);
  color:var(--cyan);
  display:grid;place-items:center;
  background:rgba(84,232,222,.05);
  box-shadow:inset 0 0 30px rgba(84,232,222,.05), 0 0 38px rgba(84,232,222,.08);
  animation:pulse 3s ease-in-out infinite;
}
.logo-badge svg{width:52px;height:52px}
.brand-copy h1{
  margin:0;
  font-size:clamp(2.5rem, 5vw, 4.6rem);
  line-height:.96;
  letter-spacing:-.05em;
}
.tagline{
  margin:10px 0 0;
  color:var(--cyan);
  font-weight:800;
  letter-spacing:.02em;
}
.lead{
  margin:0 0 24px;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.8;
  max-width:720px;
}
.status-box{
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  border-radius:16px;
  padding:18px 18px 16px;
}
.status-label{
  font-size:.68rem;
  color:var(--muted);
  letter-spacing:.16em;
  font-weight:900;
  margin-bottom:10px;
}
.status-line{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  font-size:1.12rem;
  font-weight:900;
  color:var(--cyan);
  letter-spacing:.06em;
}
.cursor{
  width:10px;height:22px;
  border-radius:2px;
  background:var(--cyan);
  box-shadow:0 0 18px rgba(84,232,222,.45);
  animation:blink 1s steps(1) infinite;
}
.progress-wrap{margin-top:18px}
.progress-bar{
  height:12px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid var(--line);
  overflow:hidden;
}
.progress-fill{
  height:100%;
  width:66%;
  border-radius:999px;
  background:linear-gradient(90deg, var(--cyan), #7ff7ef);
  box-shadow:0 0 20px rgba(84,232,222,.35);
  animation:progressPulse 2.6s ease-in-out infinite;
}
.progress-meta{
  margin-top:10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  color:var(--muted);
  font-size:.78rem;
}
.loading-dots{display:inline-flex;gap:6px;align-items:center}
.loading-dots i{
  width:8px;height:8px;border-radius:50%;
  background:var(--cyan);
  display:block;
  animation:dotJump 1.2s infinite;
}
.loading-dots i:nth-child(2){animation-delay:.15s}
.loading-dots i:nth-child(3){animation-delay:.3s}

.info-cards{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.info-card{
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
  border-radius:16px;
  padding:18px 16px;
  min-height:116px;
}
.info-card strong{
  display:block;
  margin-bottom:8px;
  font-size:.92rem;
}
.info-card span{
  color:var(--muted);
  font-size:.78rem;
  line-height:1.55;
}
.footer-note{
  margin-top:24px;
  color:#c5d7dc;
  font-weight:700;
  font-size:.9rem;
}

.visual{
  position:relative;
  min-height:640px;
  display:grid;
  place-items:center;
}
.ring{
  position:absolute;
  border-radius:999px;
  border:1px solid rgba(84,232,222,.16);
}
.ring-a{width:520px;height:520px;animation:spin 28s linear infinite}
.ring-b{width:390px;height:390px;border-style:dashed;opacity:.55;animation:spinReverse 20s linear infinite}
.card-stack{
  position:relative;
  width:360px;height:470px;
  display:grid;place-items:center;
  transform-style:preserve-3d;
}
.card{
  position:absolute;
  width:300px;height:405px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:var(--shadow);
}
.back-card{
  background:#15303a;
  transform:translate(62px,-20px) rotate(11deg);
  opacity:.72;
  animation:cardFloatBack 6s ease-in-out infinite;
}
.mid-card{
  background:#0e252d;
  transform:translate(-48px,18px) rotate(-10deg);
  opacity:.82;
  animation:cardFloatMid 6.8s ease-in-out infinite;
}
.front-card{
  background:linear-gradient(165deg,#15353e,#09161c 62%);
  padding:18px;
  transform:rotate(2deg);
  animation:cardFloatFront 7s ease-in-out infinite;
}
.card-chip{
  display:inline-flex;
  padding:7px 10px;
  border:1px solid rgba(84,232,222,.35);
  color:var(--cyan);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.13em;
  border-radius:7px;
}
.card-art{
  height:258px;
  margin:16px 0 18px;
  border-radius:18px;
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:linear-gradient(140deg,#0f5960,#081a22);
  border:1px solid rgba(255,255,255,.1);
}
.hex-grid{
  position:absolute;
  inset:-20%;
  background-image:
    linear-gradient(30deg,rgba(255,255,255,.08) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.08) 87.5%),
    linear-gradient(150deg,rgba(255,255,255,.08) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.08) 87.5%);
  background-size:46px 80px;
  animation:gridShift 8s linear infinite;
}
.core-mark{
  z-index:1;
  width:128px;height:128px;
  border-radius:34px;
  border:2px solid var(--cyan);
  color:var(--cyan);
  display:grid;place-items:center;
  font-size:2.6rem;
  font-weight:950;
  letter-spacing:.02em;
  box-shadow:0 0 40px rgba(84,232,222,.25), inset 0 0 30px rgba(84,232,222,.08);
  animation:pulse 3s ease-in-out infinite;
}
.card-copy{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.card-copy span{
  font-size:.74rem;
  color:var(--muted);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.card-copy strong{
  font-size:1.38rem;
  line-height:1.12;
}

@keyframes float{
  0%{transform:translateY(0) scale(1);opacity:0}
  8%{opacity:1}
  92%{opacity:1}
  100%{transform:translateY(-110vh) scale(1.2);opacity:0}
}
@keyframes pulse{
  0%,100%{transform:scale(1); box-shadow:0 0 0 rgba(84,232,222,0), inset 0 0 30px rgba(84,232,222,.08)}
  50%{transform:scale(1.03); box-shadow:0 0 42px rgba(84,232,222,.12), inset 0 0 40px rgba(84,232,222,.12)}
}
@keyframes blink{
  0%,49%{opacity:1}
  50%,100%{opacity:.1}
}
@keyframes progressPulse{
  0%,100%{width:62%}
  50%{width:74%}
}
@keyframes dotJump{
  0%,80%,100%{transform:translateY(0); opacity:.5}
  40%{transform:translateY(-4px); opacity:1}
}
@keyframes spin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
@keyframes spinReverse{
  from{transform:rotate(360deg)}
  to{transform:rotate(0deg)}
}
@keyframes gridShift{
  from{transform:translateY(0)}
  to{transform:translateY(40px)}
}
@keyframes cardFloatFront{
  0%,100%{transform:rotate(2deg) translateY(0)}
  50%{transform:rotate(2deg) translateY(-10px)}
}
@keyframes cardFloatMid{
  0%,100%{transform:translate(-48px,18px) rotate(-10deg)}
  50%{transform:translate(-52px,10px) rotate(-8deg)}
}
@keyframes cardFloatBack{
  0%,100%{transform:translate(62px,-20px) rotate(11deg)}
  50%{transform:translate(68px,-28px) rotate(13deg)}
}

@media (max-width:1080px){
  body{overflow:auto}
  .hero{
    grid-template-columns:1fr;
    gap:24px;
    padding:26px 0 32px;
  }
  .visual{min-height:460px}
}
@media (max-width:780px){
  .panel{padding:24px 20px}
  .brand{align-items:flex-start}
  .logo-badge{width:72px;height:72px}
  .info-cards{grid-template-columns:1fr}
  .card-stack{transform:scale(.85)}
}
@media (max-width:560px){
  .hero{width:min(100% - 20px, 1260px)}
  .brand{flex-direction:column}
  .brand-copy h1{font-size:2.6rem}
  .lead{font-size:.95rem}
  .visual{min-height:360px}
  .card-stack{transform:scale(.68)}
}
