/* ================================================================
   BİLGEVELİ — Tailwind üstüne ek stiller
================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root {
  --primary: #6366f1;
  --secondary: #8b5cf6;
  --accent: #ec4899;
  --dark: #0f172a;
}

html { 
  scroll-behavior: smooth; 
}

body {
  width: 100%;
  overflow-x: hidden;
  position: relative;
  -webkit-text-size-adjust: 100%;
}

*  { box-sizing: border-box; }
* { scrollbar-width: thin; scrollbar-color: var(--primary) var(--dark); }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--dark); }
::-webkit-scrollbar-thumb { background: linear-gradient(var(--primary), var(--accent)); border-radius: 4px; }

/* Font helpers */
.font-display { font-family: 'Outfit', sans-serif; }

/* Selection */
::selection { background: rgba(99,102,241,0.3); color: white; }

/* ── CURSOR ── */
html, body, div, span, h1, h2, h3, h4, p, a, button, input, textarea, select, label, canvas, svg, img, section, nav, footer, .glitch, .reveal-text, .glitch-wrap, [class*="text-"] {
  cursor: none !important;
  /* user-select kısıtlamaları kaldırıldı, artık metin kopyalanabilir! */
}

*, *::before, *::after {
  cursor: none !important;
}

/* Sadece input ve textarea alanlarında metin seçimine izin ver */
input, textarea {
  -webkit-user-select: auto;
  user-select: auto;
}

/* Custom Cursor (Daha Modern Mix-Blend-Mode) */
.cursor-dot { display: none; } 

.cursor-outline {
  position: fixed;
  border-radius: 50%;
  pointer-events: none;
  z-index: 999999;
  transform: translate(-50%, -50%);
  width: 16px; height: 16px;
  background: white;
  mix-blend-mode: difference;
  transition: width .2s, height .2s, background-color .2s;
}

/* İmlecin butonlarda büyüme efekti */
.cursor-outline.hover {
  width: 60px; height: 60px;
  background: white;
  mix-blend-mode: difference;
}

body.hovering .cursor-outline {
  width: 60px; height: 60px;
  background: white;
  mix-blend-mode: difference;
}

/* ── LOADING SCREEN ── */
.loader {
  position: fixed; inset: 0; background: var(--dark);
  z-index: 10000; display: flex; align-items: center; justify-content: center;
  transition: opacity .6s, visibility .6s;
}
.loader.hidden { opacity: 0; visibility: hidden; }
.loader-text {
  font-family: 'Outfit', sans-serif;
  font-size: 3.5rem; font-weight: 900;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  animation: loaderPulse 1.5s ease-in-out infinite;
}
.loader-bilge { font-size: 4.5rem; }
.loader-veli  { 
  font-size: 2.8rem; 
  font-weight: 300; 
  -webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
  color: rgba(255, 255, 255, 0.7);
}

/* ── PROGRESS BAR ── */
.progress-bar {
  position: fixed; top: 0; left: 0; height: 3px;
  background: linear-gradient(90deg, var(--primary), var(--secondary), var(--accent));
  z-index: 9999; transition: width .1s; width: 0%;
}
/* -- DEGISEN YAZI --*/
#scrambleText {
  display: block;
  width: 100%;
  max-width: 100vw;
  white-space: normal; /* Uzun kelimelerin taşıp ekranı bozması yerine alt satıra geçmesini sağlar */
  overflow-wrap: break-word;
  word-wrap: break-word;
  min-height: 80px; /* Metinler değişirken ekranın aşağı-yukarı zıplamasını (titremesini) engeller */
}

/* ── ANIMATED MESH BG ── */
.mesh-bg {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -2;
  pointer-events: none; /* Parmak hareketlerinin arkaya geçmesine izin ver! */
  background:
    radial-gradient(at 0% 0%,   hsla(253,16%,7%,1)  0, transparent 50%),
    radial-gradient(at 50% 0%,  hsla(225,39%,30%,1) 0, transparent 50%),
    radial-gradient(at 100% 0%, hsla(339,49%,30%,1) 0, transparent 50%);
  background-size: 200% 200%;
  animation: meshMove 20s ease infinite;
}
@keyframes meshMove {
  0%,100% { background-position: 0% 50%; }
  50%     { background-position: 100% 50%; }
}

