
        .custom-scrollbar::-webkit-scrollbar { width: 6px; }
        .custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
        .custom-scrollbar::-webkit-scrollbar-thumb { background-color: #cbd5e1; border-radius: 20px; }
        .dark .custom-scrollbar::-webkit-scrollbar-thumb { background-color: #475569; }
        
        /* Progress Bar Animasyonu */
        @keyframes fillBar {
            from { width: 0; }
        }
        .animate-fill {
            animation: fillBar 1s ease-out forwards;
        }
    

/* --- Sayfa Geçiş Animasyonu (SPA görünüm) --- */
@keyframes pageEnter {
    from { opacity: 0; transform: translateY(10px) scale(0.995); filter: blur(2px); }
    to   { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
.page-transition { animation: pageEnter 360ms cubic-bezier(.2,.8,.2,1) both; }
@media (prefers-reduced-motion: reduce) {
    .page-transition { animation: none !important; }
}

/* Menü hover/aktif efekti (sayfa yapısını bozmadan) */
.nav-btn {
    position: relative;
    padding: 0.55rem 0.85rem;
    border-radius: 0.9rem;
    transition: transform .15s ease, background-color .2s ease, color .2s ease;
}
.nav-btn:hover { background: rgba(59,130,246,.08); transform: translateY(-1px); }
.dark .nav-btn:hover { background: rgba(59,130,246,.16); }

.nav-btn::after {
    content: "";
    position: absolute;
    left: 0.85rem;
    right: 0.85rem;
    bottom: 0.3rem;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(59,130,246,0), rgba(59,130,246,.9), rgba(99,102,241,.9), rgba(59,130,246,0));
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .22s ease;
    opacity: .9;
}
.nav-btn:hover::after { transform: scaleX(1); }
.nav-btn.is-active { color: #2563eb; }
.dark .nav-btn.is-active { color: #60a5fa; }
.nav-btn.is-active::after { transform: scaleX(1); opacity: 1; }
    

/* Added integration-safe UI utilities */
.home-card-hover {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, filter .28s ease;
}
.home-card-hover:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 22px 48px rgba(37,99,235,.16), 0 0 0 1px rgba(96,165,250,.22);
  filter: saturate(1.06);
}
.emergency-glow::before {
  content: "";
  position: absolute;
  inset: -30%;
  background: radial-gradient(circle at 50% 15%, rgba(96,165,250,.18), transparent 35%), radial-gradient(circle at 50% 100%, rgba(16,185,129,.12), transparent 28%);
  opacity: .95;
  pointer-events: none;
}
.emergency-copy-centered h3,
.emergency-copy-centered p {
  text-align: center;
}
.float-cta {
  position: relative;
  overflow: hidden;
  animation: floatPulse 2.8s ease-in-out infinite;
}
.float-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.18), transparent);
  transform: translateX(-120%);
  transition: transform .7s ease;
}
.float-cta:hover::after { transform: translateX(120%); }
.float-cta:hover {
  transform: translateY(-4px) scale(1.04);
  box-shadow: 0 18px 40px rgba(0,0,0,.24);
}
.hero-cta {
  position: relative;
  overflow: hidden;
  animation: heroPulse 2.6s ease-in-out infinite;
}
.hero-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.16), transparent);
  transform: translateX(-120%);
  transition: transform .75s ease;
}
.hero-cta:hover::after { transform: translateX(120%); }
.ai-fab {
  animation: aiGlow 2.5s ease-in-out infinite;
}
@keyframes floatPulse {
  0%,100% { transform: translateY(0); box-shadow: 0 16px 34px rgba(15,23,42,.18); }
  50% { transform: translateY(-4px); box-shadow: 0 20px 42px rgba(37,99,235,.25); }
}
@keyframes heroPulse {
  0%,100% { box-shadow: 0 14px 34px rgba(15,23,42,.16); }
  50% { box-shadow: 0 18px 42px rgba(59,130,246,.22); }
}
@keyframes aiGlow {
  0%,100% { box-shadow: 0 18px 42px rgba(59,130,246,.34); }
  50% { box-shadow: 0 24px 54px rgba(99,102,241,.46); }
}
.home-unified-bg {
  background:
    radial-gradient(circle at top, rgba(59,130,246,.10), transparent 32%),
    linear-gradient(180deg, #f8fafc 0%, #eef4fb 28%, #eff5fb 58%, #edf3fa 100%);
}
.dark .home-unified-bg {
  background:
    radial-gradient(circle at top, rgba(59,130,246,.14), transparent 34%),
    linear-gradient(180deg, #071120 0%, #08162b 40%, #0a1626 100%);
}
.light-panel {
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(238,246,255,.92));
  border: 1px solid rgba(148,163,184,.22);
  box-shadow: 0 24px 60px rgba(15,23,42,.08);
}
.dark .light-panel {
  background: linear-gradient(135deg, #08152f, #0a1b3d 58%, #09142a);
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 25px 80px rgba(2,12,27,.45);
}
.light-soft-card {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(148,163,184,.26);
  box-shadow: 0 16px 38px rgba(15,23,42,.08);
  backdrop-filter: blur(10px);
}
.dark .light-soft-card {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 16px 38px rgba(0,0,0,.16);
}
.light-footer {
  background: linear-gradient(180deg, #eef4fb 0%, #e7eef8 100%);
  color: #0f172a;
  border-top: 1px solid rgba(148,163,184,.18);
}
.dark .light-footer {
  background: #081120;
  color: #fff;
  border-top-color: rgba(255,255,255,.08);
}
@media (max-width: 768px) {
  .mobile-fab-stack {
    bottom: 10px !important;
    right: 10px !important;
    gap: 8px !important;
    max-width: calc(100vw - 20px);
  }
  .mobile-fab-stack > .fab-links {
    gap: 6px !important;
    margin-right: 0 !important;
  }
  .mobile-fab-link {
    border-radius: 16px !important;
    padding: 8px 10px !important;
    min-height: 46px;
    box-shadow: 0 10px 22px rgba(15,23,42,.16) !important;
  }
  .mobile-fab-link span.icon-wrap {
    width: 30px !important;
    height: 30px !important;
    border-radius: 12px !important;
    flex: 0 0 30px;
  }
  .mobile-fab-link span.icon-wrap i {
    font-size: 13px !important;
  }
  .mobile-fab-link strong {
    font-size: 12px !important;
    line-height: 1.1 !important;
  }
  .mobile-fab-link small {
    font-size: 10px !important;
    line-height: 1.1 !important;
    margin-top: 2px;
  }
  .mobile-ai-fab {
    width: 52px !important;
    height: 52px !important;
    border-radius: 18px !important;
  }
  .mobile-ai-fab i {
    font-size: 18px !important;
  }
}

    
/* --- Korumalı uyumluluk düzeltmesi: yapı bozulmadan mobil/tablet/PC stabilizasyonu --- */
html, body, #root { width: 100%; min-width: 0; }
body { overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; }
img, video, iframe, canvas, svg { max-width: 100%; }
button, a, input, textarea, select { max-width: 100%; }
.v4-safe-wrap, .page-transition { max-width: 100%; overflow-x: clip; }
@supports not (overflow: clip) {
  .v4-safe-wrap, .page-transition { overflow-x: hidden; }
}
@media (max-width: 1024px) {
  .max-w-7xl, .max-w-6xl, .max-w-5xl, .max-w-4xl { max-width: calc(100vw - 24px) !important; }
  .grid { min-width: 0; }
  .grid > *, .flex > * { min-width: 0; }
}
@media (max-width: 768px) {
  body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  h1 { font-size: clamp(2rem, 9vw, 3.15rem) !important; line-height: 1.06 !important; overflow-wrap: anywhere; }
  h2 { font-size: clamp(1.65rem, 7vw, 2.35rem) !important; line-height: 1.12 !important; overflow-wrap: anywhere; }
  h3 { overflow-wrap: anywhere; }
  p, span, strong, small, li, a, button { overflow-wrap: anywhere; }
  table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .mobile-fab-stack {
    left: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    max-width: calc(100vw - 16px) !important;
    align-items: stretch !important;
  }
  .mobile-fab-stack > .fab-links {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }
  .mobile-fab-link {
    width: 100% !important;
    justify-content: flex-start !important;
  }
  .mobile-ai-fab {
    position: fixed !important;
    right: 12px !important;
    bottom: 12px !important;
  }
}
@media (min-width: 769px) and (max-width: 1180px) {
  .mobile-fab-stack { right: 14px !important; bottom: 14px !important; }
  .mobile-fab-link { padding: 10px 12px !important; }
}

    
/* Ölçülü hareket ve dokunmatik kullanım */
html{scroll-padding-top:96px} body{overflow-wrap:break-word} img{max-width:100%}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #38bdf8;outline-offset:4px}
@keyframes siteArrive{from{transform:translateY(14px)}to{transform:translateY(0)}}
.site-reveal.site-revealed{animation:siteArrive .55s ease-out both}
@media(hover:hover) and (pointer:fine){.site-reveal article{transition:transform .2s,box-shadow .2s}.site-reveal article:hover{transform:translateY(-3px);box-shadow:0 12px 30px #2563eb12}}
@media(max-width:767px){input,select,textarea{font-size:max(16px,1em)}header button{min-width:44px;min-height:44px}header .nav-btn{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

@media(min-width:1280px){header nav .nav-btn{padding:.55rem .35rem;font-size:13px;white-space:nowrap}header nav{gap:.4rem}header nav>*+*{margin-left:0!important}header nav .border-l{padding-left:.55rem}header>div>div:first-child{flex-shrink:0;margin-right:1rem}}

/* Mobilde içerik üzerini kaplamayan, erişilebilir hızlı işlem araçları */
@media(max-width:768px){
 .mobile-fab-stack{left:auto!important;right:12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important;flex-direction:row!important;align-items:center!important;gap:8px!important;width:auto!important}
 .mobile-fab-stack>.fab-links{display:flex!important;flex-direction:row!important;gap:8px!important;width:auto!important}
 .mobile-fab-link{width:48px!important;height:48px!important;padding:4px!important;min-height:48px!important;justify-content:center!important}
 .mobile-fab-link span.icon-wrap{width:38px!important;height:38px!important;flex:0 0 38px!important}
 .mobile-fab-link span.icon-wrap i{font-size:18px!important}
 .mobile-fab-link span.text-left{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
 .mobile-ai-fab{position:relative!important;bottom:auto!important;right:auto!important;width:48px!important;height:48px!important;margin:0!important}
 .mobile-fab-stack>.ai-chat-window{position:fixed!important;right:12px!important;left:12px!important;bottom:76px!important;width:auto!important;max-height:calc(100dvh - 100px)!important}
}
