@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Orbitron:wght@500;700;900&display=swap');

:root{
  --green:#7dff4c;
  --green2:#39ff14;
  --dark:#010501;
  --panel:rgba(0, 18, 0, .52);
  --line:rgba(125,255,76,.58);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 50% 18%, rgba(100,255,40,.18), transparent 34%),
    radial-gradient(circle at 12% 45%, rgba(100,255,40,.08), transparent 28%),
    #010301;
  color:var(--green);
  font-family:"Share Tech Mono", monospace;
  overflow-x:hidden;
}

#matrix{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  z-index:-5;
  opacity:.72;
}

.vignette{
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.75), transparent 18%, transparent 82%, rgba(0,0,0,.75)),
    radial-gradient(circle, transparent 42%, rgba(0,0,0,.8));
}

.scanlines{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1;
  opacity:.18;
  background:repeating-linear-gradient(
    to bottom,
    transparent 0 4px,
    rgba(125,255,76,.11) 5px
  );
}

.topbar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:1000;

    height:72px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    padding:0 40px;
    background:rgba(0,0,0,.15);
    backdrop-filter:blur(6px);
    border-bottom:1px solid rgba(125,255,76,.05);
}
.brand{
    justify-self:start;
}

nav{
    justify-self:center;
}

.top-ig{
    justify-self:end;
}

.brand img{
    width:75px;
    height:75px;

    object-fit:contain;
}
nav{
  display:flex;
  gap:54px;
}

nav a{
  color:white;
  text-decoration:none;
  letter-spacing:2px;
  font-size:15px;
  opacity:.92;
  position:relative;
}

nav a:hover{color:var(--green)}
nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-22px;
  width:0;
  height:1px;
  background:var(--green);
  box-shadow:0 0 14px var(--green);
  transition:.25s;
}
nav a:hover::after{width:100%}


main{padding-bottom:50px}

.hero{
  min-height:720px;
  position:relative;

  display:grid;
  grid-template-columns:1.35fr .85fr;
  align-items:center;

  gap:36px;
  padding:110px 72px 40px;
}

.hud,
.signal,
.encrypt-panel,
.location-card{
  background:linear-gradient(135deg, rgba(0,35,0,.52), rgba(0,0,0,.42));
  border:1px solid var(--line);
  box-shadow:
    0 0 26px rgba(125,255,76,.08),
    inset 0 0 24px rgba(125,255,76,.05);
  clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);
}

.hud{
  padding:28px;
  transform:translateY(-70px);
}
.hud h3,.signal h3{
  margin:0 0 20px;
  font-size:17px;
  letter-spacing:1.5px;
}
.hud p{
  margin:8px 0;
  color:rgba(255,255,255,.86);
  font-size:14px;
}
.hud strong{color:var(--green)}

.signal{
  position:absolute;
  left:64px;
  top:408px;
  width:330px;
  padding:22px;
}
.wave{
  height:48px;
  background:
    linear-gradient(90deg, transparent, var(--green), transparent),
    url("assets/wave.svg") center/100% 100% no-repeat;
  filter:drop-shadow(0 0 12px var(--green));
  opacity:.95;
  animation:pulse 1.6s infinite;
}
@keyframes pulse{50%{opacity:.55}}

.center-system{
  margin-left:0;
  min-height:auto;

  display:flex;
  align-items:center;
  justify-content:center;
}
.radar-ring{
  position:absolute;
  width:min(610px, 84vw);
  height:min(610px, 84vw);
  border-radius:50%;
  background:
    repeating-radial-gradient(circle, transparent 0 48px, rgba(125,255,76,.16) 49px 50px),
    radial-gradient(circle, rgba(125,255,76,.1), transparent 60%);
  border:1px solid rgba(125,255,76,.18);
  box-shadow:
    inset 0 0 65px rgba(125,255,76,.11),
    0 0 45px rgba(125,255,76,.12);
  z-index:-1;
}

.sweep{
  position:absolute;
  left:50%;
  top:50%;
  width:50%;
  height:3px;
  transform-origin:left;
  background:linear-gradient(90deg, var(--green), rgba(125,255,76,.35), transparent);
  filter:drop-shadow(0 0 10px var(--green));
  animation:radar 4.2s linear infinite;
}
@keyframes radar{to{transform:rotate(360deg)}}

.cross{
  position:absolute;
  background:rgba(125,255,76,.2);
}
.cross.x{height:1px;width:100%;top:50%;left:0}
.cross.y{width:1px;height:100%;left:50%;top:0}

.main-logo{
  width:min(420px,78vw);
  display:block;

  mix-blend-mode:screen;

  filter:
    brightness(1.15)
    contrast(1.15)
    drop-shadow(0 0 14px rgba(125,255,76,.85))
    drop-shadow(0 0 38px rgba(125,255,76,.45));

}.main-logo::selection{
  background:none;
}