/* ── ORBS ── */
.orb {
  position: absolute; border-radius: 50%;
  filter: blur(80px); opacity: .35;
  pointer-events: none; /* Işık hüzmeleri dokunmatiği bozmasın! */
  animation: floatOrb 20s infinite ease-in-out;
}
.orb-1 { width:400px;height:400px;background:var(--primary);top:-200px;left:-100px;animation-delay:0s; }
.orb-2 { width:300px;height:300px;background:var(--accent);top:50%;right:-100px;animation-delay:-5s; }
.orb-3 { width:350px;height:350px;background:var(--secondary);bottom:-100px;left:30%;animation-delay:-10s; }
@keyframes floatOrb {
  0%,100% { transform:translate(0,0) scale(1); }
  33%     { transform:translate(30px,-50px) scale(1.1); }
  66%     { transform:translate(-20px,20px) scale(.9); }
}

/* ── GLASSMORPHISM ── */
.glass {
  background: rgba(255,255,255,.03);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.5);
}
.glass-strong {
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(30px);
  border: 1px solid rgba(255,255,255,.12);
}

/* ── TEXT GRADIENT ── */
.text-gradient {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text; background-size: 200% 200%;
  animation: gradientShift 5s ease infinite;
}
@keyframes gradientShift {
  0%,100% { background-position:0% 50%; }
  50%     { background-position:100% 50%; }
}

/* ── GLITCH (sitesonn.html birebir) ── */
/* Tüm başlık bloğu hafif skew alır */
.glitch-wrap {
  position: relative;
  display: inline-block;
  animation: glitch-skew 1s infinite linear alternate-reverse;
}
@keyframes glitch-skew {
  0%   { transform: skew(-1deg); }
  10%  { transform: skew(2deg);  }
  20%  { transform: skew(-1deg); }
  30%  { transform: skew(0deg);  }
  40%  { transform: skew(1deg);  }
  50%  { transform: skew(0deg);  }
  60%  { transform: skew(2deg);  }
  70%  { transform: skew(-2deg); }
  80%  { transform: skew(0deg);  }
  90%  { transform: skew(-1deg); }
  100% { transform: skew(1deg);  }
}

/* BILGE span'ına özgü glitch pseudo-elementler */
.logo-bilge-glitch {
  position: relative;
  display: inline-block;
}
.logo-bilge-glitch::before,
.logo-bilge-glitch::after {
  content: attr(data-text);
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  letter-spacing: inherit;
  /* gradient'i iptal et, düz renk kullan — text-shadow çalışsın */
  background: none !important;
  -webkit-text-fill-color: initial !important;
  color: white;
}
.logo-bilge-glitch::before {
  left: 2px;
  color: #ff00c1;
  -webkit-text-fill-color: #ff00c1 !important;
  text-shadow: -2px 0 #ff00c1;
  clip: rect(44px, 9999px, 56px, 0);
  animation: glitch-anim 5s infinite linear alternate-reverse;
}
.logo-bilge-glitch::after {
  left: -2px;
  color: #00fff9;
  -webkit-text-fill-color: #00fff9 !important;
  text-shadow: 2px 0 #00fff9;
  clip: rect(44px, 9999px, 56px, 0);
  animation: glitch-anim2 5s infinite linear alternate-reverse;
}
@keyframes glitch-anim {
  0%   { clip: rect(12px,  9999px, 52px,  0); transform: skew(0.5deg);  }
  20%  { clip: rect(65px,  9999px, 100px, 0); transform: skew(-0.3deg); }
  40%  { clip: rect(25px,  9999px, 145px, 0); transform: skew(0.4deg);  }
  60%  { clip: rect(85px,  9999px, 40px,  0); transform: skew(-0.5deg); }
  80%  { clip: rect(120px, 9999px, 80px,  0); transform: skew(0.2deg);  }
  100% { clip: rect(45px,  9999px, 60px,  0); transform: skew(-0.4deg); }
}
@keyframes glitch-anim2 {
  0%   { clip: rect(65px,  9999px, 100px, 0); transform: skew(-0.3deg); }
  20%  { clip: rect(25px,  9999px, 145px, 0); transform: skew(0.5deg);  }
  40%  { clip: rect(85px,  9999px, 40px,  0); transform: skew(-0.4deg); }
  60%  { clip: rect(12px,  9999px, 52px,  0); transform: skew(0.3deg);  }
  80%  { clip: rect(45px,  9999px, 60px,  0); transform: skew(-0.5deg); }
  100% { clip: rect(120px, 9999px, 80px,  0); transform: skew(0.4deg);  }
}

