/* ===== Ana sayfa: tam ekran 3D deneyim ===== */
body.home{background:#050b1e;color:#fff;}

/* Yükleme ekranı (JS çalışmazsa 6 sn sonra kendiliğinden kaybolur) */
#loader{
  position:fixed;inset:0;z-index:1000;background:#040a1c;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;
  transition:opacity .8s ease, visibility .8s ease;
  animation:ldout .8s ease 6s forwards;
}
#loader.done{opacity:0;visibility:hidden;}
#loader img{width:120px;height:auto;border-radius:12px;animation:ldpulse 1.6s ease-in-out infinite;filter:drop-shadow(0 10px 30px rgba(63,120,232,.5));}
#loader p{margin:0;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#8ea6d8;}
.ld-bar{width:180px;height:2px;background:rgba(255,255,255,.12);border-radius:2px;overflow:hidden;}
.ld-bar span{display:block;height:100%;width:40%;background:linear-gradient(90deg,transparent,#8fb6ff,transparent);animation:ldbar 1.1s linear infinite;}
@keyframes ldbar{from{transform:translateX(-100%)}to{transform:translateX(260%)}}
@keyframes ldpulse{50%{transform:scale(1.05)}}
@keyframes ldout{to{opacity:0;visibility:hidden}}

#bg,#stage,#halo,#glow,#dots,#cue{display:none;}

/* ---------- Karanlık header ---------- */
.site-header.dark{background:linear-gradient(180deg,rgba(4,10,28,.8),rgba(4,10,28,0));border-bottom:0;backdrop-filter:none;}
.site-header.dark.is-scrolled{background:rgba(4,10,28,.82);backdrop-filter:blur(12px);box-shadow:none;}
.site-header.dark .brand-text strong{color:#fff;}
.site-header.dark .brand-text span{color:#8ea6d8;}
.site-header.dark .main-nav a{color:#d6e2ff;}
.site-header.dark .main-nav a:hover,.site-header.dark .main-nav a.active{background:rgba(255,255,255,.1);color:#fff;}
.site-header.dark .dropdown{background:#0b1a44;border-color:rgba(255,255,255,.08);}
.site-header.dark .dropdown a small{color:#7f93c4;}
.site-header.dark .btn-ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.25);}
.site-header.dark .nav-toggle span,.site-header.dark .nav-toggle span::before,.site-header.dark .nav-toggle span::after{background:#fff;}
@media (max-width:980px){.site-header.dark .main-nav{background:#061131;}}

/* ---------- Bölümler: JS yoksa normal akış ---------- */
.scene{position:relative;padding:120px 0 80px;background:linear-gradient(160deg,#0a1b40,#050b1e);}
.scene + .scene{border-top:1px solid rgba(255,255,255,.06);}
.fallback-logo{width:min(320px,70vw);height:auto;margin:0 auto 30px;border-radius:16px;}
.scene-intro{text-align:center;}
.scene-intro .hero-actions{justify-content:center;}

/* ---------- Bölümler: 3D mod ---------- */
html.fx,html.fx body{height:100%;overflow:hidden;overscroll-behavior:none;}
html.fx body{padding-bottom:0;}
html.fx #bg,html.fx #stage{display:block;position:fixed;inset:0;width:100%;height:100%;}
html.fx #bg{z-index:0;}
html.fx #stage{z-index:2;pointer-events:none;}
html.fx .fallback-logo{display:none;}
html.fx .scene{
  position:fixed;inset:0;z-index:3;display:flex;align-items:center;
  padding:calc(var(--header-h) + 10px) 0 40px;background:none;border:0;
  opacity:0;visibility:hidden;pointer-events:none;will-change:opacity,transform;
}
html.fx .scene.on{pointer-events:auto;}
html.fx .scene-intro{align-items:flex-end;padding-bottom:12vh;}
html.fx .scene-scroll{max-height:100%;overflow-y:auto;scrollbar-width:none;}
html.fx .scene-scroll::-webkit-scrollbar{display:none;}

html.fx #halo{
  display:block;position:fixed;z-index:1;pointer-events:none;opacity:0;
  right:-12vw;top:50%;width:72vw;height:72vw;max-width:1100px;max-height:1100px;transform:translateY(-50%);
  background:radial-gradient(circle,rgba(63,120,232,.32),rgba(63,120,232,.08) 40%,rgba(63,120,232,0) 65%);
}
@media (hover:hover){
  html.fx #glow{
    display:block;position:fixed;left:0;top:0;width:560px;height:560px;margin:-280px 0 0 -280px;
    border-radius:50%;pointer-events:none;z-index:1;
    background:radial-gradient(circle,rgba(120,160,255,.1),transparent 62%);
  }
}

/* ---------- Giriş ---------- */
.intro-title{font-size:clamp(13px,1.3vw,16px);font-weight:600;color:#a9bde9;letter-spacing:.4px;margin:0 0 10px;}
.typed-line{font-size:clamp(22px,2.7vw,36px);font-weight:800;color:#fff;margin:0 0 26px;letter-spacing:-.3px;}
#typed{background:linear-gradient(90deg,#9ec2ff,#fff);-webkit-background-clip:text;background-clip:text;color:transparent;}
.caret{display:inline-block;width:3px;height:1em;background:#8fb6ff;margin-left:4px;vertical-align:-.12em;animation:blink 1s steps(1) infinite;}
@keyframes blink{50%{opacity:0}}

/* ---------- Panel tipografisi ---------- */
.panel{max-width:540px;}
.kicker{display:flex;align-items:center;gap:12px;color:#8fb6ff;font-weight:700;font-size:12.5px;letter-spacing:2px;text-transform:uppercase;margin-bottom:18px;}
.kicker b{font-size:11.5px;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:4px 10px;letter-spacing:1px;}
.kicker::after{content:"";height:1px;width:60px;background:linear-gradient(90deg,#8fb6ff,transparent);}
.big{font-size:clamp(36px,5vw,70px);line-height:1.02;letter-spacing:-1.6px;color:#fff;margin-bottom:22px;font-weight:900;}
.big em{font-style:normal;background:linear-gradient(100deg,#fff 0%,#9ec2ff 45%,#3f78e8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.lead{color:#b9c9ee;font-size:clamp(15px,1.25vw,17.5px);max-width:480px;margin-bottom:22px;}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;}
.chips li{font-size:13px;font-weight:600;color:#e3ecff;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px);}
.panel-actions{display:flex;gap:12px;flex-wrap:wrap;}

/* Bölüme girerken içerik kademeli belirir */
html.fx .scene .kicker,html.fx .scene .big,html.fx .scene .lead,html.fx .scene .chips,
html.fx .scene .stats,html.fx .scene .marquee,html.fx .scene .panel-actions,html.fx .scene .info-list,html.fx .scene .map-card{
  opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1);
}
html.fx .scene.on .kicker,html.fx .scene.on .big,html.fx .scene.on .lead,html.fx .scene.on .chips,
html.fx .scene.on .stats,html.fx .scene.on .marquee,html.fx .scene.on .panel-actions,html.fx .scene.on .info-list,html.fx .scene.on .map-card{
  opacity:1;transform:none;
}
html.fx .scene.on .big{transition-delay:.08s;}
html.fx .scene.on .lead,html.fx .scene.on .stats{transition-delay:.16s;}
html.fx .scene.on .chips,html.fx .scene.on .marquee,html.fx .scene.on .info-list{transition-delay:.24s;}
html.fx .scene.on .panel-actions,html.fx .scene.on .map-card{transition-delay:.32s;}

/* ---------- Sayaçlar ve marka şeridi ---------- */
.stats{display:flex;gap:36px;margin:4px 0 24px;}
.stats strong{display:block;font-size:clamp(30px,3.4vw,46px);font-weight:900;color:#fff;line-height:1;}
.stats span{font-size:12.5px;color:#8ea6d8;font-weight:600;letter-spacing:.5px;}
.marquee{overflow:hidden;max-width:520px;margin-bottom:26px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
.marquee-track{display:flex;gap:10px;width:max-content;animation:marq 24s linear infinite;}
.marquee-track span{font-weight:800;font-size:14px;color:#dbe6ff;padding:9px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);}
@keyframes marq{to{transform:translateX(calc(-50% - 5px))}}

/* ---------- İletişim ---------- */
.contact-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;width:100%;}
.info-list{display:grid;gap:12px;margin:6px 0 24px;}
.info{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);}
.info svg{width:20px;height:20px;flex:none;color:#8fb6ff;margin-top:2px;}
.info b{display:block;color:#fff;font-size:14px;}
.info span,.info a{color:#b9c9ee;font-size:14px;}
.map-card{position:relative;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.14);aspect-ratio:4/3.1;box-shadow:0 30px 80px rgba(0,0,0,.45);}
.map-card iframe{width:100%;height:100%;border:0;display:block;pointer-events:none;}
.map-card a{position:absolute;inset:0;display:flex;align-items:flex-end;padding:16px 18px;background:linear-gradient(0deg,rgba(4,10,28,.75),transparent 45%);color:#fff;font-weight:700;font-size:14px;}
.mini-foot{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px;font-size:12.5px;color:#7f93c4;}
.mini-foot a{color:#a9bbe6;}
.mini-foot a:hover{color:#fff;}

/* ---------- Bölüm noktaları ---------- */
html.fx #dots{display:flex;position:fixed;right:28px;top:50%;transform:translateY(-50%);z-index:50;flex-direction:column;gap:20px;}
#dots::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:rgba(255,255,255,.12);border-radius:2px;}
#dotsFill{position:absolute;left:5px;top:6px;width:2px;height:0;background:linear-gradient(#8fb6ff,#3f78e8);border-radius:2px;}
#dots button{position:relative;width:12px;height:12px;padding:0;border-radius:50%;border:2px solid rgba(255,255,255,.4);background:#050b1e;cursor:pointer;transition:all .25s ease;}
#dots button.on{border-color:#8fb6ff;background:#8fb6ff;box-shadow:0 0 0 5px rgba(143,182,255,.18);}
#dots button span{position:absolute;right:24px;top:50%;transform:translate(6px,-50%);white-space:nowrap;font-size:12px;font-weight:700;color:#fff;opacity:0;transition:all .25s ease;pointer-events:none;letter-spacing:.4px;}
#dots button:hover span{opacity:1;transform:translate(0,-50%);}

/* ---------- Kaydır ipucu ---------- */
html.fx #cue{display:flex;position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:5;flex-direction:column;align-items:center;gap:8px;color:#9fb4e6;font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;background:none;border:0;font-weight:700;}
.mouse{width:22px;height:34px;border:2px solid rgba(255,255,255,.5);border-radius:999px;position:relative;}
.mouse::after{content:"";position:absolute;top:6px;left:50%;width:4px;height:8px;background:#fff;border-radius:2px;transform:translateX(-50%);animation:scrollcue 1.6s ease infinite;}
@keyframes scrollcue{0%{opacity:1;top:6px}70%{opacity:0;top:18px}100%{opacity:0;top:6px}}

/* ---------- Mobil ---------- */
@media (max-width:900px){
  .contact-wrap{grid-template-columns:1fr;gap:18px;}
  .map-card{aspect-ratio:16/9;}
}
@media (max-width:820px){
  html.fx .scene{align-items:flex-end;padding-bottom:92px;}
  html.fx .scene-intro{padding-bottom:110px;}
  html.fx #iletisim{align-items:flex-start;padding-top:calc(var(--header-h) + 6px);}
  html.fx #halo{right:auto;left:50%;top:30%;width:130vw;height:130vw;transform:translate(-50%,-50%);}
  .panel{max-width:100%;}
  .big{font-size:clamp(28px,8.6vw,42px);margin-bottom:12px;letter-spacing:-1px;}
  .lead{font-size:14px;margin-bottom:14px;}
  .chips{margin-bottom:16px;}
  .chips li{font-size:12px;padding:6px 11px;}
  .stats{gap:22px;margin-bottom:14px;}
  .marquee{margin-bottom:16px;}
  .kicker{margin-bottom:10px;}
  html.fx #dots{display:none;}
  .chips{display:none;}
  .panel-actions .btn,.scene-intro .btn{padding:11px 18px;font-size:14px;}
  html.fx .mobile-sticky-cta{background:rgba(4,10,28,.85);border-top:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px);}
  html.fx #cue{display:none;}
}
@media (max-width:820px) and (max-height:720px){
  html.fx .scene .lead{display:none;}
}
