/* ==== Paleta própria do Gatekeeper (azul elétrico + dourado, sobre o tema base do site) ==== */
:root{
  --gk-blue:#4FA8E8;
  --gk-deep-blue:#123A63;
  --gk-glow:#7FCBFF;
}

.gatekeeper-hero{
  display:flex; justify-content:center; align-items:flex-start;
  padding:8vh 6vw 6vh; gap:2rem;
  min-height:80vh;
  background:
    radial-gradient(ellipse 70% 60% at 50% 30%, rgba(18,58,99,0.45), transparent 70%),
    var(--void);
  overflow:visible;
  flex-wrap:wrap;
}

.gatekeeper-left{
  display:flex; flex-direction:column; align-items:center;
}

.gatekeeper-portrait{
  flex:0 1 380px; max-width:380px;
  border:1px solid rgba(79,168,232,0.3);
  box-shadow:0 0 60px rgba(79,168,232,0.25), 0 0 0 1px rgba(79,168,232,0.15);
}
.gatekeeper-portrait img{
  width:100%; max-width:380px; display:block; object-fit:cover;
}

.gatekeeper-player{
  margin-top:1.5rem; display:flex; flex-direction:row; align-items:center; gap:1rem;
}
.gatekeeper-play-btn{
  width:45px; height:45px; border-radius:50%;
  border:2px solid var(--gk-blue);
  background:rgba(18,58,99,0.25);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:0.25s ease;
  box-shadow:0 0 25px rgba(79,168,232,0.35);
}
.gatekeeper-play-btn:hover{
  background:rgba(79,168,232,0.2);
  box-shadow:0 0 35px rgba(79,168,232,0.55);
}
.gatekeeper-player svg,
.gatekeeper-player svg polygon{
  fill:var(--gk-blue) !important; stroke:none !important;
  filter:drop-shadow(0 0 10px rgba(79,168,232,0.6)) !important;
}
.gatekeeper-player svg{ width:48px !important; height:48px !important; display:block; }
.gatekeeper-play-label{
  font-family:'Cinzel',serif; font-size:1rem; letter-spacing:2px;
  color:var(--gk-blue); text-shadow:0 0 12px rgba(79,168,232,0.4);
}

.gatekeeper-intro{
  flex:1 1 380px; max-width:565px; align-self:center;
}
.gatekeeper-eyebrow{
  font-family:'JetBrains Mono',monospace; font-size:0.7rem; letter-spacing:4px;
  color:var(--gk-blue); text-transform:uppercase; margin-bottom:1rem;
  display:flex; align-items:center; gap:10px;
}
.gatekeeper-eyebrow .dot{
  width:6px; height:6px; border-radius:50%; background:var(--gk-blue);
  box-shadow:0 0 8px var(--gk-blue); animation:pulse 2s infinite;
}
.gatekeeper-hero h1{
  font-family:'Cinzel Decorative', serif; font-size:clamp(2.6rem, 7vw, 4.8rem); font-weight:900;
  background:linear-gradient(180deg, #BFE4FF 0%, var(--gk-blue) 55%, var(--gk-deep-blue) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  text-shadow:0 0 50px rgba(79,168,232,0.35);
  letter-spacing:1px; line-height:0.95;
  flex-shrink:0;
  white-space:nowrap;

}
.gatekeeper-hero .subtitle{
  font-family:'Cinzel',serif; font-size:1rem; letter-spacing:4px; text-transform:uppercase;
  color:var(--gold); margin-top:0.6rem;
}
.gatekeeper-hero .desc{
  font-family:'Crimson Text',serif; font-size:1.15rem; line-height:1.75; color:#cfe3f2;
  margin-top:1.8rem;
}

.gatekeeper-glyph{ display:flex; justify-content:center; margin:1.5rem 0; }
.gatekeeper-glyph svg{ width:70px; height:70px; filter:drop-shadow(0 0 16px rgba(79,168,232,0.5)); }

.gatekeeper-quote{
  max-width:640px; margin:0 auto; text-align:center; padding:3rem 2rem;
  border-top:1px solid rgba(79,168,232,0.25); border-bottom:1px solid rgba(79,168,232,0.25);
}
.gatekeeper-quote p{
  font-family:'Cinzel',serif; font-size:1.3rem; letter-spacing:1px; line-height:1.8;
  color:var(--gk-blue); text-shadow:0 0 20px rgba(79,168,232,0.3);
}

.gatekeeper-invoke{ max-width:640px; margin:0 auto; text-align:center; padding:0 2rem; }
.gatekeeper-invoke h3{
  font-family:'Cinzel',serif; font-size:1.1rem; letter-spacing:1px; color:var(--parch);
  margin-bottom:0.8rem;
}
.gatekeeper-invoke p{ color:var(--smoke); font-size:1rem; line-height:1.7; }
.gatekeeper-invoke code{
  color:var(--gk-blue); background:rgba(79,168,232,0.1);
  padding:2px 8px; border-radius:2px; font-family:'JetBrains Mono',monospace;
}

@media(max-width:640px){
  .gatekeeper-hero{flex-direction:column; text-align:center;}
  .gatekeeper-intro{text-align:center;}
  .gatekeeper-eyebrow{justify-content:center;}
}
