 /* =========================
   INNER CIRCLE — ACCESS GATE
   ========================= */
:root{
  --gate-bg: rgba(0,0,0,.88);
  --gate-panel: rgba(12,12,12,.92);
  --gate-border: rgba(255,255,255,.16);
  --gate-text: #e9e9e9;
  --gate-sub: #b3b3b3;
  --gate-hint: #8a8a8a;
  --gate-error: #ffb0b0;
}

body.locked { overflow: hidden; }
main.gate-blur, header.gate-blur, footer.gate-blur, .page.gate-blur { 
  filter: blur(2px) saturate(0.9);
}

.gate-overlay{
  position:fixed; inset:0; display:flex; align-items:center; justify-content:center;
  background: var(--gate-bg); backdrop-filter: blur(4px) saturate(120%);
  -webkit-backdrop-filter: blur(4px) saturate(120%);
  z-index: 9999;
}

.gate-card{
  width:min(660px,92vw); padding:28px 28px 22px;
  background: linear-gradient(180deg,var(--gate-panel),rgba(5,5,5,.92));
  border: 1px solid var(--gate-border);
  border-radius: 14px; color: var(--gate-text); text-align: center;
  box-shadow: 0 10px 40px rgba(0,0,0,.65);
}

.gate-title{
  font-family: "DM Serif Display","Playfair Display",serif;
  letter-spacing:.18em; text-transform:uppercase;
  font-size: clamp(22px, 4.5vw, 34px);
}

.gate-sub{ color: var(--gate-sub); margin:.75rem 0 1.15rem; font-size: 14.5px; }

.gate-input{
  width:100%; padding:14px 16px; border-radius: 10px;
  background:#0f0f10; color: var(--gate-text);
  border:1px solid var(--gate-border); outline:none;
  letter-spacing:.12em; text-transform:uppercase;
}

.gate-actions{ display:flex; gap:12px; margin-top:14px; justify-content:center; flex-wrap:wrap; }

.gate-btn{
  padding:12px 18px; border-radius:12px; background:transparent;
  border:1px solid #dcdcdc; color:#efefef;
  letter-spacing:.14em; text-transform:uppercase; font-size:12px; cursor: pointer;
}
.gate-btn:hover{ background:#101010; }
.gate-btn[disabled]{ opacity:.6; cursor:not-allowed; }

.gate-error{ color: var(--gate-error); font-size:12.5px; margin-top:10px; min-height:16px; }
.gate-hint{ color: var(--gate-hint); font-size:12.5px; margin-top:16px; }
