/* ============ Noor Labs — access page (shared by every gated page) ============ */
.access{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto;
  background:radial-gradient(900px 500px at 15% 10%,rgba(36,229,255,.14),transparent 60%),radial-gradient(800px 500px at 90% 90%,rgba(255,45,143,.14),transparent 60%),linear-gradient(rgba(3,3,8,.7),rgba(3,3,8,.85)),#030308 url('../assets/access-wallpaper.jpg?v=lab2') center/cover no-repeat;}
.access[hidden]{display:none;}
.access-card{position:relative;width:100%;max-width:1080px;min-height:min(640px,calc(100vh - 48px));margin:auto;display:grid;grid-template-columns:1.1fr 1fr;border-radius:24px;overflow:hidden;
  border:1px solid rgba(140,220,255,.25);background:var(--panel-solid);box-shadow:0 0 0 1px rgba(139,61,255,.15),0 0 80px rgba(36,229,255,.12),0 40px 120px rgba(0,0,0,.6);}
.access-media{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:34px;min-height:300px;background:#000 url('../assets/access-wallpaper.jpg?v=lab2') center/cover no-repeat;}
.access-media::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,3,8,.55),rgba(3,3,8,.1) 40%,rgba(3,3,8,.95)),linear-gradient(90deg,rgba(3,3,8,.5),transparent 60%);}
.access-media>*{position:relative;}
.access-chips{display:flex;gap:8px;flex-wrap:wrap;}
.access-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font:700 11px var(--font-hud);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(3,3,8,.6);border:1px solid rgba(140,220,255,.3);backdrop-filter:blur(8px);}
.access-chip i{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:accessPulse 2s ease-in-out infinite;}
@keyframes accessPulse{50%{opacity:.35;}}
.access-word{font:900 clamp(52px,7vw,96px)/.95 var(--font-display);letter-spacing:.04em;color:#fff;text-shadow:0 6px 30px rgba(0,0,0,.8);}
.access-word span{display:block;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px rgba(139,61,255,.45));}
.access-tag{margin-top:14px;max-width:400px;font-size:17px;line-height:1.45;color:#d7dcec;}
.access-stats{display:flex;gap:10px;margin-top:20px;}
.access-stats div{flex:1;padding:12px 14px;border-radius:14px;background:rgba(3,3,8,.65);border:1px solid rgba(140,220,255,.2);backdrop-filter:blur(8px);}
.access-stats b{display:block;font:800 20px var(--font-hud);color:#8ff4ff;}
.access-stats small{font:600 11px var(--font-hud);letter-spacing:.08em;text-transform:uppercase;color:#d7dcec;}
.access-form{display:flex;flex-direction:column;justify-content:center;padding:40px 44px;border-left:1px solid var(--panel-border);background:linear-gradient(180deg,var(--panel-solid),var(--bg));}
.access-logo{position:relative;width:116px;height:116px;margin:0 auto 16px;border-radius:50%;padding:3px;background:var(--grad-brand);box-shadow:0 0 50px rgba(139,61,255,.4);}
.access-logo::before{content:'';position:absolute;inset:-16px;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(36,229,255,.3),transparent 70%);animation:accessPulse 3s ease-in-out infinite;}
.access-logo img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#030308;}
.access-brand{text-align:center;font:700 24px var(--font-display);letter-spacing:.16em;}
.access-brand em{font-style:normal;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;}
.access-sub{text-align:center;margin:6px 0 22px;font:700 11px var(--font-hud);letter-spacing:.22em;text-transform:uppercase;color:var(--cyan-soft);}
.access-form h2{font-size:22px;margin-bottom:4px;}
.access-muted{font-size:16px;color:var(--text-dim);margin-bottom:14px;line-height:1.4;}
.access-warn{padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.45;color:var(--text-dim);background:rgba(255,176,32,.07);border:1px solid rgba(255,176,32,.3);}
.access-warn strong{color:var(--amber);}
.access-check{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:15px;line-height:1.45;color:var(--text-dim);cursor:pointer;}
.access-check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--cyan);cursor:pointer;}
.access-btn{height:54px;border:0;border-radius:14px;cursor:pointer;font:800 15px var(--font-hud);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--grad-brand);box-shadow:0 0 30px rgba(255,45,143,.3);transition:transform .2s,box-shadow .2s,opacity .2s;}
.access-btn:not(:disabled):hover,.access-btn:not(:disabled):focus-visible{transform:translateY(-2px);box-shadow:0 0 40px rgba(255,45,143,.55),0 0 70px rgba(36,229,255,.3);}
.access-btn:disabled{opacity:.4;cursor:not-allowed;}
.access-div{display:flex;align-items:center;gap:12px;margin:16px 0 10px;font-size:12px;color:var(--text-dim);}
.access-div::before,.access-div::after{content:'';flex:1;height:1px;background:var(--panel-border);}
.access-exit{text-align:center;font:700 12px var(--font-hud);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);}
.access-exit:hover{color:var(--magenta-soft);}
.access-fine{margin-top:18px;text-align:center;font-size:12.5px;line-height:1.7;color:var(--text-dim);}
.access-fine a{color:var(--cyan-soft);}
@media (max-width:860px){
  .access{padding:0;align-items:stretch;}
  .access-card{grid-template-columns:1fr;border-radius:0;border:0;min-height:100%;}
  .access-media{min-height:240px;padding:22px 16px;}
  .access-tag,.access-stats,.access-word{display:none;}
  .access-media{min-height:190px;}
  .access-form{padding:26px 16px 32px;border-left:0;border-top:1px solid var(--panel-border);}
  .access-logo{width:100px;height:100px;margin-top:-74px;}
}
@media (prefers-reduced-motion:reduce){.access-chip i,.access-logo::before{animation:none;}}
.access-card{animation:accessGlow 6s ease-in-out infinite;}
@keyframes accessGlow{
  0%,100%{box-shadow:0 0 0 1px rgba(36,229,255,.25),0 0 60px rgba(36,229,255,.22),0 40px 120px rgba(0,0,0,.6);}
  50%{box-shadow:0 0 0 1px rgba(255,45,143,.25),0 0 60px rgba(255,45,143,.24),0 40px 120px rgba(0,0,0,.6);}
}
.access-stats div,.access-warn{box-shadow:0 0 18px rgba(36,229,255,.12);}
@media (prefers-reduced-motion:reduce){.access-card{animation:none;}}