/* Orijinal Temiz Glitch Effect */
.glitch {
    position: relative;
}

.glitch::before,
.glitch::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.glitch::before {
    left: 2px;
    text-shadow: -2px 0 #ff00c1;
    clip: rect(44px, 450px, 56px, 0);
    animation: glitch-anim 5s infinite linear alternate-reverse;
}

.glitch::after {
    left: -2px;
    text-shadow: -2px 0 #00fff9;
    clip: rect(44px, 450px, 56px, 0);
    animation: glitch-anim2 5s infinite linear alternate-reverse;
}

@keyframes glitch-anim {
    0% { clip: rect(12px, 9999px, 52px, 0); }
    20% { clip: rect(65px, 9999px, 100px, 0); }
    40% { clip: rect(25px, 9999px, 145px, 0); }
    60% { clip: rect(85px, 9999px, 40px, 0); }
    80% { clip: rect(120px, 9999px, 80px, 0); }
    100% { clip: rect(45px, 9999px, 60px, 0); }
}

@keyframes glitch-anim2 {
    0% { clip: rect(65px, 9999px, 100px, 0); }
    20% { clip: rect(25px, 9999px, 145px, 0); }
    40% { clip: rect(85px, 9999px, 40px, 0); }
    60% { clip: rect(12px, 9999px, 52px, 0); }
    80% { clip: rect(45px, 9999px, 60px, 0); }
    100% { clip: rect(120px, 9999px, 80px, 0); }
}

/* ── NEON GLOW BUTTON ── */
.neon-btn {
  position:relative; overflow:hidden; z-index:1;
  transition: transform .2s, box-shadow .3s;
}
.neon-btn::before {
  content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);
  transition:.5s; z-index:-1;
}
.neon-btn:hover::before { left:100%; }

/* ── WAVE SEPARATOR ── */
.wave-container {
  position:absolute; bottom:0; left:0; width:100%; overflow:hidden; line-height:0;
}
.wave-container svg {
  display:block; width:calc(100% + 1.3px); height:120px;
}

/* ── MAGNETIC BTN ── */
.magnetic-btn { transition:transform .3s cubic-bezier(.23,1,.32,1); }

/* ── 3D CARD ── */
.tilt-container { transform-style:preserve-3d; transform:perspective(1000px); }

/* ── INTERACTIVE GRID ITEM ── */
.grid-item {
  position:relative; overflow:hidden; border-radius:1.5rem;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.05);
  transition:all .5s cubic-bezier(.23,1,.32,1);
}
.grid-item::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%), rgba(99,102,241,.15), transparent 50%);
  opacity:0; transition:opacity .3s;
}
.grid-item:hover::before { opacity:1; }
.grid-item:hover {
  transform:translateY(-10px) scale(1.02);
  border-color:rgba(99,102,241,.3);
  box-shadow:0 30px 60px -15px rgba(99,102,241,.2);
}

/* ── STAGGER / REVEAL ── */
.reveal-text { opacity:0; transform:translateY(50px); transition:all .8s cubic-bezier(.23,1,.32,1); }
.reveal-text.active { opacity:1; transform:translateY(0); }
.stagger-item { opacity:0; transform:translateY(30px); }

/* ── MOBILE MENU ── */
.mobile-menu {
  clip-path:circle(0% at calc(100% - 40px) 40px);
  transition:clip-path .5s cubic-bezier(.23,1,.32,1);
}
.mobile-menu.active { clip-path:circle(150% at calc(100% - 40px) 40px); }

