/* ============================================
   ARXES STUDIOS — Background & Visual Effects
   ============================================ */

/* Noise overlay */
.noise {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9998;
  opacity: 0.04;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Hero scanline */
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: repeating-linear-gradient(
    0deg,
    transparent 0px,
    transparent 2px,
    rgba(0, 0, 0, 0.06) 2px,
    rgba(0, 0, 0, 0.06) 4px
  );
  pointer-events: none;
}

/* Hero title glow pulse */
.hero-title {
  animation: heroTitleGlow 5s ease-in-out infinite;
}

@keyframes heroTitleGlow {
  0%, 100% { text-shadow: 0 0 40px rgba(0,0,0,0.8), 0 0 60px rgba(255,204,0,0.12); }
  50% { text-shadow: 0 0 40px rgba(0,0,0,0.8), 0 0 90px rgba(255,204,0,0.22); }
}

/* Nirvana section background */
.nirvana {
  position: relative;
  background: #080808;
  border-bottom: 2px solid var(--accent-purple);
}

.nirvana-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.25;
  background: url('https://media-cdn.t24.com.tr/media/stories/2015/11/raw_7-yildizli-mardan-palace-otel-halkbankin-oldu_966815602.jpg') no-repeat center center / cover;
  filter: grayscale(70%) contrast(130%) brightness(0.5);
  will-change: transform;
}

.nirvana-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8,8,8,0.4) 0%, rgba(8,8,8,0.85) 100%);
}

.nirvana-inner { position: relative; z-index: 2; }

/* Nirvana content */
.nirvana-title {
  font-size: clamp(3.5rem, 8vw, 6rem);
  font-weight: 900;
  letter-spacing: 0.15em;
  color: transparent;
  -webkit-text-stroke: 2px var(--accent-purple);
  text-shadow: 0 0 50px rgba(142, 68, 173, 0.35);
  margin-bottom: 1rem;
}

.nirvana-tagline {
  font-size: clamp(1rem, 1.8vw, 1.35rem);
  color: var(--text-muted);
  max-width: 640px;
  margin: 0 auto 2rem;
  line-height: 1.7;
}

.nirvana-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
  max-width: 900px;
  margin: 0 auto 2.5rem;
  text-align: left;
}

.nirvana-feature {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  color: var(--text-muted);
  font-size: 0.95rem;
}

.nirvana-feature i {
  color: var(--accent-purple);
  font-size: 1.1rem;
  margin-top: 0.2rem;
  flex-shrink: 0;
}

.nirvana-status {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.75rem 1.5rem;
  background: var(--accent-purple-dim);
  border: 1px solid var(--accent-purple);
  border-radius: var(--radius-sm);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  color: var(--text-light);
  transition: box-shadow 0.3s, transform 0.3s;
}

.nirvana-status:hover {
  box-shadow: 0 0 35px rgba(142, 68, 173, 0.45);
  transform: scale(1.02);
}

/* Contact section parallax bg */
.contact {
  background: url('https://images.unsplash.com/photo-1617136098383-097587747e93?q=80&w=2070&auto=format&fit=crop') no-repeat center center / cover;
  background-attachment: fixed;
  position: relative;
}

.contact::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(3, 3, 3, 0.88);
  z-index: 0;
}

.contact .section-inner { position: relative; z-index: 1; }

/* Gradient orbs (decorative) */
.orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.12;
  pointer-events: none;
}

.orb-gold { background: var(--accent-gold); width: 400px; height: 400px; top: -100px; right: -100px; }
.orb-purple { background: var(--accent-purple); width: 300px; height: 300px; bottom: -80px; left: -80px; }