/* new emblem logo with a warm yellow-orange glow */
.access-logo{width:150px;height:150px;padding:0;background:none;box-shadow:none;}
.access-logo::before{inset:-22px;background:radial-gradient(circle,rgba(255,196,60,.5) 0%,rgba(255,140,20,.3) 45%,transparent 72%);}
.access-logo img{background:none;object-fit:contain;
  filter:drop-shadow(0 0 8px rgba(255,214,90,.8)) drop-shadow(0 0 24px rgba(255,160,30,.6)) drop-shadow(0 0 48px rgba(255,110,10,.4));}
@media (max-width:860px){.access-logo{width:120px;height:120px;margin-top:-84px;}}

/* returning visitors: hidden before first paint, no flash */
.gate-ok .access{display:none;}

/* ---------- ENTRANCE: lab doors slide open + scan sweep (~0.9s) ---------- */
.access.opening{pointer-events:none;animation:accessFade .9s ease forwards;}
.access.opening .access-card{animation:none;overflow:visible;background:transparent;border-color:transparent;box-shadow:none;}
.access.opening .access-media{animation:doorLeft .85s cubic-bezier(.7,0,.25,1) forwards;}
.access.opening .access-form{animation:doorRight .85s cubic-bezier(.7,0,.25,1) forwards;}
.access.opening::after{content:'';position:absolute;left:0;right:0;top:0;height:3px;z-index:5;
  background:linear-gradient(90deg,transparent,var(--cyan),#fff,var(--magenta),transparent);
  box-shadow:0 0 24px var(--cyan),0 0 60px var(--magenta);animation:scanSweep .7s ease-in forwards;}
.access.opening .access-logo img{animation:logoFlash .5s ease-out forwards;}
@keyframes doorLeft{to{transform:translateX(-110%);opacity:.2;}}
@keyframes doorRight{to{transform:translateX(110%);opacity:.2;}}
@keyframes scanSweep{from{top:0;}to{top:100%;}}
@keyframes logoFlash{50%{filter:drop-shadow(0 0 20px #fff) drop-shadow(0 0 60px rgba(255,190,60,.9));transform:scale(1.08);}}
@keyframes accessFade{0%,55%{background-color:transparent;opacity:1;}100%{opacity:0;}}
@media (max-width:860px){
  @keyframes doorLeft{to{transform:translateY(-110%);opacity:.2;}}
  @keyframes doorRight{to{transform:translateY(110%);opacity:.2;}}
}

/* round logo: glow sits tight around the circle */
.access-logo::before{display:none;}
.access-logo img{border-radius:50%;filter:none;
  box-shadow:0 0 0 2px rgba(255,205,90,.8),0 0 14px 2px rgba(255,200,60,.8),0 0 34px 6px rgba(255,150,30,.5),0 0 64px 10px rgba(255,110,10,.25);
  animation:accessBadge 4s ease-in-out infinite;}
@keyframes accessBadge{50%{box-shadow:0 0 0 2px rgba(255,215,110,.95),0 0 20px 4px rgba(255,205,70,.9),0 0 46px 10px rgba(255,150,30,.55),0 0 84px 14px rgba(255,110,10,.3);}}
@media (prefers-reduced-motion:reduce){.access-logo img{animation:none;}}
.access-check a,.checkout-modal .check-row a{color:var(--cyan-soft);text-decoration:underline;}

/* ---------- ACCESS LOGO: N monogram in the gold-ring seal (matches homepage) ---------- */
.access-logo.access-seal{position:relative;width:150px;height:150px;margin:0 auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle,rgba(24,16,4,.96),rgba(3,3,8,.94) 68%);border:1px solid rgba(255,200,90,.55);
  box-shadow:0 0 0 6px rgba(3,3,8,.55),0 0 0 7px rgba(255,200,90,.25),0 0 46px rgba(255,160,40,.35),inset 0 0 26px rgba(255,170,40,.15);}
.access-logo.access-seal::before{display:none;}
.access-mark{position:relative;z-index:2;width:66%;height:66%;filter:drop-shadow(0 0 10px rgba(36,229,255,.45)) drop-shadow(0 0 18px rgba(255,45,143,.3));}
@media (prefers-reduced-motion:no-preference){.access-mark{animation:accessMark 4s ease-in-out infinite;}}
@keyframes accessMark{50%{filter:drop-shadow(0 0 16px rgba(36,229,255,.7)) drop-shadow(0 0 28px rgba(255,45,143,.45));}}
@media (max-width:860px){.access-logo.access-seal{width:118px;height:118px;margin-top:-80px;}}