/* ── PHONE GALLERY ── */
.phone-item {
  position:relative; flex-shrink:0;
  transition:transform .5s cubic-bezier(.34,1.56,.64,1), filter .4s;
}
.phone-item:hover {
  transform:translateY(-16px) scale(1.05);
  filter:drop-shadow(0 30px 50px rgba(99,102,241,.35));
  z-index:20;
}
.phone-frame {
  position:relative; width:170px; aspect-ratio:9/20;
  border-radius:28px;
  background:rgba(15,23,42,.9);
  border:2px solid rgba(255,255,255,.1);
  box-shadow:0 0 0 1px rgba(99,102,241,.1), 0 24px 60px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden; transition:box-shadow .4s, border-color .4s;
}
.phone-item:hover .phone-frame {
  border-color:rgba(99,102,241,.5);
  box-shadow:0 0 0 1px rgba(99,102,241,.3), 0 40px 80px rgba(0,0,0,.8), 0 0 60px rgba(99,102,241,.15), inset 0 1px 0 rgba(255,255,255,.12);
}
.phone-frame::before {
  content:''; position:absolute; top:10px; left:50%; transform:translateX(-50%);
  width:60px; height:6px; border-radius:3px;
  background:rgba(0,0,0,.8); border:1px solid rgba(255,255,255,.06); z-index:5;
}
.phone-frame::after {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
  z-index:6; border-radius:28px 28px 0 0;
}
.phone-img { width:100%; height:100%; object-fit:cover; object-position:top; display:block; border-radius:26px; }
.phone-item:hover .phone-img { transform:scale(1.04); transition:transform .6s cubic-bezier(.34,1.56,.64,1); }
.phone-scan {
  position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,rgba(99,102,241,.8),transparent);
  opacity:0; z-index:7; pointer-events:none;
}
.phone-item:hover .phone-scan { opacity:1; animation:phoneScan 1.5s linear infinite; }
@keyframes phoneScan { 0%{top:0} 100%{top:100%} }

.gallery-track { display:flex; gap:24px; width:max-content; animation:galleryScroll 40s linear infinite; }
.gallery-track.reverse { animation:galleryScrollReverse 38s linear infinite; }
.gallery-track-wrap:hover .gallery-track { animation-play-state:paused; }
@keyframes galleryScroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes galleryScrollReverse { from{transform:translateX(-50%)} to{transform:translateX(0)} }