.center-system{
  position:relative;
}

.center-system::before{
    display:none;
}

@keyframes logoPulse{50%{transform:scale(1.025)}}




.encrypt-panel{
  width:100%;
  min-height:420px;

  padding:42px 36px;
  transform:none;

  background:rgba(0,25,0,.34);
  border:none;
  clip-path:none;

  box-shadow:
    0 0 70px rgba(125,255,76,.08),
    inset 0 0 50px rgba(125,255,76,.04);
}
.encrypt-panel span{
  color:rgba(255,255,255,.8);
  letter-spacing:2px;
}
.encrypt-panel h2{
  font-family:Orbitron, sans-serif;
  font-size:36px;
  margin:24px 0 18px;
  color:var(--green);
  text-shadow:0 0 18px rgba(125,255,76,.8);
}
.bar{
  width:100%;
  height:21px;
  border:1px solid var(--line);
  padding:3px;
  margin-bottom:24px;
}
.bar i{
  display:block;
  width:87%;
  height:100%;
  background:repeating-linear-gradient(90deg,var(--green) 0 7px, transparent 8px 12px);
  animation:barMove 1.4s linear infinite;
}
@keyframes barMove{50%{filter:brightness(1.9)}}
.encrypt-panel p{
  color:rgba(255,255,255,.72);
  margin-bottom:7px;
}
.encrypt-panel strong{
  display:block;
  letter-spacing:3px;
  margin-bottom:20px;
}
.encrypt-panel small{color:var(--green)}

.artists{
  max-width:1120px;
  margin:0 auto;
  padding:0 24px;
}

.section-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  margin-bottom:20px;
}
.section-title span{
  height:1px;
  width:190px;
  background:linear-gradient(90deg, transparent, var(--green));
}
.section-title span:last-child{
  background:linear-gradient(90deg, var(--green), transparent);
}
.section-title h2{
  margin:0;
  color:white;
  font-size:30px;
  letter-spacing:5px;
}
.section-title p{
  margin:4px 0 0;
  text-align:center;
  letter-spacing:5px;
  color:var(--green);
}

.artist-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
  border:1px solid rgba(125,255,76,.32);
  padding:28px;
  background:rgba(0,0,0,.2);
  clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);
}

.artist-card{
  height:250px;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(125,255,76,.28);
  color:var(--green);
  cursor:pointer;
  overflow:hidden;
  position:relative;
  padding:0;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
  transition:.25s;
}
.artist-card:hover{
  transform:translateY(-7px);
  border-color:var(--green);
  box-shadow:0 0 30px rgba(125,255,76,.28);
}
.artist-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.48;
  filter:grayscale(1) contrast(1.2) brightness(.55) sepia(1) hue-rotate(60deg);
}
.artist-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent, rgba(0,0,0,.84));
}
.artist-card h3,
.artist-card p,
.lock{position:relative; z-index:2}
.artist-card h3{
  margin:152px 0 6px;
  font-size:29px;
  letter-spacing:2px;
  text-shadow:0 0 18px var(--green);
}
.artist-card p{
  margin:0;
  color:white;
  letter-spacing:1px;
}

.lock{
  position:absolute;
  left:50%;
  top:66px;
  transform:translateX(-50%);
  width:70px;
  height:52px;
  border:4px solid var(--green);
  border-radius:8px;
  background:rgba(125,255,76,.18);
  box-shadow:0 0 22px rgba(125,255,76,.9), inset 0 0 12px rgba(125,255,76,.4);
}
.lock::before{
  content:"";
  position:absolute;
  width:42px;
  height:42px;
  border:4px solid var(--green);
  border-bottom:0;
  border-radius:24px 24px 0 0;
  left:50%;
  top:-43px;
  transform:translateX(-50%);
}
.lock::after{
  content:"";
  position:absolute;
  width:8px;
  height:18px;
  border-radius:6px;
  background:#001400;
  box-shadow:0 0 12px #001400;
  left:50%;
  top:17px;
  transform:translateX(-50%);
}

.socials{
    display:flex;
    justify-content:center;
    align-items:center;

    gap:45px;

    margin-top:70px;
}

.socials a{
    display:flex;
    align-items:center;
    justify-content:center;
}

