:root{
  --accent:#25d366;
  --accent-dark:#13a85a;
  --gold:#e8cf8a;
  --glass:rgba(12,14,14,.62);
  --line:rgba(255,255,255,.14);
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{
  width:100%;height:100%;min-height:100%;
  overflow:hidden;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  color:#fff;background:#050606;
  -webkit-text-size-adjust:100%;
}
body{min-height:100dvh;position:relative}
#bg-video{
  position:fixed;inset:0;width:100%;height:100dvh;
  object-fit:cover;z-index:0;
  filter:brightness(.72) saturate(1.08);
  transform:scale(1.025);
}
.overlay{
  position:fixed;inset:0;z-index:1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.24) 38%,rgba(0,0,0,.82) 100%),
    radial-gradient(circle at 50% 28%,rgba(37,211,102,.10),transparent 44%);
}
.container{
  position:fixed;z-index:10;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:min(92vw,500px);
  max-height:calc(100dvh - 24px);
}
.card{
  width:100%;
  padding:28px 28px 22px;
  text-align:center;
  border:1px solid var(--line);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(22,25,24,.70),rgba(7,9,8,.56));
  box-shadow:
    0 28px 80px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.09);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.group-icon{
  position:relative;
  width:112px;height:112px;
  margin:0 auto 15px;
  padding:3px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--gold),#fff);
  box-shadow:0 0 34px rgba(37,211,102,.30);
}
.group-icon:after{
  content:"";
  position:absolute;inset:-7px;
  border:1px solid rgba(37,211,102,.20);
  border-radius:50%;
  animation:ringPulse 2.8s ease-in-out infinite;
}
.group-icon img{
  display:block;width:100%;height:100%;
  border-radius:50%;object-fit:cover;
  background:#111;
}
@keyframes ringPulse{
  0%,100%{transform:scale(1);opacity:.35}
  50%{transform:scale(1.05);opacity:.85}
}
.eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  padding:6px 11px;margin-bottom:11px;
  border:1px solid rgba(232,207,138,.24);
  border-radius:999px;
  color:var(--gold);
  background:rgba(232,207,138,.07);
  font-size:9px;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;
}
.group-name{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(29px,6vw,43px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:600;
  text-shadow:0 4px 26px rgba(0,0,0,.55);
}
.stats{
  display:flex;
  justify-content:center;
  gap:10px;
  margin:20px auto 18px;
  max-width:390px;
}
.stat-item{
  flex:1;
  padding:12px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.045);
}
.stat-number{
  font-size:24px;font-weight:800;line-height:1;
}
.stat-label{
  margin-top:6px;
  font-size:10px;
  color:rgba(255,255,255,.55);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.online{color:#53d33e}
.online-label{
  display:inline-flex;align-items:center;gap:5px;
  color:#7be969;
}
.online-dot{
  width:6px;height:6px;border-radius:50%;
  background:#53d33e;
  box-shadow:0 0 8px rgba(83,211,62,.7);
  animation:blink 1.4s infinite;
}
@keyframes blink{50%{opacity:.3}}
.join-btn{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  width:100%;
  min-height:70px;
  padding:17px 24px;
  border-radius:18px;
  text-decoration:none;
  color:#fff;
  font-size:19px;
  font-weight:850;
  letter-spacing:.01em;
  background:linear-gradient(105deg,#1fbe5d,#25d366,#49e886);
  box-shadow:
    0 15px 38px rgba(37,211,102,.30),
    inset 0 1px 0 rgba(255,255,255,.30);
  animation:ctaPulse 2.8s ease-in-out infinite;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.join-btn:before{
  content:"";
  position:absolute;
  top:0;left:-120%;
  width:55%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  transform:skewX(-18deg);
  animation:shine 3.2s ease-in-out infinite;
}
.join-btn:hover{
  transform:translateY(-3px);
  filter:saturate(1.08);
  box-shadow:
    0 20px 46px rgba(37,211,102,.40),
    inset 0 1px 0 rgba(255,255,255,.32);
}
.join-btn:active{transform:scale(.99)}
.join-icon{
  position:relative;z-index:1;
  font-size:22px;
  transition:transform .25s ease;
}
.join-btn:hover .join-icon{transform:scale(1.12) translateX(2px)}
.join-label{position:relative;z-index:1}
@keyframes ctaPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.018)}
}
@keyframes shine{
  0%,45%{left:-120%}
  70%,100%{left:150%}
}
.trust{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  margin-top:11px;
  color:rgba(255,255,255,.46);
  font-size:9px;
}
.trust i{color:var(--gold)}
.trust .sep{opacity:.35}
.popup{
  position:fixed;
  left:14px;
  bottom:max(14px,env(safe-area-inset-bottom));
  z-index:20;
  max-width:260px;
  padding:11px 13px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(8,9,9,.84);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  color:rgba(255,255,255,.82);
  font-size:11px;
  box-shadow:0 12px 30px rgba(0,0,0,.35);
  display:none;
  animation:slideUp .35s ease;
}
@keyframes slideUp{
  from{transform:translateY(20px);opacity:0}
  to{transform:translateY(0);opacity:1}
}
@media(max-width:560px){
  .container{width:min(94vw,430px);max-height:calc(100dvh - 14px)}
  .card{padding:21px 15px 16px;border-radius:22px}
  .group-icon{width:84px;height:84px;margin-bottom:10px}
  .eyebrow{padding:5px 9px;margin-bottom:8px;font-size:8px}
  .group-name{font-size:clamp(27px,8.5vw,37px)}
  .stats{margin:13px 0 12px;gap:7px}
  .stat-item{padding:10px 7px;border-radius:12px}
  .stat-number{font-size:20px}
  .stat-label{font-size:8px;margin-top:5px}
  .join-btn{min-height:61px;padding:15px 18px;border-radius:15px;font-size:16px}
  .join-icon{font-size:19px}
  .trust{margin-top:8px;font-size:8px}
}
@media(max-height:650px){
  .container{max-height:calc(100dvh - 8px)}
  .card{padding:14px 18px 11px}
  .group-icon{width:64px;height:64px;margin-bottom:6px}
  .eyebrow{margin-bottom:5px}
  .group-name{font-size:clamp(24px,5vw,32px)}
  .stats{margin:8px 0 8px}
  .stat-item{padding:8px 7px}
  .stat-number{font-size:18px}
  .join-btn{min-height:52px;font-size:15px}
  .trust{margin-top:5px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}