/* fade edges */
.gallery-track-wrap {
  position: relative; 
  margin-bottom: 24px;
  padding: 30px 0;
  margin-top: -30px;
}
.gallery-track-wrap::before,
.gallery-track-wrap::after {
  content:''; position:absolute; top:0; bottom:0; width:140px; z-index:10; pointer-events:none;
}
.gallery-track-wrap::before { left:0; background:linear-gradient(90deg, #0f172a, transparent); }
.gallery-track-wrap::after  { right:0; background:linear-gradient(-90deg, #0f172a, transparent); }

/* ── LIGHTBOX ── */
.lightbox {
  position:fixed; inset:0; z-index:99998;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.92); backdrop-filter:blur(24px);
  opacity:0; pointer-events:none; transition:opacity .4s;
}
.lightbox.open { opacity:1; pointer-events:all; }
.lb-inner { position:relative; max-width:320px; width:90%; }
.lb-phone {
  position:relative; border-radius:36px;
  background:#0a0f1a; border:2px solid rgba(99,102,241,.3);
  box-shadow:0 40px 100px rgba(0,0,0,.9), 0 0 80px rgba(99,102,241,.15);
  overflow:hidden; aspect-ratio:9/20;
}
.lb-phone::before {
  content:''; position:absolute; top:12px; left:50%; transform:translateX(-50%);
  width:70px; height:7px; border-radius:4px; background:rgba(0,0,0,.9); z-index:5;
}
.lb-img { width:100%; height:100%; object-fit:cover; object-position:top; border-radius:34px; }
.lb-close {
  position:absolute; top:-16px; right:-16px;
  width:44px; height:44px; border-radius:50%;
  background:rgba(15,23,42,.9); border:1px solid rgba(255,255,255,.1);
  color:white; font-size:1.2rem;
  display:flex; align-items:center; justify-content:center;
  transition:all .3s; z-index:10;
}
.lb-close:hover { background:var(--accent); transform:rotate(90deg); }
.lb-nav {
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:50%;
  background:rgba(15,23,42,.8); border:1px solid rgba(255,255,255,.1);
  color:white; font-size:1.3rem;
  display:flex; align-items:center; justify-content:center;
  transition:all .3s; z-index:10;
}
.lb-nav:hover { background:var(--primary); border-color:var(--primary); }
.lb-prev { left:-56px; } .lb-next { right:-56px; }
.lb-counter { text-align:center; margin-top:16px; font-size:.8rem; color:rgba(255,255,255,.4); }
.lb-counter span { color:#6366f1; font-weight:700; }

/* ── CONTACT MODAL ── */
.contact-modal-wrap {
  position:fixed; inset:0; z-index:9500;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.8); backdrop-filter:blur(16px);
  opacity:0; pointer-events:none; transition:opacity .4s;
}
.contact-modal-wrap.open { opacity:1; pointer-events:all; }
.contact-card {
  background:rgba(15,23,42,.95);
  border:1px solid rgba(99,102,241,.2);
  border-radius:28px; padding:44px;
  max-width:560px; width:92%;
  position:relative;
  box-shadow:0 60px 120px rgba(0,0,0,.9), 0 0 80px rgba(99,102,241,.08);
  animation:cardPop .5s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes cardPop {
  from { transform:scale(.85) translateY(20px); opacity:0; }
  to   { transform:scale(1) translateY(0); opacity:1; }
}
.contact-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, transparent, #6366f1 30%, #8b5cf6 60%, #ec4899 90%, transparent);
  border-radius:28px 28px 0 0;
}
.contact-card-close {
  position:absolute; top:14px; right:14px;
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.5); font-size:1rem;
  display:flex; align-items:center; justify-content:center;
  transition:all .3s;
}
.contact-card-close:hover { background:var(--accent); color:white; transform:rotate(90deg); }

/* phone info card */
.ci-phone-num {
  font-family:'Outfit',sans-serif;
  font-size:2rem; font-weight:900; letter-spacing:1px;
  background:linear-gradient(135deg,#6366f1,#ec4899);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}

/* form fields */
.cf-field { position:relative; margin-bottom:16px; }
.cf-field input,
.cf-field textarea {
  width:100%; padding:13px 16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px; color:white;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.95rem;
  transition:border-color .3s, box-shadow .3s;
  outline:none;
}
.cf-field input::placeholder,
.cf-field textarea::placeholder { color:rgba(255,255,255,.25); }
.cf-field input:focus,
.cf-field textarea:focus {
  border-color:#6366f1;
  box-shadow:0 0 0 3px rgba(99,102,241,.15);
}
.cf-field textarea { resize:vertical; min-height:90px; }
.cf-label { font-size:.72rem; font-weight:700; color:rgba(255,255,255,.4); letter-spacing:1px; text-transform:uppercase; margin-bottom:5px; display:block; }
.cf-submit {
  width:100%; padding:15px; margin-top:6px;
  background:linear-gradient(135deg, #6366f1, #8b5cf6, #ec4899);
  color:white; border:none; border-radius:12px;
  font-family:'Outfit',sans-serif; font-weight:800; font-size:1rem;
  transition:all .3s; box-shadow:0 0 30px rgba(99,102,241,.3);
}
.cf-submit:hover { box-shadow:0 0 60px rgba(99,102,241,.5); transform:scale(1.02); }
.cf-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cf-success { text-align:center; padding:20px; animation:fadeUp .5s ease both; }
@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }

/* ── TORCH SECTION ── */
.qsec { position:relative; overflow:hidden; }
.qsec-dark {
  position:absolute; inset:0; z-index:3; pointer-events:none;
  background:radial-gradient(
    circle var(--torch-r, 160px) at var(--torch-x,50%) var(--torch-y,50%),
    transparent 0%, rgba(15,23,42,.95) 65%, rgba(15,23,42,1) 100%
  );
  transition:background .05s;
}
.qsec.idle .qsec-dark { animation:idlePulse 3s ease-in-out infinite; }
@keyframes idlePulse { 0%,100%{--torch-r:0px} 50%{--torch-r:40px} }
.qtorch-hint {
  font-size:.7rem; letter-spacing:3px; text-transform:uppercase;
  color:rgba(255,255,255,.18); font-weight:600;
  position:relative; z-index:2;
  animation:hintBlink 2.5s ease-in-out infinite;
}
@keyframes hintBlink { 0%,100%{opacity:.18} 50%{opacity:.55} }
/* Mobile: show torch text directly */
@media (hover:none) and (pointer:coarse) {
  .qsec-dark, .qtorch-hint { display:none; }
}

/* ── LOGO BILGE/VELI ── */
.logo-bilge {
  font-family:'Outfit',sans-serif; font-weight:900;
  background:linear-gradient(135deg, #6366f1, #8b5cf6, #ec4899);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-size:200%; animation:gradientShift 5s ease infinite;
}
.logo-veli {
  font-family:'Outfit',sans-serif; font-weight:300;
  color:rgba(255,255,255,.45); letter-spacing:.5px;
}

/* ── TANITIM PAGE ── */
.video-frame {
  position:relative; aspect-ratio:16/9; border-radius:20px; overflow:hidden;
  background:rgba(15,23,42,.9);
  border:1px solid rgba(99,102,241,.2);
  box-shadow:0 60px 120px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.04) inset, 0 0 80px rgba(99,102,241,.06);
}
.video-frame::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,#6366f1 30%,#8b5cf6 60%,#ec4899 90%,transparent);
  z-index:4;
}
.video-frame::after {
  content:''; position:absolute; top:0; left:0; right:0;
  height:3px; background:linear-gradient(90deg,transparent,rgba(99,102,241,.7),transparent);
  animation:videoScan 5s linear infinite; opacity:.3; z-index:5;
}
@keyframes videoScan { 0%{top:0} 100%{top:100%} }
.video-corner {
  position:absolute; width:22px; height:22px; z-index:6;
  border-color:rgba(99,102,241,.6); border-style:solid;
}
.vc-tl { top:12px; left:12px; border-width:2px 0 0 2px; }
.vc-tr { top:12px; right:12px; border-width:2px 2px 0 0; }
.vc-bl { bottom:12px; left:12px; border-width:0 0 2px 2px; }
.vc-br { bottom:12px; right:12px; border-width:0 2px 2px 0; }
.vp-icon {
  width:80px; height:80px; border-radius:50%;
  background:rgba(99,102,241,.1); border:1px solid rgba(99,102,241,.25);
  display:flex; align-items:center; justify-content:center;
  font-size:2.2rem;
  animation:vpPulse 3s ease-in-out infinite;
  transition:all .3s;
}
.vp-icon:hover { background:rgba(99,102,241,.2); transform:scale(1.1); box-shadow:0 0 40px rgba(99,102,241,.3); }
@keyframes vpPulse { 0%,100%{box-shadow:0 0 20px rgba(99,102,241,.2)} 50%{box-shadow:0 0 40px rgba(99,102,241,.4)} }

/* ── COUNTER ── */
.counter { font-variant-numeric:tabular-nums; }

/* ── NEON GLOW ── */
.neon-glow {
  box-shadow:
    0 0 20px rgba(99,102,241,.5),
    0 0 40px rgba(99,102,241,.3),
    0 0 60px rgba(99,102,241,.1);
}

/* ── 3. FORM VE KARTLARIN ESNEMESİNİ ENGELLEYİCİ ── */
.contact-card, .contact-modal-wrap, .glass {
  max-width: 100vw !important;
  box-sizing: border-box !important;
}

/* ── 4. ANİMASYON KASMA (LAG) ÇÖZÜMÜ (GPU HIZLANDIRMA) ── */
.reveal-text, .glitch, .scrambleText, .glass, .orb {
  will-change: transform, opacity;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* ── MOBİL PERFORMANS VE GSAP TEMİZLİĞİ (ONARILMIŞ VERSİYON) ── */
@media (max-width: 768px) {
  .cursor-dot, .cursor-outline {
    display: none !important;
  }

  .reveal-text, .glitch-wrap, .scrambleText, .glass, .grid-item, .contact-card, .stagger-item {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    animation: none !important;
    transition: none !important;
  }

  html, body {
    overscroll-behavior-y: none; 
  }

  .orb {
    filter: blur(20px) !important;
    opacity: 0.3 !important;
    animation: none !important;
  }
}

/* ── MOBİL MENÜ ARKA PLAN DÜZELTMESİ (METİN KARIŞMASINI ELLER) ── */
.mobile-menu {
  background-color: rgba(15, 23, 42, 0.98) !important; /* %98 oranında koyu lacivert (slate-900) */
  backdrop-filter: blur(20px) !important; /* Altta kalan her şeyi 20px bulanıklaştırır */
  -webkit-backdrop-filter: blur(20px) !important; /* iPhone/Safari uyumluluğu */
  z-index: 99999 !important; /* Sayfadaki her şeyin (butonlar, resimler) mutlak üstünde durmasını garantiler */
}