.socials img{
    width:42px;
    height:42px;
    object-fit:contain;

    filter:
    drop-shadow(0 0 8px #7dff4c)
    drop-shadow(0 0 20px #7dff4c);

    transition:.25s;
}

.socials img:hover{
    transform:scale(1.15);

    filter:
    drop-shadow(0 0 12px #7dff4c)
    drop-shadow(0 0 28px #7dff4c);
}
.popup{
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) scale(.92);
  background:rgba(0,0,0,.95);
  color:var(--green);
  border:1px solid var(--green);
  box-shadow:0 0 45px rgba(125,255,76,.5);
  padding:26px 34px;
  z-index:50;
  letter-spacing:2px;
  display:none;
}
.popup.active{
  display:block;
  animation:pop .22s forwards;
}
@keyframes pop{to{transform:translate(-50%,-50%) scale(1)}}

@media(max-width:1180px){
  .hero{
    grid-template-columns:1fr;
    padding:120px 32px 50px;
  }

  .hud,
  .signal{
    display:none;
  }
}

.event-section{
    max-width:1100px;
    margin:120px auto;
    padding:0 24px;
}

.event-card{
    border:1px solid rgba(125,255,76,.25);
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(10px);

    padding:40px;

    box-shadow:
    0 0 30px rgba(125,255,76,.08),
    inset 0 0 30px rgba(125,255,76,.03);
}

.event-card h3{
    color:#7dff4c;
    font-family:'Orbitron',sans-serif;
    letter-spacing:2px;
    margin-bottom:25px;
}

.event-card p{
    color:#d7d7d7;
    line-height:1.8;
    margin-bottom:16px;
}

.event-data{
    margin-top:30px;
    margin-bottom:30px;
}

.event-data p{
    color:#7dff4c;
    font-weight:700;
}

.event-alerts{
    margin-top:25px;
    padding:20px;
    border-left:3px solid #7dff4c;
    background:rgba(125,255,76,.05);
}

.event-alerts p{
    margin-bottom:12px;
}

.event-card blockquote{
    margin-top:35px;
    text-align:center;

    color:#7dff4c;

    font-size:1.4rem;
    font-weight:700;

    text-transform:uppercase;

    text-shadow:
    0 0 10px rgba(125,255,76,.5);
}

.terminal-box{
  width:100%;
  max-width:760px;
  padding:34px 40px;
  background:rgba(0,0,0,.35);
  color:#7dff4c;
  font-size:18px;
  letter-spacing:2px;
  line-height:1.9;
  text-shadow:0 0 10px rgba(125,255,76,.7);
}

.terminal-box .line{
  overflow:hidden;
  white-space:nowrap;
  width:0;
  margin:0 0 10px;
  animation:typing 1.2s steps(40,end) forwards;
}

.terminal-box .line:nth-child(2){animation-delay:1.2s}
.terminal-box .line:nth-child(3){animation-delay:2.4s}
.terminal-box .line:nth-child(4){animation-delay:3.6s}
.terminal-box .line:nth-child(5){animation-delay:4.8s}
.terminal-box .line:nth-child(6){animation-delay:6s}

.terminal-box .final{
  color:white;
}

@keyframes typing{
  to{width:100%}
}
#inicio,
#evento-info,
#artistas{
  scroll-margin-top:90px;
}
@media(max-width:600px){

 .topbar{
  height:78px;
  padding:0 14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:rgba(0,0,0,.65);
}

  .brand img{
    width:54px;
    height:54px;
  }

  nav{
  width:auto;
  gap:14px;
}

 nav a{
  font-size:10px;
  letter-spacing:1.2px;
}

  .hero{
    min-height:100vh;
    padding:120px 18px 40px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:24px;
  }

  .terminal-box{
    width:100%;
    padding:22px 18px;
    font-size:12px;
    letter-spacing:1px;
    line-height:1.7;
  }

  .terminal-box .line{
    white-space:normal;
  }

  .encrypt-panel{
    display:block;
    width:100%;
    min-height:auto;
    padding:24px 20px;
  }

  .encrypt-panel h2{
    font-size:24px;
  }

  .event-section{
    margin:70px auto;
    padding:0 18px;
  }

  .event-card{
    padding:28px 22px;
  }

  .event-card h3{
    font-size:20px;
    line-height:1.35;
  }

  .event-card p{
    font-size:15px;
    line-height:1.7;
  }

  .event-alerts{
    padding:18px;
  }

  .event-card blockquote{
    font-size:1.05rem;
    line-height:1.4;
  }

  .artists{
    padding:0 18px;
  }

  .artist-grid{
    grid-template-columns:1fr;
    padding:16px;
    gap:22px;
    border:none;
    background:transparent;
    clip-path:none;
  }

  .artist-card{
    height:220px;
  }

  .artist-card h3{
    font-size:26px;
    margin-top:140px;
  }

  .lock{
    top:56px;
    width:58px;
    height:44px;
  }

  .lock::before{
    width:34px;
    height:34px;
    top:-36px;
  }

  .section-title{
    margin-bottom:32px;
  }

  .section-title h2{
    font-size:28px;
    letter-spacing:7px;
  }

  .section-title p{
    font-size:15px;
    letter-spacing:5px;
  }

  .section-title span{
    display:none;
  }
  .popup{
  width:86%;
  text-align:center;
  padding:22px 18px;
  font-size:13px;
  line-height:1.5;
  z-index:2000;
}
}