/*
 * Yeni animasyon stilleri (ROADMAP.md, Faz 1–2). Tema dosyalarına dokunulmaz; burada yalnızca it- önekli sınıflar var.
 * Renkler temadan: #437eeb (ana mavi), #313e5b (lacivert), #eff1fe / #dee2fb (açık zemin ve çizgi).
 */

/* Ana sayfa hero: dağınık veri → AI agent → grafik */
.it-agent-viz { max-width: 600px; margin: 0 auto; }
.it-agent-viz svg { display: block; width: 100%; height: auto; overflow: visible; }
.it-agent-panel { fill: #ffffff; stroke: #dee2fb; stroke-width: 1.5; filter: drop-shadow(0 18px 40px rgba(49, 62, 91, 0.10)); }
.it-agent-axes line { stroke: #eff1fe; stroke-width: 1.5; }
.it-agent-axes .it-agent-baseline { stroke: #dee2fb; stroke-width: 2; }
.it-agent-dot { transition: fill 0.35s ease; }
.it-agent-noise { font-family: Consolas, "Courier New", monospace; font-size: 13px; fill: #9aa3bd; }
.it-agent-link { stroke: #437eeb; stroke-width: 1.5; stroke-opacity: 0.55; }
.it-agent-trend { fill: none; stroke: #313e5b; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.it-agent-mark { fill: #ffffff; stroke: #313e5b; stroke-width: 3; }
.it-agent-badge { fill: #313e5b; }
.it-agent-badge-text { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 14px; fill: #ffffff; }
.it-agent-label { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 13px; fill: #ffffff; text-anchor: middle; }
.it-agent-halo { fill: #437eeb; fill-opacity: 0.12; transform-box: fill-box; transform-origin: center; animation: it-pulse 2.4s ease-in-out infinite; }
.it-agent-orbit { fill: none; stroke: #437eeb; stroke-width: 2; stroke-dasharray: 6 8; transform-box: fill-box; transform-origin: center; animation: it-spin 6s linear infinite; }


.it-agent-steps { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 16px 0 0; }
.it-agent-steps span {
  font-family: 'Lato', sans-serif; font-weight: 700; font-size: 13px; line-height: 30px; padding: 0 14px;
  border-radius: 15px; background: #eff1fe; color: #8a94ad; transition: background 0.3s ease, color 0.3s ease;
}
.it-agent-steps span.is-done { color: #437eeb; }
.it-agent-steps span.is-active { background: #437eeb; color: #ffffff; }

@keyframes it-spin { to { transform: rotate(360deg); } }
@keyframes it-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.25); } }

@media (prefers-reduced-motion: reduce) {
  .it-agent-halo, .it-agent-orbit { animation: none; }
  .it-agent-dot, .it-agent-steps span { transition: none; }
}

/* Ana sayfa "Query tuning" bölümü (ROADMAP.md, B1) */
.it-q-term {
  background: #1f2840; border-radius: 14px; overflow: hidden; color: #d7def0;
  box-shadow: 0 18px 40px rgba(49, 62, 91, 0.18); transition: opacity 0.4s ease;
  font-family: Consolas, "Courier New", monospace; font-size: 14px;
}
.it-q-bar { display: flex; align-items: center; gap: 6px; padding: 10px 14px; background: #313e5b; }
.it-q-bar i { width: 10px; height: 10px; border-radius: 50%; background: #525f81; }
.it-q-bar span { margin-left: 8px; color: #aab4cf; font-size: 13px; }
.it-q-bar em { margin-left: auto; font-style: normal; font-size: 12px; padding: 2px 10px; border-radius: 10px; background: #525f81; color: #fff; }
.it-q-bar em.is-busy { background: #f59f3a; }
.it-q-bar em.is-ok { background: #2fbf8f; }
.it-q-code { margin: 0; padding: 16px 18px 6px; min-height: 120px; color: #d7def0; font: inherit; white-space: pre-wrap; background: none; border: 0; }
.it-q-kw { color: #7aa5f3; font-weight: 700; }
.it-q-fn { color: #22b8cf; }
.it-q-bind { color: #f59f3a; }
.it-q-caret { display: inline-block; width: 8px; height: 16px; margin-left: 1px; vertical-align: -3px; background: #7aa5f3; animation: it-blink 1s steps(1) infinite; }
.it-q-out { padding: 6px 18px 18px; min-height: 196px; }
.it-q-run { display: grid; grid-template-columns: 56px 1fr auto; align-items: center; gap: 4px 10px; padding: 8px 0; transition: opacity 0.3s ease; }
.it-q-label { font-size: 12px; color: #8a94ad; text-transform: uppercase; letter-spacing: 0.05em; }
.it-q-plan { font-size: 13px; }
.it-q-time { font-weight: 700; font-variant-numeric: tabular-nums; }
.it-q-progress { grid-column: 2 / 4; height: 4px; border-radius: 2px; background: #313e5b; overflow: hidden; }
.it-q-progress b { display: block; height: 100%; }
.it-q .is-bad { color: #ff8a7a; }
.it-q .is-ok { color: #5fd8a8; }
.it-q-progress b.is-bad { background: #ff8a7a; }
.it-q-progress b.is-ok { background: #5fd8a8; }
.it-q-steps { list-style: none; margin: 6px 0; padding: 0; min-height: 78px; }
.it-q-steps li { padding: 2px 0; color: #d7def0; }
.it-q-check { color: #5fd8a8; font-weight: 700; margin-right: 4px; }

.it-q-result { margin-bottom: 20px; }
.it-q-result-head { display: flex; justify-content: space-between; font-family: 'Lato', sans-serif; font-weight: 700; color: #313e5b; margin-bottom: 6px; }
.it-q-result-head strong { color: #2fbf8f; }
.it-q-track { height: 12px; border-radius: 6px; background: #eff1fe; overflow: hidden; }
.it-q-track b { display: block; height: 100%; border-radius: 6px; background: #b8c0d6; transition: background 0.4s ease; }
.it-q-track b.is-ok { background: #437eeb; }
.it-q-result-foot { display: flex; justify-content: space-between; font-size: 14px; color: #8a94ad; margin-top: 6px; }
.it-q-links { display: flex; gap: 24px; flex-wrap: wrap; }

@keyframes it-blink { 50% { opacity: 0; } }
@media (max-width: 575px) { .it-q-term { font-size: 12.5px; } .it-q-run { grid-template-columns: 48px 1fr auto; } }
@media (prefers-reduced-motion: reduce) {
  .it-q-caret { animation: none; }
  .it-q-term, .it-q-run, .it-q-track b { transition: none; }
}

/* Ana sayfa "What we do" kart ikonları (ROADMAP.md, A1) */
.it-glyph { display: block; margin-bottom: 15px; overflow: visible; }
.it-glyph-bg { fill: #eff1fe; transition: fill 0.4s ease; }
.xamin-services:hover .it-glyph-bg { fill: #dee2fb; }
.it-glyph-solid { fill: #437eeb; }
.it-glyph-mid { fill: #7aa5f3; }
.it-glyph-low { fill: #313e5b; }
.it-glyph-top { fill: #7aa5f3; }
.it-glyph-ring { fill: none; stroke: #ffffff; stroke-width: 1.6; stroke-opacity: 0.6; }
.it-glyph-pulse { fill: none; stroke: #2fbf8f; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 60 80; animation: it-glyph-pulse 2.4s linear infinite; }
.it-glyph-pipe { stroke: #c9d5f3; stroke-width: 4; stroke-linecap: round; }
.it-glyph-flow { fill: #437eeb; animation: it-glyph-flow 1.8s ease-in infinite; }
.it-glyph-shield { fill: none; stroke: #313e5b; stroke-width: 2.4; stroke-linejoin: round; }
.it-glyph-dot { fill: #ffffff; animation: it-glyph-typing 1.2s ease-in-out infinite; }
.it-glyph-fan { transform-box: fill-box; transform-origin: center; animation: it-spin 1.6s linear infinite; }
.it-glyph-hub { fill: #313e5b; }
.it-glyph-blade { stroke: #ffffff; stroke-width: 2.4; stroke-linecap: round; }
.it-glyph-slot { fill: #313e5b; animation: it-glyph-slot 2.4s ease-in-out infinite; }
.it-glyph-pins { stroke: #7aa5f3; stroke-width: 2.4; }
.it-glyph .it-d1 { animation-delay: 0.3s; }
.it-glyph .it-d2 { animation-delay: 0.6s; }
.it-glyph .it-d3 { animation-delay: 0.9s; }
.it-glyph-flow.it-d1 { animation-delay: 0.6s; }
.it-glyph-flow.it-d2 { animation-delay: 1.2s; }
/* Üzerine gelince biraz hızlanır */
.xamin-services:hover .it-glyph-fan { animation-duration: 0.6s; }
.xamin-services:hover .it-glyph-pulse { animation-duration: 1.2s; }

@keyframes it-glyph-pulse { from { stroke-dashoffset: 140; } to { stroke-dashoffset: 0; } }
@keyframes it-glyph-flow { 0% { transform: translateX(0); opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translateX(26px); opacity: 0; } }
@keyframes it-glyph-typing { 0%, 60%, 100% { transform: translateY(0); opacity: 0.55; } 30% { transform: translateY(-2.5px); opacity: 1; } }
@keyframes it-glyph-slot { 0%, 100% { fill: #313e5b; } 40%, 60% { fill: #5fd8a8; } }

/* Ana sayfa rakamları (ROADMAP.md, A2) */
.it-fig-mark { display: block; width: 80px; height: 44px; margin: 0 auto 6px; overflow: visible; }
.it-figure-value { font-variant-numeric: tabular-nums; }
.it-fig-tick { fill: #dee2fb; transition: fill 0.4s ease; }
.is-in .it-fig-tick { fill: #437eeb; }
.it-fig-node { opacity: 0; transition: opacity 0.5s ease; }
.it-fig-node line { stroke: #c9d5f3; stroke-width: 1.6; }
.it-fig-node circle { fill: #437eeb; }
.is-in .it-fig-node { opacity: 1; }
.it-fig-core { fill: #313e5b; }
.it-fig-hour { stroke: #dee2fb; stroke-width: 2; stroke-linecap: round; transition: stroke 0.4s ease; }
.is-in .it-fig-hour { stroke: #437eeb; }
.it-fig-hand line { stroke: #2fbf8f; stroke-width: 2.4; stroke-linecap: round; }
.it-fig-hand circle { fill: #313e5b; }
.it-fig-hand { animation: it-spin 6s linear infinite; }

@media (prefers-reduced-motion: reduce) {
  .it-glyph *, .it-fig-hand { animation: none !important; }
  .it-fig-tick, .it-fig-node, .it-fig-hour { transition: none; }
}

/* Ana sayfa proje kartları: teknoloji etiketleri veri hattı gibi (ROADMAP.md, A3) */
.it-pipeline { display: flex; flex-wrap: wrap; align-items: center; }
.it-pipeline .it-tag { position: relative; margin-right: 24px; animation: it-pipe-glow 4s ease-in-out infinite; }
.it-pipeline .it-tag:last-child { margin-right: 0; }
.it-pipeline .it-tag:not(:last-child)::after {
  content: ""; position: absolute; top: 50%; right: -20px; width: 16px; height: 2px; margin-top: -1px;
  background: repeating-linear-gradient(90deg, #437eeb 0 4px, transparent 4px 8px);
  background-size: 8px 2px; opacity: 0.55; animation: it-pipe-dash 0.8s linear infinite;
}
.it-pipeline .it-tag:nth-child(2) { animation-delay: 0.5s; }
.it-pipeline .it-tag:nth-child(3) { animation-delay: 1s; }
.it-pipeline .it-tag:nth-child(4) { animation-delay: 1.5s; }
.it-pipeline .it-tag:nth-child(5) { animation-delay: 2s; }
.it-project:hover .it-pipeline .it-tag:not(:last-child)::after { opacity: 1; }
@keyframes it-pipe-glow {
  0%, 24%, 100% { background: #f8fafe; color: #525f81; border-color: #e3e9f7; }
  8%, 14% { background: #eaf1ff; color: #437eeb; border-color: #437eeb; }
}
@keyframes it-pipe-dash { to { background-position: 8px 0; } }

/* Ana sayfa "Private AI" sahnesi (ROADMAP.md, B2) — 8 sn döngü */
.it-pai { max-width: 600px; margin: 0 auto; }
.it-pai svg { display: block; width: 100%; height: auto; overflow: visible; }
.it-pai.is-paused * { animation-play-state: paused !important; }
.it-pai-zone { fill: #ffffff; stroke: #437eeb; stroke-width: 2; stroke-dasharray: 8 7; filter: drop-shadow(0 18px 40px rgba(49, 62, 91, 0.10)); }
.it-pai-zone-label { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 14px; fill: #437eeb; }
.it-pai-label { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 13px; fill: #313e5b; text-anchor: middle; }
.it-pai-muted { fill: #8a94ad; }
.it-pai-user { fill: #437eeb; }
.it-pai-tower { fill: #313e5b; }
.it-pai-led { fill: #525f81; animation: it-pai-led 8s ease-in-out infinite; }
.it-pai-led-1 { animation-delay: 0.08s; }
.it-pai-led-2 { animation-delay: 0.16s; }
.it-pai-led-3 { animation-delay: 0.24s; }
.it-pai-db path { fill: #7aa5f3; }
.it-pai-db ellipse { fill: #437eeb; }
.it-pai-db .it-pai-db-ring { fill: none; stroke: #ffffff; stroke-opacity: 0.6; stroke-width: 1.6; }
.it-pai-cloud { fill: #eff1fe; stroke: #c9d5f3; stroke-width: 2; }
.it-pai-bubble rect { fill: #313e5b; }
.it-pai-bubble text { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 15px; fill: #ffffff; text-anchor: middle; }
.it-pai-answer rect { fill: #2fbf8f; }
.it-pai-ask { animation: it-pai-ask 8s ease-in-out infinite; }
.it-pai-answer { opacity: 0; animation: it-pai-answer 8s ease-in-out infinite; }
.it-pai-pkt { opacity: 0; }
.it-pai-q { fill: #437eeb; animation: it-pai-q 8s ease-in-out infinite; }
.it-pai-d1 { fill: #22b8cf; animation: it-pai-d1 8s ease-in-out infinite; }
.it-pai-d2 { fill: #22b8cf; animation: it-pai-d2 8s ease-in-out infinite; }
.it-pai-a { fill: #2fbf8f; animation: it-pai-a 8s ease-in-out infinite; }
.it-pai-leak { fill: #f59f3a; animation: it-pai-leak 8s ease-in infinite; }
.it-pai-block circle { fill: #ffffff; stroke: #ff6b5a; stroke-width: 2.5; }
.it-pai-block path { stroke: #ff6b5a; stroke-width: 2.8; stroke-linecap: round; }
.it-pai-block { opacity: 0.35; animation: it-pai-block 8s ease-out infinite; }

@keyframes it-pai-ask { 0%, 18% { opacity: 1; } 24%, 100% { opacity: 0; } }
@keyframes it-pai-answer { 0%, 64% { opacity: 0; } 68%, 94% { opacity: 1; } 98%, 100% { opacity: 0; } }
@keyframes it-pai-q { 0% { opacity: 0; transform: translateX(0); } 3% { opacity: 1; transform: translateX(0); } 15% { opacity: 1; transform: translateX(66px); } 17%, 100% { opacity: 0; transform: translateX(66px); } }
@keyframes it-pai-d1 { 0%, 29% { opacity: 0; transform: translateX(0); } 31% { opacity: 1; transform: translateX(0); } 40% { opacity: 1; transform: translateX(54px); } 42%, 100% { opacity: 0; transform: translateX(54px); } }
@keyframes it-pai-d2 { 0%, 41% { opacity: 0; transform: translateX(0); } 43% { opacity: 1; transform: translateX(0); } 52% { opacity: 1; transform: translateX(-54px); } 54%, 100% { opacity: 0; transform: translateX(-54px); } }
@keyframes it-pai-a { 0%, 54% { opacity: 0; transform: translateX(0); } 56% { opacity: 1; transform: translateX(0); } 66% { opacity: 1; transform: translateX(-66px); } 68%, 100% { opacity: 0; transform: translateX(-66px); } }
@keyframes it-pai-leak { 0%, 71% { opacity: 0; transform: translate(0, 0); } 73% { opacity: 1; transform: translate(0, 0); } 83% { opacity: 1; transform: translate(142px, -27px); } 88% { opacity: 0; transform: translate(126px, -24px); } 100% { opacity: 0; transform: translate(126px, -24px); } }
@keyframes it-pai-block { 0%, 81% { opacity: 0.35; } 85%, 92% { opacity: 1; } 100% { opacity: 0.35; } }
@keyframes it-pai-led { 0%, 15%, 31%, 48%, 57%, 100% { fill: #525f81; } 18%, 28%, 50%, 55% { fill: #5fd8a8; } }

.it-pai-points { list-style: none; padding: 0; margin: 0 0 20px; }
.it-pai-points li { position: relative; padding-left: 26px; margin-bottom: 10px; }
.it-pai-points li::before { content: ""; position: absolute; left: 0; top: 7px; width: 14px; height: 14px; border-radius: 50%; background: #437eeb; box-shadow: inset 0 0 0 4px #eaf1ff; }
.it-pai-points strong { color: #313e5b; }

@media (prefers-reduced-motion: reduce) {
  .it-pipeline .it-tag, .it-pipeline .it-tag::after { animation: none; }
  .it-pai * { animation: none !important; }
  .it-pai-answer, .it-pai-block { opacity: 1; }
  .it-pai-ask { opacity: 0; }
}

/* Ana sayfa partner takımyıldızı (ROADMAP.md, D1) */
.it-con { display: block; width: 100%; height: auto; overflow: visible; }
.it-con-line { stroke: #437eeb; stroke-width: 1.8; stroke-dasharray: 3 9; stroke-opacity: 0.5; animation: it-con-flow 1.2s linear infinite; }
.it-con-pill { fill: #ffffff; stroke: #dee2fb; stroke-width: 1.5; animation: it-con-glow 7s ease-in-out infinite; }
.it-con-name { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 15px; fill: #313e5b; text-anchor: middle; }
.it-con-core { fill: #437eeb; }
.it-con-core-text { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 14px; fill: #ffffff; text-anchor: middle; }
.it-con-halo { fill: #437eeb; fill-opacity: 0.14; transform-box: fill-box; transform-origin: center; animation: it-pulse 2.6s ease-in-out infinite; }
.it-con-node:hover .it-con-pill { stroke: #437eeb; }
.it-con-node:hover .it-con-line { stroke-opacity: 1; }
@keyframes it-con-flow { to { stroke-dashoffset: -12; } }
@keyframes it-con-glow {
  0%, 16%, 100% { stroke: #dee2fb; fill: #ffffff; }
  5%, 10% { stroke: #437eeb; fill: #eaf1ff; }
}

/* Ana sayfa iletişim bandı: sohbet önizlemesi (ROADMAP.md, D2) — 9 sn döngü, yalnızca geniş ekranda */
.it-cta-chat { display: flex; flex-direction: column; gap: 8px; font-family: 'Lato', sans-serif; font-size: 14px; line-height: 1.4; }
.it-cta-msg { max-width: 92%; padding: 9px 14px; border-radius: 16px; opacity: 0; }
.it-cta-msg-user { align-self: flex-end; background: rgba(255, 255, 255, 0.18); color: #ffffff; border-bottom-right-radius: 4px; animation: it-cta-user 9s ease-in-out infinite; }
.it-cta-msg-bot { align-self: flex-start; background: #ffffff; color: #313e5b; font-weight: 700; border-bottom-left-radius: 4px; animation: it-cta-bot 9s ease-in-out infinite; }
.it-cta-typing { align-self: flex-start; display: flex; gap: 4px; padding: 12px 14px; border-radius: 16px; border-bottom-left-radius: 4px; background: #ffffff; opacity: 0; animation: it-cta-typing 9s ease-in-out infinite; }
.it-cta-typing i { width: 6px; height: 6px; border-radius: 50%; background: #437eeb; animation: it-glyph-typing 1.2s ease-in-out infinite; }
.it-cta-typing i:nth-child(2) { animation-delay: 0.2s; }
.it-cta-typing i:nth-child(3) { animation-delay: 0.4s; }
@keyframes it-cta-user { 0%, 92% { opacity: 1; transform: none; } 96% { opacity: 0; transform: translateY(6px); } 100% { opacity: 1; transform: none; } }
@keyframes it-cta-typing { 0%, 16% { opacity: 0; } 20%, 36% { opacity: 1; } 40%, 100% { opacity: 0; } }
@keyframes it-cta-bot { 0%, 38% { opacity: 0; transform: translateY(6px); } 43%, 90% { opacity: 1; transform: none; } 96%, 100% { opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  .it-con-line, .it-con-pill, .it-con-halo { animation: none; }
  .it-cta-msg, .it-cta-typing, .it-cta-typing i { animation: none; }
  .it-cta-msg { opacity: 1; }
}

/* Sayfa bütünlüğü düzenlemesi (5 Kasım 2026): yeni bölümler sitenin ortalı başlık yapısını kullanır */
.it-q-lead { font-size: 1.05em; line-height: 1.75; margin-bottom: 26px; }
.xamin-gray-bg .it-q-track { background: #e3e9f7; }
.it-con-wrap { max-width: 820px; margin: 0 auto; }
/* İletişim bandı sohbeti: sabit yükseklikli, dikeyde ortalı küçük panel */
.it-cta-chat { min-height: 132px; justify-content: center; padding: 14px 16px; border-radius: 18px; background: rgba(255, 255, 255, 0.10); font-size: 15px; }
.it-cta-msg { max-width: 100%; }

/* Telefon düzeltmeleri (5 Kasım 2026) */
@media (max-width: 575px) {
  /* Proje etiketleri iki satıra kayınca boşta kalan bağlantı çizgisi olmasın; sırayla yanma kalır */
  .it-pipeline .it-tag { margin-right: 6px; }
  .it-pipeline .it-tag:not(:last-child)::after { content: none; }
  /* Dikey Private AI sahnesinde yazılar biraz daha büyük */
  .it-pai-v .it-pai-label { font-size: 15px; }
  .it-pai-v .it-pai-zone-label { font-size: 16px; }
  .it-pai { max-width: 360px; }
}
.it-pai-label-side { text-anchor: start; }
/* Dikey sahnenin paket hareketleri (zamanlama yatay sahneyle aynı, 8 sn) */
.it-paiv-q { fill: #437eeb; animation: it-paiv-q 8s ease-in-out infinite; }
.it-paiv-a { fill: #2fbf8f; animation: it-paiv-a 8s ease-in-out infinite; }
.it-paiv-d1 { fill: #22b8cf; animation: it-paiv-d1 8s ease-in-out infinite; }
.it-paiv-d2 { fill: #22b8cf; animation: it-paiv-d2 8s ease-in-out infinite; }
.it-paiv-leak { fill: #f59f3a; animation: it-paiv-leak 8s ease-in infinite; }
@keyframes it-paiv-q { 0% { opacity: 0; transform: translateY(0); } 3% { opacity: 1; transform: translateY(0); } 15% { opacity: 1; transform: translateY(48px); } 17%, 100% { opacity: 0; transform: translateY(48px); } }
@keyframes it-paiv-d1 { 0%, 29% { opacity: 0; transform: translateY(0); } 31% { opacity: 1; transform: translateY(0); } 40% { opacity: 1; transform: translateY(48px); } 42%, 100% { opacity: 0; transform: translateY(48px); } }
@keyframes it-paiv-d2 { 0%, 41% { opacity: 0; transform: translateY(0); } 43% { opacity: 1; transform: translateY(0); } 52% { opacity: 1; transform: translateY(-48px); } 54%, 100% { opacity: 0; transform: translateY(-48px); } }
@keyframes it-paiv-a { 0%, 54% { opacity: 0; transform: translateY(0); } 56% { opacity: 1; transform: translateY(0); } 66% { opacity: 1; transform: translateY(-48px); } 68%, 100% { opacity: 0; transform: translateY(-48px); } }
@keyframes it-paiv-leak { 0%, 71% { opacity: 0; transform: translate(0, 0); } 73% { opacity: 1; transform: translate(0, 0); } 83% { opacity: 1; transform: translate(32px, 166px); } 88% { opacity: 0; transform: translate(29px, 150px); } 100% { opacity: 0; transform: translate(29px, 150px); } }

/* Telefon/tablet menüsü (components/MobileNav.tsx). Yalnızca 992px altında; masaüstü menüsü temada aynen kalır. */
.it-burger {
  margin-left: auto; width: 46px; height: 46px; border: 0; border-radius: 14px; background: #437eeb;
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 0;
  box-shadow: 0 8px 20px rgba(67, 126, 235, 0.30); transition: background 0.2s ease, transform 0.2s ease; cursor: pointer;
}
.it-burger span { display: block; width: 20px; height: 2px; border-radius: 2px; background: #ffffff; transition: transform 0.3s ease, opacity 0.2s ease, width 0.3s ease; }
.it-burger span:nth-child(2) { width: 14px; margin-left: 6px; }
.it-burger:hover { background: #313e5b; }
.it-burger:active { transform: scale(0.94); }
.it-burger:focus-visible { outline: 2px solid #313e5b; outline-offset: 3px; }
.it-burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.it-burger.is-open span:nth-child(2) { opacity: 0; }
.it-burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.it-mnav { display: none; }
@media (max-width: 991px) {
  .it-mnav { display: block; position: fixed; inset: 0; z-index: 1100; pointer-events: none; }
  .it-mnav.is-open { pointer-events: auto; }
}
.it-mnav-backdrop {
  position: absolute; inset: 0; background: rgba(31, 40, 64, 0.45); opacity: 0;
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); transition: opacity 0.3s ease;
}
.it-mnav.is-open .it-mnav-backdrop { opacity: 1; }
.it-mnav-panel {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(88vw, 400px); background: #ffffff;
  display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain;
  transform: translateX(100%); transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
  box-shadow: none; border-radius: 22px 0 0 22px; /* kapalıyken gölge ekrana sızmasın */
}
.it-mnav.is-open .it-mnav-panel { transform: none; box-shadow: -20px 0 50px rgba(31, 40, 64, 0.18); }

.it-mnav-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px 14px; border-bottom: 1px solid #eff1fe; }
.it-mnav-logo img { height: 42px; width: auto; display: block; }
.it-mnav-close {
  width: 42px; height: 42px; border: 0; border-radius: 12px; background: #eff1fe; color: #313e5b;
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.2s ease;
}
.it-mnav-close:hover { background: #dee2fb; }
.it-mnav-close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.it-mnav-close:focus-visible, .it-mnav-exp:focus-visible { outline: 2px solid #437eeb; outline-offset: 2px; }

.it-mnav-list { list-style: none; margin: 0; padding: 10px 12px; }
.it-mnav-list li { list-style: none; }
.it-mnav-item { opacity: 0; transform: translateX(16px); transition: opacity 0.3s ease, transform 0.3s ease; }
.it-mnav.is-open .it-mnav-item { opacity: 1; transform: none; }
.it-mnav-item > a, .it-mnav-row > a {
  display: flex; align-items: center; justify-content: space-between; flex: 1;
  padding: 14px 14px; border-radius: 14px; font-family: 'Lato', sans-serif; font-weight: 700; font-size: 17px;
  color: #313e5b; text-decoration: none; transition: background 0.2s ease, color 0.2s ease;
}
.it-mnav-item > a:hover, .it-mnav-row > a:hover { background: #f5f7fe; color: #437eeb; }
.it-mnav-list a.is-active { background: #eaf1ff; color: #437eeb; }
.it-mnav-arrow { width: 18px; height: 18px; fill: none; stroke: #b8c0d6; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.2s ease, stroke 0.2s ease; }
.it-mnav-item > a:hover .it-mnav-arrow, .it-mnav-item > a.is-active .it-mnav-arrow { stroke: #437eeb; transform: translateX(3px); }

.it-mnav-row { display: flex; align-items: center; gap: 6px; }
.it-mnav-exp {
  flex: none; width: 46px; height: 46px; border: 0; border-radius: 12px; background: #f5f7fe; color: #313e5b;
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.2s ease;
}
.it-mnav-exp svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.3s ease; }
.it-mnav-exp.is-open { background: #437eeb; color: #ffffff; }
.it-mnav-exp.is-open svg { transform: rotate(180deg); }
/* Akordeon: grid 0fr → 1fr ile içerik yüksekliği kadar yumuşak açılır */
.it-mnav-sub { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.35s ease; }
.it-mnav-sub.is-open { grid-template-rows: 1fr; }
.it-mnav-sub > ul { overflow: hidden; min-height: 0; list-style: none; margin: 0; padding: 0 0 0 14px; }
.it-mnav-sub li:first-child { margin-top: 4px; }
.it-mnav-sub li:last-child { margin-bottom: 8px; }
.it-mnav-sub a {
  display: block; padding: 10px 14px; margin-left: 4px; border-left: 2px solid #eff1fe; border-radius: 0 10px 10px 0;
  font-size: 15px; color: #525f81; text-decoration: none; transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.it-mnav-sub a:hover { background: #f5f7fe; color: #437eeb; border-left-color: #c9d5f3; }
.it-mnav-sub a.is-active { border-left-color: #437eeb; font-weight: 700; }

.it-mnav-foot { margin-top: auto; padding: 18px 20px 26px; border-top: 1px solid #eff1fe; display: flex; flex-direction: column; gap: 6px; }
.it-mnav-cta {
  display: block; text-align: center; padding: 14px 18px; margin-bottom: 8px; border-radius: 14px;
  background: #313e5b; color: #ffffff !important; font-family: 'Lato', sans-serif; font-weight: 700; font-size: 16px;
  text-decoration: none; transition: background 0.2s ease;
}
.it-mnav-cta:hover { background: #437eeb; }
.it-mnav-contact { display: flex; align-items: center; gap: 10px; padding: 6px 2px; font-size: 15px; color: #525f81; text-decoration: none; word-break: break-all; }
.it-mnav-contact:hover { color: #437eeb; }
.it-mnav-contact svg { flex: none; width: 18px; height: 18px; fill: none; stroke: #437eeb; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

@media (prefers-reduced-motion: reduce) {
  .it-burger span, .it-mnav-backdrop, .it-mnav-panel, .it-mnav-item, .it-mnav-sub, .it-mnav-exp svg { transition: none; }
}

/* /dba-services/ proaktif izleme paneli (components/motion/DbMonitor.tsx, ROADMAP.md C2) */
.it-mon {
  background: #ffffff; border: 1px solid #dee2fb; border-radius: 18px; overflow: hidden;
  box-shadow: 0 18px 40px rgba(49, 62, 91, 0.10); font-family: 'Lato', sans-serif;
}
.it-mon-bar { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-bottom: 1px solid #eff1fe; }
.it-mon-db { font-weight: 900; color: #313e5b; }
.it-mon-sub { font-size: 13px; color: #8a94ad; }
.it-mon-status { margin-left: auto; font-style: normal; font-weight: 700; font-size: 12px; padding: 3px 12px; border-radius: 12px; color: #ffffff; transition: background 0.3s ease; }
.it-mon-status.is-healthy { background: #437eeb; }
.it-mon-status.is-alert { background: #ff6b5a; animation: it-mon-blink 1s ease-in-out infinite; }
.it-mon-status.is-ok { background: #2fbf8f; }
.it-mon-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 16px 18px 6px; }
.it-mon-tile { position: relative; padding: 12px 14px 14px; border-radius: 12px; background: #f5f7fe; overflow: hidden; transition: background 0.3s ease; }
.it-mon-tile span { display: block; font-size: 12px; color: #8a94ad; }
.it-mon-tile strong { display: block; font-size: 22px; font-weight: 900; color: #313e5b; font-variant-numeric: tabular-nums; }
.it-mon-tile i { position: absolute; left: 0; bottom: 0; height: 3px; background: #437eeb; transition: width 0.3s ease; }
.it-mon-tile.is-alert { background: #fff0ee; }
.it-mon-tile.is-alert strong { color: #e5533f; }
.it-mon-chart { display: block; width: 100%; height: 190px; padding: 0 10px; }
.it-mon-grid { stroke: #eff1fe; stroke-width: 1; vector-effect: non-scaling-stroke; }
.it-mon-line { fill: none; stroke: #437eeb; stroke-width: 2.5; stroke-linejoin: round; vector-effect: non-scaling-stroke; transition: stroke 0.3s ease; }
.it-mon-line.is-alert { stroke: #ff6b5a; }
.it-mon-threshold { stroke: #ff6b5a; stroke-width: 1.5; stroke-dasharray: 6 6; vector-effect: non-scaling-stroke; }
.it-mon-head { fill: #437eeb; stroke: #ffffff; stroke-width: 2; }
.it-mon-head.is-alert { fill: #ff6b5a; }
.it-mon-legend { display: flex; gap: 18px; padding: 4px 18px 10px; font-size: 12px; color: #8a94ad; }
.it-mon-legend i { display: inline-block; width: 16px; height: 0; margin-right: 6px; vertical-align: middle; }
.it-mon-key-line { border-top: 2.5px solid #437eeb; }
.it-mon-key-th { border-top: 1.5px dashed #ff6b5a; }
.it-mon-log { list-style: none; margin: 0; padding: 12px 18px 16px; border-top: 1px solid #eff1fe; min-height: 150px; }
.it-mon-log li { display: flex; align-items: center; gap: 10px; padding: 5px 0; font-size: 14px; color: #525f81; opacity: 0; transform: translateY(6px); transition: opacity 0.35s ease, transform 0.35s ease; }
.it-mon-log li.is-shown { opacity: 1; transform: none; }
.it-mon-log b { flex: none; width: 9px; height: 9px; border-radius: 50%; }
.it-mon-log .is-alert b { background: #ff6b5a; }
.it-mon-log .is-mail b { background: #f59f3a; }
.it-mon-log .is-info b { background: #437eeb; }
.it-mon-log .is-ok b { background: #2fbf8f; }
.it-mon-log .is-ok { color: #1f9e74; font-weight: 700; }
@keyframes it-mon-blink { 50% { opacity: 0.6; } }
@media (max-width: 575px) {
  .it-mon-tiles { gap: 8px; padding: 12px 12px 4px; }
  .it-mon-tile { padding: 10px; }
  .it-mon-tile strong { font-size: 17px; }
  .it-mon-tile span { font-size: 11px; }
  .it-mon-chart { height: 150px; }
  .it-mon-log { min-height: 180px; padding: 10px 14px 14px; }
  .it-mon-log li { font-size: 13px; align-items: flex-start; }
  .it-mon-log b { margin-top: 5px; }
}
@media (prefers-reduced-motion: reduce) {
  .it-mon-status.is-alert { animation: none; }
  .it-mon-log li, .it-mon-tile i, .it-mon-line, .it-mon-tile, .it-mon-status { transition: none; }
}

/* Query tuning durum etiketi: .it-q .is-ok yazı rengi etiketin içinde beyaz kalsın */
.it-q-bar em.is-ok, .it-q-bar em.is-busy { color: #ffffff; }

/* /ai-tower/ kurulum animasyonu (components/motion/AiTowerBuilder.tsx, ROADMAP.md C3) */
.it-tower { max-width: 420px; margin: 0 auto; font-family: 'Lato', sans-serif; }
.it-tower-tabs { display: flex; gap: 4px; padding: 4px; margin-bottom: 16px; border-radius: 14px; background: #eff1fe; }
.it-tower-tabs button {
  flex: 1; border: 0; padding: 9px 6px; border-radius: 10px; background: transparent; color: #525f81;
  font-family: 'Lato', sans-serif; font-weight: 700; font-size: 14px; cursor: pointer; transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}
.it-tower-tabs button:hover { color: #437eeb; }
.it-tower-tabs button.is-active { background: #ffffff; color: #437eeb; box-shadow: 0 4px 12px rgba(49, 62, 91, 0.10); }
.it-tower-tabs button:focus-visible { outline: 2px solid #437eeb; outline-offset: 1px; }
.it-tower-svg { display: block; width: 100%; height: auto; filter: drop-shadow(0 22px 40px rgba(49, 62, 91, 0.22)); }
.it-tw-case { fill: #313e5b; }
.it-tw-window { fill: #1f2840; stroke: #3a4766; stroke-width: 1.5; }
.it-tw-fanring { fill: #2a3552; stroke: #3a4766; stroke-width: 2; }
.it-tw-blade { fill: #7aa5f3; opacity: 0.85; }
.it-tw-hub { fill: #dee2fb; }
.it-tw-fan { animation: it-spin 1.4s linear infinite; animation-play-state: paused; }
.it-tower.is-visible .it-tw-fan { animation-play-state: running; }
.it-tw-cpu { fill: #525f81; }
.it-tw-cpu-core { fill: #7aa5f3; }
.it-tw-chip { font-size: 12px; font-weight: 900; fill: #1f2840; text-anchor: middle; }
.it-tw-ram { fill: #3a4766; transition: fill 0.4s ease; }
.it-tw-ram.is-on { fill: #437eeb; }
.it-tw-slot { fill: none; stroke: #3a4766; stroke-width: 1.5; stroke-dasharray: 5 5; }
.it-tw-gpu { opacity: 0; transform: translateX(300px); transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s ease; }
.it-tw-gpu.is-on { opacity: 1; transform: none; }
.it-tw-gpu-body { fill: #dee2fb; }
.it-tw-gpu-led { fill: #2fbf8f; }
.it-tw-gpu.is-on .it-tw-gpu-led { animation: it-tw-led 2s ease-in-out infinite; }
.it-tw-gpu-fan { fill: #b8c0d6; stroke: #ffffff; stroke-width: 2; }
.it-tw-gpu-label { font-size: 12px; font-weight: 900; fill: #313e5b; letter-spacing: 0.02em; }
.it-tw-ssd { fill: #3a4766; transition: fill 0.4s ease; }
.it-tw-ssd.is-on { fill: #2fbf8f; }
.it-tw-power { fill: #3a4766; animation: it-tw-power 0.6s ease 3.6s forwards; }
.it-tower-spec { text-align: center; font-size: 14px; color: #525f81; margin: 16px 0 10px; min-height: 2.8em; }
.it-tower-spec strong { color: #437eeb; }
.it-tower-boot { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; }
.it-tower-boot li {
  list-style: none; display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 14px;
  font-size: 13px; font-weight: 700; color: #8a94ad; background: #eff1fe; opacity: 0.45; animation: it-tw-step 0.4s ease forwards;
}
.it-tower-boot li i { width: 8px; height: 8px; border-radius: 50%; background: #b8c0d6; }
.it-tower-boot li.it-tower-ready { color: #ffffff; }
@keyframes it-tw-step { to { opacity: 1; color: #1f9e74; background: #e3f7ef; } }
.it-tower-boot li { --done: #2fbf8f; }
.it-tower-boot li i { animation: it-tw-dot 0.4s ease forwards; animation-delay: inherit; }
.it-tower-boot li.it-tower-ready { animation-name: it-tw-ready; }
@keyframes it-tw-ready { to { opacity: 1; color: #ffffff; background: #2fbf8f; } }
@keyframes it-tw-dot { to { background: #2fbf8f; } }
.it-tower-boot li.it-tower-ready i { animation-name: it-tw-dot-ready; }
@keyframes it-tw-dot-ready { to { background: #ffffff; } }
@keyframes it-tw-led { 50% { fill: #5fd8a8; opacity: 0.6; } }
@keyframes it-tw-power { to { fill: #2fbf8f; } }

@media (prefers-reduced-motion: reduce) {
  .it-tw-fan, .it-tw-gpu.is-on .it-tw-gpu-led { animation: none; }
  .it-tw-gpu, .it-tw-ram, .it-tw-ssd { transition: none; }
  .it-tower-boot li, .it-tower-boot li i, .it-tw-power { animation-duration: 0s; animation-delay: 0s !important; }
}

/* /private-ai/ "Ask a question, get a chart" demosu (components/motion/AskData.tsx, ROADMAP.md C4) */
.it-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.it-ask {
  position: relative; background: #ffffff; border: 1px solid #dee2fb; border-radius: 18px; overflow: hidden;
  box-shadow: 0 18px 40px rgba(49, 62, 91, 0.10); font-family: 'Lato', sans-serif; transition: opacity 0.4s ease;
}
.it-ask-bar { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-bottom: 1px solid #eff1fe; }
.it-ask-title { font-weight: 900; color: #313e5b; }
.it-ask-bar em { margin-left: auto; font-style: normal; font-size: 12px; font-weight: 700; padding: 3px 12px; border-radius: 12px; background: #e3f7ef; color: #1f9e74; }
.it-ask-body { padding: 16px 18px 6px; min-height: 470px; }
.it-ask-user {
  margin-left: auto; width: fit-content; max-width: 88%; padding: 10px 14px; border-radius: 16px 16px 4px 16px;
  background: #eff1fe; color: #313e5b; font-size: 15px; min-height: 42px; transition: background 0.3s ease, color 0.3s ease;
}
.it-ask-user.is-sent { background: #437eeb; color: #ffffff; }
.it-ask-caret { display: inline-block; width: 2px; height: 16px; margin-left: 2px; vertical-align: -3px; background: #437eeb; animation: it-blink 1s steps(1) infinite; }
.it-ask-steps { list-style: none; margin: 14px 0 10px; padding: 0; }
.it-ask-steps li { list-style: none; display: flex; align-items: center; gap: 10px; padding: 3px 0; font-size: 14px; color: #b8c0d6; transition: color 0.3s ease; }
.it-ask-steps li i { flex: none; width: 14px; height: 14px; border-radius: 50%; border: 2px solid #dee2fb; transition: all 0.3s ease; }
.it-ask-steps li.is-run { color: #437eeb; }
.it-ask-steps li.is-run i { border-color: #437eeb; border-right-color: transparent; animation: it-spin 0.7s linear infinite; }
.it-ask-steps li.is-done { color: #525f81; }
.it-ask-steps li.is-done i { border-color: #2fbf8f; background: #2fbf8f; box-shadow: inset 0 0 0 3px #ffffff; }
.it-ask-sql {
  margin: 0 0 12px; padding: 12px 14px; min-height: 118px; border-radius: 12px; background: #1f2840; color: #d7def0;
  font-family: Consolas, "Courier New", monospace; font-size: 12.5px; line-height: 1.55; white-space: pre-wrap; border: 0;
  transition: opacity 0.3s ease;
}
.it-ask-result { transition: opacity 0.3s ease; }
.it-ask-chart { display: block; width: 100%; height: auto; max-height: 200px; }
.it-ask-axis { stroke: #dee2fb; stroke-width: 2; }
.it-ask-val { font-size: 12px; font-weight: 900; fill: #313e5b; text-anchor: middle; }
.it-ask-val-right { text-anchor: start; }
.it-ask-lbl { font-size: 12px; fill: #525f81; text-anchor: middle; }
.it-ask-lbl-left { text-anchor: end; }
.it-ask-caption { margin: 4px 0 0; font-size: 13px; color: #8a94ad; text-align: center; }
.it-ask-caption span { font-style: italic; }
.it-ask-input {
  display: flex; align-items: center; gap: 10px; margin: 6px 18px 18px; padding: 10px 12px 10px 16px; border-radius: 14px;
  border: 1px solid #dee2fb; color: #8a94ad; font-size: 14px;
}
.it-ask-input span { flex: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.it-ask-input b { flex: none; width: 32px; height: 32px; border-radius: 10px; background: #437eeb; color: #ffffff; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 575px) {
  .it-ask-body { padding: 14px 14px 4px; min-height: 500px; }
  .it-ask-sql { font-size: 11.5px; min-height: 140px; }
  .it-ask-input { margin: 6px 14px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .it-ask, .it-ask-user, .it-ask-steps li, .it-ask-steps li i, .it-ask-sql, .it-ask-result { transition: none; }
  .it-ask-caret, .it-ask-steps li.is-run i { animation: none; }
}
.it-ask-note { font-size: 14px; color: #8a94ad; margin: -6px 0 16px; }

/* /data-platforms/ kaydırmaya bağlı veri yolculuğu (components/motion/DataJourney.tsx, ROADMAP.md C1) */
.it-dj { position: relative; padding-left: 46px; }
.it-dj-rail { position: absolute; left: 16px; top: 28px; bottom: 40px; width: 4px; border-radius: 2px; background: #eff1fe; }
.it-dj-fill {
  position: absolute; inset: 0; border-radius: 2px; transform-origin: top center;
  background: repeating-linear-gradient(180deg, #437eeb 0 10px, #7aa5f3 10px 20px);
  background-size: 4px 20px; animation: it-dj-flow 0.8s linear infinite;
}
.it-dj-packet {
  position: absolute; left: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%;
  background: #437eeb; box-shadow: 0 0 0 5px rgba(67, 126, 235, 0.18), 0 0 18px rgba(67, 126, 235, 0.55);
}
.it-dj-packet::after { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: #ffffff; }
.it-dj .it-layer { position: relative; transition: box-shadow 0.35s ease, border-color 0.35s ease, transform 0.35s ease; border-left: 3px solid transparent; }
/* Hattaki bağlantı noktası: her katmanın solunda küçük düğüm */
.it-dj .it-layer::before {
  content: ""; position: absolute; left: -37px; top: 50%; width: 12px; height: 12px; margin-top: -6px; border-radius: 50%;
  background: #ffffff; border: 3px solid #dee2fb; transition: border-color 0.35s ease, background 0.35s ease;
}
.it-dj .it-layer.is-lit { border-left-color: #437eeb; }
.it-dj .it-layer.is-lit::before { border-color: #437eeb; background: #437eeb; }
.it-dj .it-layer.is-lit .it-tag { background: #eaf1ff; color: #437eeb; transition: background 0.35s ease, color 0.35s ease; }
.it-dj .it-layer.is-current { transform: translateX(6px); box-shadow: 0 14px 34px rgba(67, 126, 235, 0.16); }
@keyframes it-dj-flow { to { background-position: 0 20px; } }
@media (max-width: 575px) {
  .it-dj { padding-left: 30px; }
  .it-dj-rail { left: 8px; }
  .it-dj .it-layer::before { left: -29px; width: 10px; height: 10px; margin-top: -5px; }
  .it-dj .it-layer.is-current { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .it-dj-fill { animation: none; }
  .it-dj .it-layer, .it-dj .it-layer::before { transition: none; }
}
.it-dj.is-ready .it-layer:not(.is-lit) .it-tag { background: #f5f7fe; color: #8a94ad; }
.it-dj.is-ready .it-layer:not(.is-lit) .it-layer-name { color: #8a94ad; }
.it-dj .it-layer.is-current::before { opacity: 0; }
.it-dj .it-layer .it-layer-name { transition: color 0.35s ease; }

/* Mobil menü: alt menülü satır (Services) tek dokunma alanı — yalnızca açar/kapatır (5 Kasım 2026) */
.it-mnav-toggle {
  display: flex; align-items: center; gap: 10px; width: 100%; padding: 14px 14px; border: 0; border-radius: 14px;
  background: transparent; text-align: left; cursor: pointer; font-family: 'Lato', sans-serif; font-weight: 700; font-size: 17px;
  color: #313e5b; transition: background 0.2s ease, color 0.2s ease;
}
.it-mnav-toggle > span:first-child { flex: 1; }
.it-mnav-toggle:hover { background: #f5f7fe; color: #437eeb; }
.it-mnav-toggle.is-active { color: #437eeb; }
.it-mnav-toggle.is-open { background: #eaf1ff; color: #437eeb; }
.it-mnav-toggle:focus-visible { outline: 2px solid #437eeb; outline-offset: 2px; }
.it-mnav-count { font-size: 12px; font-weight: 700; min-width: 24px; line-height: 22px; padding: 0 7px; border-radius: 11px; background: #eff1fe; color: #8a94ad; text-align: center; }
.it-mnav-toggle.is-open .it-mnav-count { background: #437eeb; color: #ffffff; }
.it-mnav-chev { flex: none; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.3s ease; }
.it-mnav-toggle.is-open .it-mnav-chev { transform: rotate(180deg); }
/* Alt menünün ilk satırı: üst sayfaya git */
.it-mnav-sub .it-mnav-all a {
  display: flex; align-items: center; justify-content: space-between; font-weight: 700; color: #437eeb;
  border-left-color: #437eeb; background: #f5f7fe;
}
.it-mnav-sub .it-mnav-all a svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.it-mnav-sub .it-mnav-all { margin-bottom: 4px; }
@media (prefers-reduced-motion: reduce) { .it-mnav-chev { transition: none; } }

/* Hizmet sayfası hero sahneleri (components/motion/ServiceHero.tsx) — eski hero görsellerinin yerine */
.iq-breadcrumb-one .it-sh { display: block; height: 224px; width: auto; max-width: 100%; margin-left: auto; overflow: visible; }
@media (max-width: 767px) { .iq-breadcrumb-one .it-sh { height: 180px; margin-right: auto; } } /* telefonda ortalı başlığın altında ortalı */
/* Yalnızca CSS ile dönen/ölçeklenen öğeler kendi merkezini kullanır (rotate() niteliği olan dişler vb. etkilenmesin) */
.it-sh-spin, .it-sh-pop, .it-sh-wobble, .it-sh-twinkle, .it-sh-fill, .it-sh-grow { transform-box: fill-box; transform-origin: center; }
.it-sh-floor { fill: #dee2fb; opacity: 0.7; }
.it-sh-card { fill: #ffffff; stroke: #dee2fb; stroke-width: 1.5; filter: drop-shadow(0 8px 16px rgba(49, 62, 91, 0.10)); }
.it-sh-label { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 13px; fill: #313e5b; }
.it-sh-label-inv { fill: #ffffff; font-size: 10px; letter-spacing: 0.08em; }
.it-sh-led { fill: #2fbf8f; animation: it-sh-blink 1.6s ease-in-out infinite; }
.it-sh-check { fill: none; stroke: #ffffff; stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.it-sh-check-sm { stroke-width: 2.5; }
.it-sh-ok { fill: #2fbf8f; }
.it-sh-row { fill: #eff1fe; }

/* DBA */
.it-sh-db-body { fill: #437eeb; }
.it-sh-db-top { fill: #7aa5f3; }
.it-sh-db-ring { fill: none; stroke: #ffffff; stroke-opacity: 0.55; stroke-width: 2; }
.it-sh-rise { fill: #7aa5f3; opacity: 0; animation: it-sh-rise 2.7s ease-out infinite; }
.it-sh-gear { fill: #313e5b; }
.it-sh-hole { fill: #eff1fe; }
.it-sh-spin { animation: it-spin 7s linear infinite; }
.it-sh-pulse { fill: none; stroke: #2fbf8f; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 80 120; animation: it-sh-pulse 2.2s linear infinite; }
.it-sh-shield { fill: #2fbf8f; }
.it-sh-pop { animation: it-sh-pop 3s ease-in-out infinite; }

/* Data Services */
.it-sh-wobble { animation: it-sh-wobble 2.4s ease-in-out infinite; }
.it-sh-flow { fill: #437eeb; opacity: 0; animation: it-sh-flow 2.4s ease-in-out infinite; }
.it-sh-funnel { fill: #313e5b; }
.it-sh-funnel-band { fill: #7aa5f3; }
.it-sh-twinkle { fill: #f59f3a; animation: it-sh-twinkle 2s ease-in-out infinite; }
.it-sh-head { fill: #313e5b; }
.it-sh-fill { fill: #437eeb; transform-origin: left center; animation: it-sh-fill 4s ease-in-out infinite; }

/* Data Warehouse */
.it-sh-link { stroke: #7aa5f3; stroke-width: 2; stroke-dasharray: 4 6; animation: it-sh-dash 1s linear infinite; }
.it-sh-dimhead { fill: #7aa5f3; animation: it-sh-head 2.4s ease-in-out infinite; }
.it-sh-fact { fill: #ffffff; stroke: #437eeb; stroke-width: 2.5; filter: drop-shadow(0 10px 20px rgba(67, 126, 235, 0.22)); }
.it-sh-facthead { fill: #313e5b; }

/* Big Data */
.it-sh-lane { stroke: #dee2fb; stroke-width: 2; }
.it-sh-stream { fill: #437eeb; opacity: 0; animation: it-sh-stream 2.2s linear infinite; }
.it-sh-node { fill: #dee2fb; animation: it-sh-node 2.6s ease-in-out infinite; }
.it-sh-grow { fill: #437eeb; transform-origin: bottom center; animation: it-sh-grow 3.2s ease-in-out infinite; }
.it-sh-grow:nth-of-type(2n) { fill: #22b8cf; }

@keyframes it-sh-blink { 50% { opacity: 0.3; } }
@keyframes it-sh-rise { 0% { opacity: 0; transform: translateY(0); } 25% { opacity: 1; } 100% { opacity: 0; transform: translateY(-40px); } }
@keyframes it-sh-pulse { from { stroke-dashoffset: 200; } to { stroke-dashoffset: 0; } }
@keyframes it-sh-pop { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.08); } }
@keyframes it-sh-wobble { 0%, 100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-3px); } }
@keyframes it-sh-flow { 0% { opacity: 0; transform: translateX(0); } 12% { opacity: 1; } 85% { opacity: 1; } 100% { opacity: 0; transform: translateX(150px); } }
@keyframes it-sh-twinkle { 0%, 100% { transform: scale(0.7) rotate(0deg); opacity: 0.6; } 50% { transform: scale(1.1) rotate(45deg); opacity: 1; } }
@keyframes it-sh-fill { 0% { transform: scaleX(0); } 30%, 85% { transform: scaleX(1); } 100% { transform: scaleX(1); opacity: 0.25; } }
@keyframes it-sh-dash { to { stroke-dashoffset: -10; } }
@keyframes it-sh-head { 0%, 100% { fill: #7aa5f3; } 50% { fill: #437eeb; } }
@keyframes it-sh-stream { 0% { opacity: 0; transform: translateX(0); } 10% { opacity: 1; } 90% { opacity: 1; } 100% { opacity: 0; transform: translateX(104px); } }
@keyframes it-sh-node { 0%, 100% { fill: #dee2fb; } 30%, 45% { fill: #437eeb; } }
@keyframes it-sh-grow { 0%, 100% { transform: scaleY(0.35); } 50% { transform: scaleY(1); } }

@media (prefers-reduced-motion: reduce) {
  .it-sh * { animation: none !important; }
  .it-sh-rise, .it-sh-flow, .it-sh-stream { opacity: 0; }
}

/* Hizmet hero sahneleri — Aşama 2 (BI, Data Platforms, AI, Private AI) */
.it-sh-orbit, .it-sh-spin-slow, .it-sh-ring, .it-sh-lockpop { transform-box: fill-box; transform-origin: center; }
.it-sh-label-sm { font-size: 10px; letter-spacing: 0.08em; fill: #ffffff; }
.it-sh-label-ai { font-size: 15px; }

/* BI */
.it-sh-stand { fill: #b8c0d6; }
.it-sh-dot3 { fill: #dee2fb; }
.it-sh-tile { fill: #f5f7fe; }
.it-sh-kpi { fill: #313e5b; }
.it-sh-up { fill: none; stroke: #2fbf8f; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.it-sh-up-head { fill: none; stroke: #2fbf8f; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.it-sh-draw { fill: none; stroke: #437eeb; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 150; animation: it-sh-draw 4s ease-in-out infinite; }
.it-sh-donut-bg { fill: none; stroke: #dee2fb; stroke-width: 9; }
.it-sh-donut { fill: none; stroke: #437eeb; stroke-width: 9; stroke-linecap: round; stroke-dasharray: 80 52; }
.it-sh-spin-slow { animation: it-spin 6s linear infinite; }

/* Data Platforms */
.it-sh-wave { fill: none; stroke: #c9d5f3; stroke-width: 2.5; stroke-dasharray: 6 6; animation: it-sh-dash 0.9s linear infinite; }
.it-sh-layer { filter: drop-shadow(0 6px 12px rgba(49, 62, 91, 0.12)); }
.it-sh-layer1 { fill: #7aa5f3; }
.it-sh-layer2 { fill: #437eeb; }
.it-sh-layer3 { fill: #313e5b; }
.it-sh-lift { fill: #ffffff; opacity: 0; animation: it-sh-lift 2.4s ease-in-out infinite; }

/* AI */
.it-sh-syn { stroke: #c9d5f3; stroke-width: 1.2; }
.it-sh-sig { fill: #437eeb; opacity: 0; animation: it-sh-sig 2.4s ease-in-out infinite; }
.it-sh-neuron { fill: #ffffff; stroke: #437eeb; stroke-width: 3; animation: it-sh-neuron 1.8s ease-in-out infinite; }
.it-sh-neuron-out { stroke: #2fbf8f; }

/* Private AI */
.it-sh-zone { fill: #ffffff; fill-opacity: 0.55; stroke: #437eeb; stroke-width: 2; stroke-dasharray: 7 6; }
.it-sh-cloud { fill: #ffffff; stroke: #c9d5f3; stroke-width: 2; }
.it-sh-chip { fill: #313e5b; }
.it-sh-ring { fill: none; stroke: #437eeb; stroke-width: 2; opacity: 0; animation: it-sh-ring 2.4s ease-out infinite; }
.it-sh-orbit { animation: it-spin 16s linear infinite; }
.it-sh-doc { fill: #ffffff; stroke: #7aa5f3; stroke-width: 1.5; }
.it-sh-doc-line { fill: #c9d5f3; }
.it-sh-leak { fill: #f59f3a; opacity: 0; animation: it-sh-leak 3.2s ease-in infinite; }
.it-sh-lock-bg { fill: #ffffff; stroke: #f59f3a; stroke-width: 2.5; }
.it-sh-lock { fill: #f59f3a; }
.it-sh-shackle { fill: none; stroke: #f59f3a; stroke-width: 2.5; stroke-linecap: round; }
.it-sh-lockpop { animation: it-sh-lockpop 3.2s ease-out infinite; }

@keyframes it-sh-draw { 0% { stroke-dashoffset: 150; } 45%, 85% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes it-sh-lift { 0% { opacity: 0; transform: translateY(0); } 20% { opacity: 1; } 80% { opacity: 1; } 100% { opacity: 0; transform: translateY(-34px); } }
@keyframes it-sh-sig { 0% { opacity: 0; transform: translate(0, 0); } 10% { opacity: 1; } 75% { opacity: 1; transform: translate(var(--dx), var(--dy)); } 85%, 100% { opacity: 0; transform: translate(var(--dx), var(--dy)); } }
@keyframes it-sh-neuron { 0%, 100% { fill: #ffffff; } 40%, 55% { fill: #eaf1ff; } }
@keyframes it-sh-ring { 0% { opacity: 0.7; transform: scale(0.8); } 100% { opacity: 0; transform: scale(1.7); } }
@keyframes it-sh-leak { 0%, 20% { opacity: 0; transform: translateX(0); } 28% { opacity: 1; } 62% { opacity: 1; transform: translateX(56px); } 72%, 100% { opacity: 0; transform: translateX(50px); } }
@keyframes it-sh-lockpop { 0%, 58% { transform: scale(1); } 66% { transform: scale(1.25); } 76%, 100% { transform: scale(1); } }
/* Data Platforms akışı için --dx destekli genel akış */
.it-sh-data-platforms .it-sh-stream { animation-name: it-sh-stream-var; }
@keyframes it-sh-stream-var { 0% { opacity: 0; transform: translateX(0); } 10% { opacity: 1; } 90% { opacity: 1; } 100% { opacity: 0; transform: translateX(var(--dx, 104px)); } }

@media (prefers-reduced-motion: reduce) {
  .it-sh-sig, .it-sh-lift, .it-sh-leak, .it-sh-ring { opacity: 0; }
}

/* Hizmet hero sahneleri — Aşama 3 (AI Tower, Software Development, Outsourcing, IT Services) */
.it-sh-code, .it-sh-person { transform-box: fill-box; }
.it-sh-code { transform-origin: left center; }
.it-sh-person { transform-origin: center bottom; }

/* AI Tower */
.it-sh-case { fill: #313e5b; filter: drop-shadow(0 12px 22px rgba(49, 62, 91, 0.22)); }
.it-sh-window { fill: #1f2840; stroke: #3a4766; stroke-width: 1.5; }
.it-sh-fanring { fill: #2a3552; stroke: #3a4766; stroke-width: 2; }
.it-sh-blade { fill: #7aa5f3; }
.it-sh-spin-fast { animation-duration: 1.4s; }
.it-sh-gpu { fill: #dee2fb; }
.it-sh-gpuled { fill: #2fbf8f; animation: it-sh-blink 1.4s ease-in-out infinite; }
.it-sh-gpufan { fill: #b8c0d6; }
.it-sh-token { fill: #437eeb; }
.it-sh-typing { fill: #437eeb; animation: it-glyph-typing 1.2s ease-in-out infinite; }

/* Software Development */
.it-sh-editor { fill: #1f2840; filter: drop-shadow(0 12px 22px rgba(49, 62, 91, 0.22)); }
.it-sh-editorbar { fill: #313e5b; }
.it-sh-code { animation: it-sh-type 5s ease-out infinite; }
.it-sh-caret { fill: #7aa5f3; animation: it-blink 1s steps(1) infinite; }
.it-sh-slot { fill: #eff1fe; }
.it-sh-pipe { stroke: #c9d5f3; stroke-width: 3; stroke-linecap: round; }
.it-sh-stage { fill: #ffffff; stroke: #c9d5f3; stroke-width: 3; animation: it-sh-stage 2.4s ease-in-out infinite; }
.it-sh-stagelbl { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 10px; fill: #525f81; }

/* Outsourcing */
.it-sh-person { animation: it-sh-nod 3.6s ease-in-out infinite; }
.it-sh-col { fill: #f5f7fe; }
.it-sh-task { fill: #c9d5f3; }
.it-sh-task-done { fill: #2fbf8f; opacity: 0.75; }
.it-sh-task-move { fill: #437eeb; animation: it-sh-move 4.8s ease-in-out infinite; filter: drop-shadow(0 4px 8px rgba(67, 126, 235, 0.35)); }

/* IT Services */
.it-sh-wire { stroke: #c9d5f3; stroke-width: 2.5; }
.it-sh-sig-in { fill: #22b8cf; }
.it-sh-rack { fill: #313e5b; }
.it-sh-rackslot { fill: #3a4766; }
.it-sh-screen { fill: #313e5b; }
.it-sh-screenin { fill: #7aa5f3; }
.it-sh-hub { fill: #437eeb; filter: drop-shadow(0 8px 16px rgba(67, 126, 235, 0.3)); }
.it-sh-hub ~ .it-sh-led { fill: #ffffff; }

@keyframes it-sh-type { 0% { transform: scaleX(0); } 18%, 88% { transform: scaleX(1); opacity: 1; } 100% { transform: scaleX(1); opacity: 0; } }
@keyframes it-sh-stage { 0%, 100% { fill: #ffffff; stroke: #c9d5f3; } 30%, 60% { fill: #2fbf8f; stroke: #2fbf8f; } }
@keyframes it-sh-nod { 0%, 70%, 100% { transform: translateY(0); } 80% { transform: translateY(-5px); } }
@keyframes it-sh-move { 0%, 12% { transform: translate(0, 0); } 38%, 50% { transform: translate(60px, -52px); } 76%, 88% { transform: translate(120px, -2px); } 100% { transform: translate(120px, -2px); opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  .it-sh-code { transform: none; }
}

/* Hero sahneleri — kurumsal sayfalar (Services, About, Projects, Partners, Press, Certifications, Contact) */
.it-sh-tilepop, .it-sh-mile, .it-sh-bob, .it-sh-tick, .it-sh-badge, .it-sh-sound, .it-sh-ripple, .it-sh-flag, .it-sh-spin-seal { transform-box: fill-box; transform-origin: center; }
.it-sh-flag { transform-origin: left center; }
.it-sh-label-core { font-size: 9.5px; letter-spacing: 0.02em; }
.it-sh-label-piece { font-size: 12px; letter-spacing: 0.02em; }
.it-sh-label-air { font-size: 8.5px; }
.it-sh-label-badge { font-size: 11px; }
.it-sh-g-blue { fill: #437eeb; }
.it-sh-g-light { fill: #7aa5f3; }
.it-sh-g-green { fill: #2fbf8f; }
.it-sh-g-navy { fill: #313e5b; }
.it-sh-g-line { fill: none; stroke: #313e5b; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.it-sh-g-code { font-family: Consolas, "Courier New", monospace; font-weight: 700; font-size: 14px; fill: #437eeb; }

/* Services */
.it-sh-core { fill: #437eeb; filter: drop-shadow(0 8px 18px rgba(67, 126, 235, 0.35)); }
.it-sh-tilepop { animation: it-sh-tilepop 3s ease-in-out infinite; }

/* About */
.it-sh-building { fill: #313e5b; }
.it-sh-roof { fill: #437eeb; }
.it-sh-win { fill: #3a4766; animation: it-sh-win 4s ease-in-out infinite; }
.it-sh-axis { stroke: #c9d5f3; stroke-width: 2; }
.it-sh-draw2 { fill: none; stroke: #437eeb; stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 220; animation: it-sh-draw2 5s ease-in-out infinite; }
.it-sh-mile { fill: #ffffff; stroke: #437eeb; stroke-width: 3; animation: it-sh-mile 5s ease-in-out infinite; }
.it-sh-pole { stroke: #313e5b; stroke-width: 2.5; stroke-linecap: round; }
.it-sh-flag { fill: #2fbf8f; animation: it-sh-flag 1.6s ease-in-out infinite; }

/* Projects */
.it-sh-route { fill: none; stroke: #c9d5f3; stroke-width: 2.5; stroke-dasharray: 6 7; }
.it-sh-ride { fill: #437eeb; offset-path: path("M66 186 Q160 132 254 190"); animation: it-sh-ride 3.6s ease-in-out infinite; }
.it-sh-bob { animation: it-sh-bob 3.6s ease-in-out infinite; }
.it-sh-wavearc { fill: none; stroke: #437eeb; stroke-width: 2.2; stroke-linecap: round; animation: it-sh-blink 1.4s ease-in-out infinite; }

/* Partners */
.it-sh-piece-a { fill: #437eeb; }
.it-sh-piece-b { fill: #313e5b; }
.it-sh-joinL { animation: it-sh-joinL 4s cubic-bezier(0.22, 1, 0.36, 1) infinite; }
.it-sh-joinR { animation: it-sh-joinR 4s cubic-bezier(0.22, 1, 0.36, 1) infinite; }
.it-sh-burst { animation: it-sh-burst 4s ease-out infinite; transform-box: fill-box; transform-origin: center; }

/* Press */
.it-sh-photo { fill: #c9d5f3; }
.it-sh-mic { fill: #313e5b; }
.it-sh-grille { stroke: #7aa5f3; stroke-width: 2; stroke-linecap: round; }
.it-sh-micstand { fill: none; stroke: #313e5b; stroke-width: 3.5; stroke-linecap: round; }
.it-sh-sound { fill: none; stroke: #437eeb; stroke-width: 2.5; stroke-linecap: round; opacity: 0; animation: it-sh-sound 2s ease-out infinite; }
.it-sh-onair { fill: #ff6b5a; animation: it-sh-blink 1.6s ease-in-out infinite; }

/* Certifications */
.it-sh-certframe { fill: none; stroke: #c9d5f3; stroke-width: 1.5; stroke-dasharray: 4 4; }
.it-sh-tick { animation: it-sh-tick 4.5s ease-out infinite; }
.it-sh-ribbon { fill: #437eeb; }
.it-sh-ribbon2 { fill: #313e5b; }
.it-sh-seal { fill: #f59f3a; }
.it-sh-spin-seal { animation-duration: 14s; }
.it-sh-seal-in { fill: #ffffff; fill-opacity: 0.25; stroke: #ffffff; stroke-width: 2; }

/* Contact */
.it-sh-pin { fill: #437eeb; filter: drop-shadow(0 8px 14px rgba(67, 126, 235, 0.3)); }
.it-sh-pin-in { fill: #ffffff; }
.it-sh-ripple { fill: none; stroke: #437eeb; stroke-width: 2; opacity: 0; animation: it-sh-ripple 2s ease-out infinite; }
.it-sh-mail { opacity: 0; }
.it-sh-env { fill: #ffffff; stroke: #437eeb; stroke-width: 2; }
.it-sh-envflap { fill: none; stroke: #437eeb; stroke-width: 2; stroke-linejoin: round; }
.it-sh-avatar { fill: #c9d5f3; }
.it-sh-badge-bg { fill: #ff6b5a; }
.it-sh-badge { animation: it-sh-badge 2.4s ease-out infinite; }

@keyframes it-sh-tilepop { 0%, 70%, 100% { transform: scale(1); } 80% { transform: scale(1.12); } }
@keyframes it-sh-win { 0%, 100% { fill: #3a4766; } 40%, 70% { fill: #7aa5f3; } }
@keyframes it-sh-draw2 { 0% { stroke-dashoffset: 220; } 50%, 88% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes it-sh-mile { 0% { transform: scale(0); } 12%, 84% { transform: scale(1); } 100% { transform: scale(0); } }
@keyframes it-sh-flag { 0%, 100% { transform: skewY(0deg); } 50% { transform: skewY(-8deg); } }
@keyframes it-sh-ride { 0% { offset-distance: 0%; opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { offset-distance: 100%; opacity: 0; } }
@keyframes it-sh-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes it-sh-joinL { 0%, 100% { transform: translateX(-22px); } 35%, 75% { transform: translateX(0); } }
@keyframes it-sh-joinR { 0%, 100% { transform: translateX(22px); } 35%, 75% { transform: translateX(0); } }
@keyframes it-sh-burst { 0%, 30% { transform: scale(0); opacity: 0; } 40% { transform: scale(1.2); opacity: 1; } 60%, 100% { transform: scale(0.6); opacity: 0; } }
@keyframes it-sh-sound { 0% { opacity: 0; transform: scale(0.85); } 30% { opacity: 1; } 100% { opacity: 0; transform: scale(1.1); } }
@keyframes it-sh-tick { 0% { transform: scale(0); } 10%, 88% { transform: scale(1); } 100% { transform: scale(0); } }
@keyframes it-sh-ripple { 0% { opacity: 0.7; transform: scale(0.4); } 100% { opacity: 0; transform: scale(1.6); } }
@keyframes it-sh-badge { 0%, 55% { transform: scale(0); } 65% { transform: scale(1.25); } 75%, 100% { transform: scale(1); } }

@media (prefers-reduced-motion: reduce) {
  .it-sh-ride, .it-sh-sound, .it-sh-ripple, .it-sh-mail { opacity: 0; }
  .it-sh-sound { opacity: 1; }
}

/* Dil seçici (components/LanguageSwitcher.tsx): üst bant + mobil menü */
header .sub-header .sub-main { display: flex; align-items: center; }
.it-lang { display: flex; align-items: center; gap: 2px; }
.it-lang a {
  display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 30px; padding: 0 8px;
  border-radius: 8px; font-family: 'Lato', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 0.04em;
  color: #525f81; text-decoration: none; transition: background 0.2s ease, color 0.2s ease;
}
.it-lang a:hover { background: #eff1fe; color: #313e5b; text-decoration: none; }
.it-lang a.is-current { background: #437eeb; color: #ffffff; }
.it-lang-top { margin-left: 14px; }
.it-lang-mnav { margin-top: 10px; padding-top: 14px; border-top: 1px solid #eff1fe; gap: 6px; }
.it-lang-mnav a { height: 36px; min-width: 48px; background: #eff1fe; color: #313e5b; }

/* Masaüstü menü (çok dil): tema alt menüyü 200px'e sabitler ve her kelimeyi büyük harfle başlatır (capitalize).
   Uzun Türkçe adlar ("Kurum İçi ve Üretken Yapay Zekâ") iki satıra düşüyor, "ve" → "Ve" oluyordu.
   Adlar sözlükte doğru yazımıyla durduğu için dönüştürme kapatılır; alt menü en uzun ada göre genişler. */
header .navbar ul li a { text-transform: none; }
@media (min-width: 992px) {
  header .navbar ul li .sub-menu, header .navbar ul li:hover .sub-menu { width: auto; min-width: 200px; }
  header .navbar ul li .sub-menu li a { white-space: nowrap; padding-right: 24px; }
}

/* ---------- /data-warehouse/ "BI & DW" yetenek halkası (components/motion/DwOrbit.tsx) ---------- */
.it-dwo { max-width: 460px; margin: 0 auto; --dwo-cycle: 14s; }
.it-dwo svg { display: block; width: 100%; height: auto; overflow: visible; }
.it-dwo-ring { fill: none; stroke: #dee2fb; stroke-width: 12; }
.it-dwo-comet { transform-box: view-box; transform-origin: 220px 220px; animation: it-dwo-spin var(--dwo-cycle) linear infinite; }
.it-dwo-comet-glow { fill: #437eeb; opacity: 0.18; }
.it-dwo-comet-dot { fill: #437eeb; }
.it-dwo-spoke { stroke-width: 3; stroke-linecap: round; stroke-dasharray: 120; stroke-dashoffset: 120; opacity: 0; animation: it-dwo-spoke var(--dwo-cycle) ease-out infinite; }
.it-dwo-node { transform-box: fill-box; transform-origin: center; animation: it-dwo-node var(--dwo-cycle) cubic-bezier(0.22, 1, 0.36, 1) infinite; }
.it-dwo-halo { opacity: 0; animation: it-dwo-halo var(--dwo-cycle) ease-in-out infinite; }
.it-dwo-node-inner { fill: none; stroke: #ffffff; stroke-opacity: 0.35; stroke-width: 1.5; }
.it-dwo-node-text { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 12px; fill: #ffffff; text-anchor: middle; letter-spacing: 0.01em; }
.it-dwo-hub { fill: #ffffff; }
.it-dwo-hub-kicker { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 11px; letter-spacing: 0.14em; fill: #9aa6c4; text-anchor: middle; }
.it-dwo-hub-static { display: none; font-family: 'Lato', sans-serif; font-weight: 900; font-size: 22px; fill: #313e5b; text-anchor: middle; }
.it-dwo-cap { opacity: 0; animation: it-dwo-cap var(--dwo-cycle) ease-in-out infinite; }
.it-dwo-cap-title { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 15.5px; text-anchor: middle; }
.it-dwo-cap-line { font-family: 'Lato', sans-serif; font-weight: 400; font-size: 11.5px; fill: #525f81; text-anchor: middle; }
.it-dwo.is-paused * { animation-play-state: paused; }

@keyframes it-dwo-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
/* 7 düğüm × 2 sn = 14 sn; bir düğümün penceresi %14,3 */
@keyframes it-dwo-node { 0% { transform: scale(1); } 2.5%, 13% { transform: scale(1.13); } 16%, 100% { transform: scale(1); } }
@keyframes it-dwo-halo { 0% { opacity: 0; } 2.5%, 13% { opacity: 0.2; } 16%, 100% { opacity: 0; } }
@keyframes it-dwo-spoke { 0% { stroke-dashoffset: 120; opacity: 0; } 1.5% { opacity: 1; } 4.5%, 13% { stroke-dashoffset: 0; opacity: 1; } 15.5%, 100% { stroke-dashoffset: 0; opacity: 0; } }
/* Metinler üst üste biner (çapraz geçiş): merkez hiç boş kalmaz */
@keyframes it-dwo-cap { 0% { opacity: 0; } 1.8%, 13.6% { opacity: 1; } 15.4%, 100% { opacity: 0; } }

/* ---------- /data-warehouse/ veri akışı (components/motion/DwFlow.tsx) ---------- */
.it-dwf svg { display: block; width: 100%; height: auto; overflow: visible; }
.it-dwf-v { max-width: 400px; margin: 0 auto; }
.it-dwf-card { fill: #ffffff; stroke: #dee2fb; stroke-width: 1.5; filter: drop-shadow(0 6px 14px rgba(49, 62, 91, 0.08)); }
.it-dwf-ico { fill: none; stroke: #ffffff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.it-dwf-ico circle { fill: #ffffff; stroke: none; }
.it-dwf-label { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 14px; fill: #313e5b; }
.it-dwf-label-start { text-anchor: start; }
.it-dwf-label-sm { font-size: 11.5px; text-anchor: middle; }
.it-dwf-wire { fill: none; stroke: #c9d5f3; stroke-width: 2; stroke-dasharray: 5 6; }
.it-dwf-pkt { opacity: 0; offset-rotate: 0deg; }
.it-dwf-pkt-in { animation: it-dwf-in 9s ease-in-out infinite; }
.it-dwf-pkt-mid { fill: #437eeb; animation: it-dwf-mid 9s ease-in-out infinite; }
.it-dwf-pkt-out { animation: it-dwf-mid 9s ease-in-out infinite; }
.it-dwf-etl { fill: #313e5b; filter: drop-shadow(0 12px 24px rgba(49, 62, 91, 0.22)); }
.it-dwf-etl-title { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 22px; fill: #ffffff; text-anchor: middle; letter-spacing: 0.06em; }
.it-dwf-v .it-dwf-etl-title { font-size: 18px; }
.it-dwf-stage { fill: #3a4766; animation: it-dwf-lit 9s ease-out infinite; }
.it-dwf-stage-text { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 15px; fill: #ffffff; text-anchor: middle; }
.it-dwf-stage-text-sm { font-size: 12.5px; }
.it-dwf-dw { fill: #eef2fd; stroke: #c9d5f3; stroke-width: 2; }
.it-dwf-dw-top { fill: #dee6fb; stroke: #c9d5f3; stroke-width: 2; }
.it-dwf-layer { fill: #dde4f6; animation: it-dwf-fill 9s ease-out infinite; }
.it-dwf-layer-text { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 14px; fill: #313e5b; text-anchor: middle; animation: it-dwf-filltext 9s ease-out infinite; }
@keyframes it-dwf-filltext { 0% { fill: #313e5b; } 5%, 60% { fill: #ffffff; } 70%, 100% { fill: #313e5b; } }
.it-dwf-dw-label { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 16px; fill: #313e5b; text-anchor: middle; }
.it-dwf-out { transform-box: fill-box; transform-origin: center; animation: it-dwf-out 9s ease-out infinite; }
.it-dwf-out-card { transition: none; }
.it-dwf.is-paused * { animation-play-state: paused; }

/* 9 sn döngü; gecikmeler bileşende */
@keyframes it-dwf-in { 0% { offset-distance: 0%; opacity: 0; } 2% { opacity: 1; } 15% { offset-distance: 100%; opacity: 1; } 17%, 100% { offset-distance: 100%; opacity: 0; } }
@keyframes it-dwf-mid { 0% { offset-distance: 0%; opacity: 0; } 2% { opacity: 1; } 11% { offset-distance: 100%; opacity: 1; } 13%, 100% { offset-distance: 100%; opacity: 0; } }
@keyframes it-dwf-lit { 0% { fill: #3a4766; } 4%, 72% { fill: var(--c); } 80%, 100% { fill: #3a4766; } }
@keyframes it-dwf-fill { 0% { fill: #dde4f6; } 5%, 60% { fill: var(--c); } 70%, 100% { fill: #dde4f6; } }
@keyframes it-dwf-out { 0% { transform: translateY(0); } 4%, 18% { transform: translateY(-3px); } 26%, 100% { transform: translateY(0); } }
.it-dwf-out .it-dwf-out-card { animation: it-dwf-outcard 9s ease-out infinite; animation-delay: inherit; }
@keyframes it-dwf-outcard { 0% { stroke: #dee2fb; stroke-width: 1.5; } 4%, 18% { stroke: var(--c); stroke-width: 2.5; } 26%, 100% { stroke: #dee2fb; stroke-width: 1.5; } }

@media (prefers-reduced-motion: reduce) {
  .it-dwo-comet, .it-dwo-spoke, .it-dwo-node, .it-dwo-halo, .it-dwo-cap { animation: none; }
  .it-dwo-cap, .it-dwo-hub-kicker { display: none; }
  .it-dwo-hub-static { display: block; }
  .it-dwf-pkt { animation: none; opacity: 0; }
  .it-dwf-stage { animation: none; fill: var(--c); }
  .it-dwf-layer { animation: none; fill: var(--c); }
  .it-dwf-layer-text { animation: none; fill: #ffffff; }
  .it-dwf-out, .it-dwf-out .it-dwf-out-card { animation: none; }
}

.it-dwf-v .it-dwf-layer-text { font-size: 12.5px; }
.it-dwf-v .it-dwf-dw-label { font-size: 14px; }

/* ======================= Basın sayfası: "basın odası" (app/[locale]/press, components/press/) ======================= */
/* Hero */
.it-nw-kicker { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; padding: 6px 14px 6px 12px; border-radius: 20px;
  background: #ffffff; color: #437eeb; font-family: 'Lato', sans-serif; font-weight: 900; font-size: 12.5px; letter-spacing: 0.08em; text-transform: uppercase;
  box-shadow: 0 6px 16px rgba(67, 126, 235, 0.12); }
.it-nw-kicker::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #f0506e; animation: it-nw-live 1.4s ease-in-out infinite; }
.it-nw-hero .title { font-size: 46px; line-height: 1.15; }
.it-nw-count { display: flex; align-items: center; gap: 16px; margin: 26px 0 10px; }
.it-nw-count strong { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 88px; line-height: 0.9; color: #437eeb; letter-spacing: -0.03em; }
.it-nw-count span { max-width: 210px; font-family: 'Lato', sans-serif; font-weight: 700; font-size: 18px; line-height: 1.35; color: #313e5b; }
.it-nw-lead { max-width: 520px; font-size: 17px; line-height: 1.7; margin-bottom: 0; }
.it-nw-actions { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 12px; }

/* Çarpan haber yığını */
.it-hp-desk { position: relative; height: 330px; }
.it-hp-card { position: absolute; left: 50%; top: 50%; width: min(450px, 94%); min-height: 190px; display: flex; flex-direction: column; gap: 16px;
  padding: 22px 26px 26px; border-radius: 16px; border: 1px solid #e6ebfa; border-top: 5px solid #437eeb; background: #ffffff; color: #313e5b;
  text-decoration: none !important; box-shadow: 0 22px 44px rgba(49, 62, 91, 0.14);
  transform: translate(-50%, -50%) translate(var(--x), var(--y)) rotate(var(--r));
  filter: brightness(calc(1 - var(--depth) * 0.035)); }
.it-hp-card.is-top { filter: none; }
.it-hp-card.is-top:hover { border-color: #c9d5f3; border-top-color: #437eeb; box-shadow: 0 28px 54px rgba(49, 62, 91, 0.2); }
.it-hp-src { display: flex; align-items: center; gap: 10px; font-family: 'Lato', sans-serif; font-weight: 700; font-size: 13.5px; color: #525f81; }
.it-hp-src .it-press-logo { margin: 0; }
.it-hp-date { margin-left: auto; font-weight: 400; font-size: 13px; color: #8a94ad; white-space: nowrap; }
.it-hp-title { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 22px; line-height: 1.3; color: #313e5b; }
.it-hp-burst { position: absolute; inset: -6px; border-radius: 20px; border: 2px solid #437eeb; opacity: 0; pointer-events: none; }
.it-hp-counter { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 18px 0 0; font-family: 'Lato', sans-serif; font-size: 13px; color: #525f81; }
.it-hp-progress { width: 140px; height: 4px; border-radius: 4px; background: #dee2fb; overflow: hidden; }
.it-hp-progress i { display: block; height: 100%; background: #437eeb; border-radius: 4px; transition: width 0.5s ease; }

/* Haber bandı */
.it-nw-ticker { display: flex; align-items: stretch; background: #313e5b; color: #ffffff; overflow: hidden; }
.it-nw-ticker-label { flex: none; display: flex; align-items: center; padding: 0 30px 0 22px; background: #437eeb; font-family: 'Lato', sans-serif;
  font-weight: 900; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 100%, 0 100%); z-index: 1; }
.it-nw-ticker-viewport { flex: 1; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.it-nw-ticker-track { display: flex; width: max-content; margin: 0; padding: 14px 0; list-style: none; animation: it-nw-ticker 70s linear infinite; }
.it-nw-ticker:hover .it-nw-ticker-track { animation-play-state: paused; }
.it-nw-ticker-track li { display: inline-flex; align-items: center; gap: 10px; padding: 0 26px; white-space: nowrap; font-family: 'Lato', sans-serif; font-weight: 700; font-size: 15px; border-right: 1px solid rgba(255, 255, 255, 0.14); }
.it-nw-ticker-track .it-press-logo { margin: 0; border-radius: 6px; }

/* Öne çıkan: fotoğraf + alıntı + rakamlar */
.it-nw-photo { position: relative; padding-bottom: 70px; }
.it-nw-photo .it-press-photo { border-radius: 18px; }
.it-nw-quote { position: absolute; right: -12px; bottom: 0; width: 80%; margin: 0; padding: 26px 28px 22px 74px; border-radius: 18px;
  background: #313e5b; color: #ffffff; box-shadow: 0 24px 48px rgba(31, 40, 64, 0.28); }
.it-nw-quote::before { content: "\201C"; position: absolute; left: 20px; top: 4px; font-family: 'Lato', sans-serif; font-weight: 900; font-size: 96px; line-height: 1; color: #437eeb; }
.it-nw-quote blockquote { margin: 0; padding: 0; border: 0; background: none; }
.it-nw-quote p { margin: 0 0 10px; font-family: 'Lato', sans-serif; font-weight: 700; font-size: 21px; line-height: 1.4; color: #ffffff; }
.it-nw-quote figcaption { font-size: 13.5px; color: #b8c0d6; }
.it-nw-spot-text { font-size: 17px; line-height: 1.8; }
.it-nw-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px; }
.it-nw-stat { margin: 0; padding: 22px 20px; text-align: left; border-radius: 16px; border: 1px solid #e6ebfa; background: #ffffff; box-shadow: 0 10px 24px rgba(49, 62, 91, 0.06); }
.it-nw-stat .it-figure-value { font-size: 34px; line-height: 1.1; color: #437eeb; margin-bottom: 8px; }
.it-nw-stat p { margin: 0; font-size: 14px; line-height: 1.5; }

/* Yayında rozeti */
.it-nw-onair { position: absolute; left: 16px; top: 16px; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 20px;
  background: rgba(31, 40, 64, 0.82); color: #ffffff; font-family: 'Lato', sans-serif; font-weight: 900; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
.it-nw-onair i { width: 8px; height: 8px; border-radius: 50%; background: #f0506e; animation: it-nw-live 1.4s ease-in-out infinite; }

/* Haber duvarı */
.it-nw-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding-top: 10px; }
@media (max-width: 1199px) { .it-nw-cards { grid-template-columns: repeat(2, 1fr); } }
.it-nw-card { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 20px 22px; border-radius: 16px; border: 1px solid #e6ebfa; background: #ffffff;
  color: #313e5b; text-decoration: none !important; box-shadow: 0 10px 24px rgba(49, 62, 91, 0.06); transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; }
.it-nw-card:hover { transform: translateY(-4px); border-color: #437eeb; box-shadow: 0 18px 36px rgba(49, 62, 91, 0.12); }
.it-nw-src { display: flex; align-items: center; gap: 10px; font-family: 'Lato', sans-serif; font-weight: 700; font-size: 13.5px; color: #525f81; }
.it-nw-src .it-press-logo { margin: 0; }
.it-nw-kind { margin-left: auto; padding: 3px 10px; border-radius: 20px; background: #fff3e0; color: #d9821e; font-size: 12px; }
.it-nw-title { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 17.5px; line-height: 1.38; color: #313e5b; }
.it-nw-more { margin-top: auto; font-family: 'Lato', sans-serif; font-weight: 700; font-size: 14px; color: #437eeb; }
.it-nw-more i { display: inline-block; margin-left: 6px; font-style: normal; transition: transform 0.25s ease; }
.it-nw-card:hover .it-nw-more i { transform: translateX(4px); }
.it-nw-card.is-featured { grid-column: 1 / -1; background: #313e5b; border-color: #313e5b; padding: 26px 28px; }
.it-nw-card.is-featured .it-nw-title { font-size: 24px; color: #ffffff; }
.it-nw-card.is-featured .it-nw-src { color: #c9d5f3; }
.it-nw-card.is-featured .it-nw-more { color: #7aa5f3; }
.it-nw-card.is-featured:hover { border-color: #437eeb; }

@keyframes it-nw-live { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
@keyframes it-nw-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

@media (prefers-reduced-motion: no-preference) {
  .it-hp-card.is-slam { animation: it-hp-slam 0.6s cubic-bezier(0.2, 0.9, 0.25, 1.15) both; }
  .it-hp-card.is-slam .it-hp-burst { animation: it-hp-burst 0.7s 0.32s ease-out both; }
  /* Haber duvarı: kart ekrana girince "iner" (NewsWall data-landed verir) */
  .it-js .it-nw-card:not([data-landed]) { opacity: 0; transform: translateY(-28px) scale(1.12) rotate(-1.5deg); }
  .it-nw-card[data-landed] { animation: it-nw-stamp 0.52s cubic-bezier(0.2, 0.9, 0.25, 1.2) backwards; }
  .it-nw-card[data-landed]::after { content: ""; position: absolute; inset: -1px; border-radius: 16px; border: 2px solid #437eeb; opacity: 0; pointer-events: none;
    animation: it-nw-ink 0.6s 0.24s ease-out backwards; }
}
@keyframes it-hp-slam {
  0% { opacity: 0; transform: translate(-50%, -50%) translate(var(--x), calc(var(--y) - 70px)) rotate(calc(var(--r) + 10deg)) scale(1.4); box-shadow: 0 70px 90px rgba(49, 62, 91, 0.25); }
  58% { opacity: 1; transform: translate(-50%, -50%) translate(var(--x), var(--y)) rotate(var(--r)) scale(0.965); }
  78% { transform: translate(-50%, -50%) translate(var(--x), var(--y)) rotate(var(--r)) scale(1.015); }
  100% { opacity: 1; transform: translate(-50%, -50%) translate(var(--x), var(--y)) rotate(var(--r)) scale(1); box-shadow: 0 22px 44px rgba(49, 62, 91, 0.14); }
}
@keyframes it-hp-burst { 0% { opacity: 0.7; transform: scale(0.98); } 100% { opacity: 0; transform: scale(1.1); } }
@keyframes it-nw-stamp {
  0% { opacity: 0; transform: translateY(-28px) scale(1.12) rotate(-1.5deg); box-shadow: 0 40px 60px rgba(49, 62, 91, 0.22); }
  55% { opacity: 1; transform: translateY(0) scale(0.97) rotate(0); }
  78% { transform: scale(1.012); }
  100% { opacity: 1; transform: none; }
}
@keyframes it-nw-ink { 0% { opacity: 0.75; transform: scale(1); } 100% { opacity: 0; transform: scale(1.045); } }

@media (prefers-reduced-motion: reduce) {
  .it-nw-kicker::before, .it-nw-onair i { animation: none; }
  .it-nw-ticker-track { animation: none; flex-wrap: wrap; width: auto; }
  .it-nw-ticker-track li[aria-hidden] { display: none; }
}

@media (max-width: 991px) {
  .it-nw-hero .title { font-size: 36px; }
}
@media (max-width: 767px) {
  .it-nw-count strong { font-size: 68px; }
  .it-hp-desk { height: 290px; }
  .it-hp-card { padding: 18px 20px 22px; min-height: 170px; }
  .it-hp-title { font-size: 18.5px; }
  .it-nw-ticker-label { padding: 0 22px 0 14px; font-size: 11.5px; }
  .it-nw-photo { padding-bottom: 0; }
  .it-nw-quote { position: relative; right: auto; width: auto; margin: -36px 12px 0; padding: 24px 22px 20px 64px; }
  .it-nw-quote p { font-size: 18px; }
  .it-nw-stats { grid-template-columns: 1fr; }
  .it-nw-cards { grid-template-columns: 1fr; }
  .it-nw-card.is-featured .it-nw-title { font-size: 20px; }
}

/* Tema telefonda hero başlığını ortalıyor; basın odasında sayaç ve metinle aynı hizada (sola) kalsın */
@media (max-width: 991px) {
  .it-nw-hero.iq-breadcrumb-one nav.text-left, .it-nw-hero.iq-breadcrumb-one .text-left, .it-nw-hero .title, .it-nw-hero .breadcrumb { text-align: left !important; }
  .it-nw-hero .breadcrumb { justify-content: flex-start; }
}

/* Haber duvarı: kart gövdesi (tüm kartlar) ve basılı haber kartı (gazete görselli, geniş) */
.it-nw-print-body { display: flex; flex-direction: column; gap: 12px; flex: 1; min-width: 0; }
.it-nw-card.is-print { grid-column: 1 / -1; flex-direction: row; align-items: stretch; gap: 28px; padding: 22px; border-color: #c9d5f3; }
.it-nw-print-img { flex: 0 0 44%; overflow: hidden; border-radius: 12px; background: #f3f1ec; box-shadow: 0 10px 24px rgba(49, 62, 91, 0.12); }
.it-nw-print-img img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; object-position: top; transition: transform 0.4s ease; }
.it-nw-card.is-print:hover .it-nw-print-img img { transform: scale(1.03); }
.it-nw-card.is-print .it-nw-title { font-size: 24px; }
.it-nw-quote-line { padding-left: 14px; border-left: 3px solid #437eeb; font-family: 'Lato', sans-serif; font-weight: 700; font-size: 16px; line-height: 1.5; color: #313e5b; }
.it-nw-summary { font-size: 15px; line-height: 1.7; color: #525f81; }
@media (max-width: 767px) {
  .it-nw-card.is-print { flex-direction: column; gap: 18px; padding: 16px; }
  .it-nw-print-img { flex: none; }
  .it-nw-card.is-print .it-nw-title { font-size: 20px; }
}

/* ---------- /big-data/ mimari akışı (components/motion/BigDataFlow.tsx) ---------- */
.it-bd svg { display: block; width: 100%; height: auto; overflow: visible; }
.it-bd-v { max-width: 420px; margin: 0 auto; }
.it-bd-col { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; fill: #9aa6c4; text-anchor: middle; }
.it-bd-tile { fill: #ffffff; stroke: #dee2fb; stroke-width: 1.5; filter: drop-shadow(0 6px 14px rgba(49, 62, 91, 0.08)); }
.it-bd-ico, .it-bd-ico path, .it-bd-ico ellipse { fill: none; stroke: #ffffff; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.it-bd-tile-label { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 15px; fill: #313e5b; }
.it-bd-tile-label.is-sm { font-size: 12.5px; }
.it-bd-tile-ex { font-family: 'Lato', sans-serif; font-size: 12px; fill: #8a94ad; }
.it-bd-tile-ex.is-sm { font-size: 10px; }
.it-bd-wire { fill: none; stroke: #c9d5f3; stroke-width: 2; stroke-dasharray: 5 6; }
.it-bd-pkt { opacity: 0; offset-rotate: 0deg; animation: it-bd-flow 3s linear infinite; }
.it-bd-pkt.is-clean { fill: #437eeb; }
.it-bd-rep { fill: #7aa5f3; }
.it-bd-etl { fill: #313e5b; filter: drop-shadow(0 14px 26px rgba(49, 62, 91, 0.24)); }
.it-bd-etl-title { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 22px; letter-spacing: 0.06em; fill: #ffffff; text-anchor: middle; }
.it-bd-bin { font-family: Consolas, 'Courier New', monospace; font-size: 13px; letter-spacing: 0.18em; fill: #7aa5f3; animation: it-bd-bin 4s linear infinite; }
.it-bd-gear { transform-box: fill-box; transform-origin: center; fill: #7aa5f3; animation: it-bd-spin 6s linear infinite; }
.it-bd-gear.is-rev { animation-direction: reverse; animation-duration: 4s; fill: #22b8cf; }
.it-bd-gear.is-proc { fill: #437eeb; animation-duration: 5s; filter: drop-shadow(0 8px 16px rgba(67, 126, 235, 0.3)); }
.it-bd-gear-hole { fill: #313e5b; }
.it-bd-gear.is-proc .it-bd-gear-hole { fill: #ffffff; }
.it-bd-stage { fill: #3a4766; animation: it-bd-stage 3s ease-in-out infinite; }
.it-bd-stage-text { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 14px; fill: #ffffff; text-anchor: middle; }
.it-bd-stage-text.is-sm { font-size: 12.5px; }
.it-bd-lake { fill: #f5f7fe; stroke: #c9d5f3; stroke-width: 2; stroke-dasharray: 7 6; }
.it-bd-link { fill: none; stroke: #c9d5f3; stroke-width: 2.5; }
.it-bd-node rect { fill: #313e5b; stroke: #313e5b; stroke-width: 2; animation: it-bd-node 2.7s ease-in-out infinite; animation-delay: inherit; }
.it-bd-node-db { fill: none; stroke: #ffffff; stroke-width: 1.8; }
.it-bd-lake-title { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 17px; fill: #313e5b; text-anchor: middle; }
.it-bd-lake-pill { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 14px; letter-spacing: 0.04em; fill: #437eeb; text-anchor: middle; }
.it-bd-proc { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 13.5px; fill: #313e5b; text-anchor: middle; }
.it-bd-card-bg { fill: #ffffff; stroke: #dee2fb; stroke-width: 1.5; filter: drop-shadow(0 8px 18px rgba(49, 62, 91, 0.08)); }
.it-bd-card-title { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 15px; fill: #313e5b; }
.it-bd-card-title.is-sm { font-size: 11.5px; }
.it-bd-row-bg { fill: #f5f7fe; animation: it-bd-rowlit 3.6s ease-in-out infinite; animation-delay: inherit; }
.it-bd-row-dot { fill: #e6eefe; }
.it-bd-oico { fill: none; stroke: #437eeb; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.it-bd-row-text { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 14px; fill: #313e5b; }
.it-bd-row-text.is-sm { font-size: 12px; }
/* Uyarı kartı: 6 sn'de bir kırmızı paket gelir, uyarı yanar, e-posta zıplar */
.it-bd-alert-pkt { fill: #f0506e; animation: it-bd-alertpkt 6s ease-in infinite; }
.it-bd-card.is-alert .it-bd-row-bg { animation: none; }
.it-bd-row-alert .it-bd-row-dot { fill: #fdecef; animation: it-bd-alertdot 6s ease-out infinite; }
.it-bd-alert-ico { stroke: #f0506e; }
.it-bd-row-mail { transform-box: fill-box; transform-origin: center; animation: it-bd-mail 6s ease-out infinite; animation-delay: 0s !important; }
.it-bd.is-paused * { animation-play-state: paused; }

@keyframes it-bd-flow { 0% { offset-distance: 0%; opacity: 0; } 8% { opacity: 1; } 92% { opacity: 1; } 100% { offset-distance: 100%; opacity: 0; } }
@keyframes it-bd-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes it-bd-bin { from { transform: translateX(0); } to { transform: translateX(-140px); } }
@keyframes it-bd-stage { 0% { fill: #3a4766; } 6%, 30% { fill: var(--c); } 38%, 100% { fill: #3a4766; } }
@keyframes it-bd-node { 0%, 100% { stroke: #313e5b; } 12%, 24% { stroke: #7aa5f3; } }
@keyframes it-bd-rowlit { 0%, 40%, 100% { fill: #f5f7fe; } 10%, 28% { fill: #e3ecfd; } }
@keyframes it-bd-alertpkt { 0%, 50% { offset-distance: 0%; opacity: 0; } 53% { opacity: 1; } 72% { offset-distance: 100%; opacity: 1; } 75%, 100% { offset-distance: 100%; opacity: 0; } }
@keyframes it-bd-alertdot { 0%, 72% { fill: #fdecef; } 75%, 88% { fill: #ffc9d3; } 96%, 100% { fill: #fdecef; } }
@keyframes it-bd-mail { 0%, 80% { transform: translateY(0); } 84% { transform: translateY(-5px); } 88% { transform: translateY(0); } 91% { transform: translateY(-2px); } 94%, 100% { transform: translateY(0); } }

@media (prefers-reduced-motion: reduce) {
  .it-bd-pkt, .it-bd-alert-pkt { animation: none; opacity: 0; }
  .it-bd-gear, .it-bd-bin, .it-bd-node rect, .it-bd-row-bg, .it-bd-row-alert .it-bd-row-dot, .it-bd-row-mail { animation: none; }
  .it-bd-stage { animation: none; fill: var(--c); }
}

/* Gündemde bandı sürüklenebilir (components/press/NewsTicker.tsx): JS devredeyken CSS akışı kapanır, konumu JS verir */
.it-nw-ticker-viewport { cursor: grab; touch-action: pan-y; user-select: none; -webkit-user-select: none; outline: none; }
.it-nw-ticker-viewport.is-dragging { cursor: grabbing; }
.it-nw-ticker-viewport:focus-visible { box-shadow: inset 0 0 0 2px #7aa5f3; }
.it-nw-ticker-viewport[data-drive] .it-nw-ticker-track { animation: none; will-change: transform; }
.it-nw-ticker-track img { pointer-events: none; -webkit-user-drag: none; }

/* Başlık yığını: elle ileri/geri (HeadlinePile) */
.it-hp { outline: none; }
.it-hp:focus-visible .it-hp-desk { outline: 2px solid #7aa5f3; outline-offset: 8px; border-radius: 20px; }
.it-hp-desk { touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.it-hp-card { -webkit-user-drag: none; }
.it-hp-card img { pointer-events: none; -webkit-user-drag: none; }
.it-hp-nav { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; padding: 0; border: 1px solid #dee2fb; border-radius: 50%; background: #ffffff; color: #313e5b; cursor: pointer; box-shadow: 0 6px 14px rgba(49, 62, 91, 0.08); transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease; }
.it-hp-nav svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.it-hp-nav:hover { background: #437eeb; border-color: #437eeb; color: #ffffff; }
.it-hp-nav:active { transform: scale(0.94); }
.it-hp-nav:focus-visible { outline: 2px solid #7aa5f3; outline-offset: 2px; }
.it-hp-card.is-leave { pointer-events: none; animation: it-hp-leave 0.45s cubic-bezier(0.4, 0, 0.8, 0.4) forwards; }
@keyframes it-hp-leave { from { opacity: 1; transform: translate(-50%, -50%) translate(var(--x), var(--y)) rotate(var(--r)); } to { opacity: 0; transform: translate(-50%, -50%) translate(calc(var(--x) + 40px), calc(var(--y) - 140px)) rotate(calc(var(--r) - 12deg)) scale(1.08); } }
@media (prefers-reduced-motion: reduce) { .it-hp-card.is-leave { animation: none; display: none; } }

/* ---------- /artificial-intelligence/ keşifsel analiz + öznitelik mühendisliği (DsFeatures.tsx) ---------- */
.it-dsf { max-width: 460px; margin: 0 auto; }
.it-dsf svg, .it-agl svg, .it-dbr svg { display: block; width: 100%; height: auto; overflow: visible; }
.it-dsf-card { fill: #ffffff; stroke: #dee2fb; stroke-width: 1.5; filter: drop-shadow(0 16px 32px rgba(49, 62, 91, 0.1)); }
.it-dsf-step { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 13px; fill: #313e5b; }
.it-dsf-axis { stroke: #dee2fb; stroke-width: 1.5; }
.it-dsf-trend { fill: none; stroke: #f59f3a; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 340; }
.it-dsf-ring { fill: none; stroke: #f0506e; stroke-width: 2; }
.it-dsf-tag { fill: #f0506e; }
.it-dsf-tag-text { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 11.5px; fill: #ffffff; text-anchor: middle; }
.it-dsf-th { fill: #eff1fe; }
.it-dsf-th.is-new { fill: #ddf5ec; }
.it-dsf-th-text { font-family: Consolas, 'Courier New', monospace; font-size: 10.5px; fill: #525f81; text-anchor: middle; }
.it-dsf-th-text.is-new { fill: #1f9d73; font-weight: 700; }
.it-dsf-cell { fill: #dde4f6; }
.it-dsf-cell.is-new { fill: #2fbf8f; opacity: 0.55; }
.it-dsf-ready { fill: #2fbf8f; filter: drop-shadow(0 8px 16px rgba(47, 191, 143, 0.35)); }
.it-dsf-ready-text { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 13.5px; fill: #ffffff; text-anchor: middle; }

/* ---------- /artificial-intelligence/ ajan döngüsü (AgentLoop.tsx) ---------- */
.it-agl-v { max-width: 400px; margin: 0 auto; }
.it-agl-col { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; fill: #9aa6c4; text-anchor: middle; }
.it-agl-wire { stroke: #c9d5f3; stroke-width: 2; stroke-dasharray: 5 6; }
.it-agl-mcp { fill: #ffffff; stroke: #c9d5f3; stroke-width: 1.5; }
.it-agl-mcp-text { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 9.5px; letter-spacing: 0.06em; fill: #437eeb; text-anchor: middle; }
.it-agl-req { fill: #313e5b; }
.it-agl-card { fill: #ffffff; stroke: #dee2fb; stroke-width: 1.5; filter: drop-shadow(0 8px 18px rgba(49, 62, 91, 0.08)); transition: stroke 0.3s ease; }
.it-agl-ico, .it-agl-ico path, .it-agl-ico ellipse { fill: none; stroke: #ffffff; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.it-agl-label { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 14px; fill: #313e5b; }
.it-agl-halo { fill: #437eeb; opacity: 0.3; }
.it-agl-core { fill: #313e5b; filter: drop-shadow(0 14px 26px rgba(49, 62, 91, 0.28)); }
.it-agl-gear { fill: #7aa5f3; }
.it-agl-gear.is-alt { fill: #22b8cf; }
.it-agl-gear-hole { fill: #313e5b; }
.it-agl-core-title { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 12px; fill: #ffffff; text-anchor: middle; }
.it-agl-chip { fill: #eff1fe; transition: fill 0.3s ease; }
.it-agl-chip.is-done { fill: #2fbf8f; }
.it-agl-chip-text { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 12.5px; fill: #313e5b; text-anchor: middle; }
.it-agl-chip.is-done + .it-agl-chip-text { fill: #ffffff; }
.it-agl-dot { fill: #dee2fb; transition: fill 0.3s ease; }
.it-agl-dot.is-on { fill: #437eeb; }
.it-agl-mini { fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- /dba-services/ DBA radarı (DbaRadar.tsx) ---------- */
.it-dbr { max-width: 440px; margin: 0 auto; }
.it-dbr-ring { fill: none; stroke: #dee2fb; stroke-width: 1.5; stroke-dasharray: 4 6; }
.it-dbr-beam { stroke: #437eeb; stroke-width: 2; opacity: 0.6; }
.it-dbr-halo { fill: #2fbf8f; opacity: 0; }
.it-dbr-ico { fill: none; stroke: #ffffff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.it-dbr-ok { fill: #2fbf8f; stroke: #ffffff; stroke-width: 2; }
.it-dbr-ok-tick { fill: none; stroke: #ffffff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.it-dbr-label { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 11.5px; fill: #313e5b; text-anchor: middle; }
.it-dbr-core { fill: #313e5b; filter: drop-shadow(0 14px 26px rgba(49, 62, 91, 0.26)); }
.it-dbr-db { fill: none; stroke: #ffffff; stroke-width: 2; }
.it-dbr-db ellipse, .it-dbr-db path { fill: none; }
.it-dbr-core-text { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 11px; letter-spacing: 0.06em; fill: #7aa5f3; text-anchor: middle; }

/* ---------- /it-services/ BT operasyon panosu (ItOps.tsx) ---------- */
.it-ops { display: grid; grid-template-columns: 300px 1fr; gap: 24px; margin-top: 10px; padding: 26px; border-radius: 24px; border: 1px solid #dee2fb;
  background: linear-gradient(135deg, #f5f7fe, #eef2fd); }
.it-ops-team { display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: 20px; background: #313e5b; color: #ffffff;
  box-shadow: 0 18px 36px rgba(49, 62, 91, 0.25); }
.it-ops-live { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 20px; background: rgba(255, 255, 255, 0.1);
  font-family: 'Lato', sans-serif; font-weight: 900; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
.it-ops-live i { width: 8px; height: 8px; border-radius: 50%; background: #2fbf8f; box-shadow: 0 0 0 0 rgba(47, 191, 143, 0.6); animation: it-ops-live 1.8s ease-out infinite; }
.it-ops-avatars { display: flex; margin: 6px 0 2px; }
.it-ops-avatars span { width: 46px; height: 46px; margin-right: -12px; border-radius: 50%; border: 3px solid #313e5b; background: linear-gradient(135deg, #7aa5f3, #437eeb);
  animation: it-ops-bob 3s ease-in-out infinite; animation-delay: var(--d); }
.it-ops-avatars span:nth-child(2) { background: linear-gradient(135deg, #5fd3e6, #22b8cf); }
.it-ops-avatars span:nth-child(3) { background: linear-gradient(135deg, #a99ff6, #7c6cf2); }
.it-ops-team strong { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 20px; line-height: 1.3; }
.it-ops-team p { margin: 0; font-size: 14.5px; line-height: 1.6; color: #c9d5f3; }
.it-ops-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.it-ops-tile { display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto auto; column-gap: 12px; row-gap: 6px; align-items: center;
  padding: 18px; border-radius: 16px; border: 1.5px solid #e6ebfa; background: #ffffff; box-shadow: 0 8px 18px rgba(49, 62, 91, 0.06);
  transition: border-color 0.3s ease, transform 0.3s ease; }
.it-ops-tile.is-s2 { border-color: #bfe9d9; }
.it-ops-tile.is-s1 { transform: translateY(-3px); border-color: var(--c); }
.it-ops-icon { grid-row: 1 / 3; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: var(--c); }
.it-ops-icon svg { width: 22px; height: 22px; fill: none; stroke: #ffffff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.it-ops-name { font-family: 'Lato', sans-serif; font-weight: 900; font-size: 15px; line-height: 1.3; color: #313e5b; }
.it-ops-status { font-family: 'Lato', sans-serif; font-weight: 700; font-size: 12.5px; transition: color 0.3s ease; }
.it-ops-tile.is-s0 .it-ops-status { color: #d9821e; }
.it-ops-tile.is-s1 .it-ops-status { color: #437eeb; }
.it-ops-tile.is-s2 .it-ops-status { color: #1f9d73; }
.it-ops-bar { grid-column: 1 / -1; height: 6px; border-radius: 6px; background: #eef2fd; overflow: hidden; }
.it-ops-bar i { display: block; height: 100%; border-radius: 6px; background: #437eeb; transition: width 0.25s linear, background 0.3s ease; }
.it-ops-tile.is-s0 .it-ops-bar i { background: #f59f3a; }
.it-ops-tile.is-s2 .it-ops-bar i { background: #2fbf8f; }
@keyframes it-ops-live { 0% { box-shadow: 0 0 0 0 rgba(47, 191, 143, 0.6); } 100% { box-shadow: 0 0 0 10px rgba(47, 191, 143, 0); } }
@keyframes it-ops-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@media (max-width: 991px) {
  .it-ops { grid-template-columns: 1fr; padding: 18px; }
  .it-ops-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .it-ops-grid { gap: 10px; }
  .it-ops-tile { grid-template-columns: 1fr; padding: 14px; }
  .it-ops-icon { grid-row: auto; width: 38px; height: 38px; }
  .it-ops-name { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .it-ops-live i, .it-ops-avatars span { animation: none; }
  .it-ops-tile, .it-ops-bar i { transition: none; }
}

/* ---------- Sohbet asistanı (components/ChatWidget.tsx) ---------- */
/* Her şeyin önünde: mobil menü çekmecesi 1100, tema başlığı 999 */
.it-chat-root { --chat-z: 1200; font-family: 'Lato', sans-serif; }
.it-chat-on #back-to-top .top { bottom: 104px; } /* varsayılan köşede sohbet düğmesiyle çakışmasın */
.it-chat-root.is-dragging, .it-chat-root.is-dragging * { user-select: none; -webkit-user-select: none; cursor: grabbing !important; }

/* Düğme */
.it-chat-dock { position: fixed; z-index: var(--chat-z); width: 60px; height: 60px; }
.it-chat-launcher { position: relative; width: 60px; height: 60px; padding: 0; border: 0; border-radius: 50%; cursor: grab; touch-action: none;
  background: linear-gradient(135deg, #5b8ff0, #437eeb 55%, #2f6ad6); color: #ffffff; box-shadow: 0 16px 34px rgba(67, 126, 235, 0.42);
  display: inline-flex; align-items: center; justify-content: center; transition: transform 0.25s cubic-bezier(0.2, 0.9, 0.3, 1.3), box-shadow 0.25s ease; }
.it-chat-launcher:hover { transform: scale(1.06); box-shadow: 0 20px 40px rgba(67, 126, 235, 0.5); }
.it-chat-launcher:active { cursor: grabbing; }
.it-chat-launcher:focus-visible { outline: 3px solid #7aa5f3; outline-offset: 4px; }
.it-chat-launcher svg { position: absolute; width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  transition: transform 0.35s cubic-bezier(0.2, 0.9, 0.3, 1.3), opacity 0.2s ease; }
.it-chat-ico-close { opacity: 0; transform: rotate(-90deg) scale(0.6); }
.it-chat-launcher.is-open .it-chat-ico-chat { opacity: 0; transform: rotate(90deg) scale(0.6); }
.it-chat-launcher.is-open .it-chat-ico-close { opacity: 1; transform: none; }
.it-chat-launcher.is-open { background: #313e5b; box-shadow: 0 14px 30px rgba(31, 40, 64, 0.35); }
.it-chat-launcher-ring { position: absolute; inset: 0; border-radius: 50%; border: 2px solid #437eeb; opacity: 0; animation: it-chat-ring 2.8s ease-out infinite; pointer-events: none; }
.it-chat-launcher.is-open .it-chat-launcher-ring { animation: none; }
.it-chat-online { position: absolute; right: 3px; top: 3px; width: 13px; height: 13px; border-radius: 50%; background: #2fbf8f; border: 2.5px solid #ffffff; }
.it-chat-badge { position: absolute; left: -4px; top: -4px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: #f0506e; color: #ffffff;
  font-size: 12px; font-weight: 900; line-height: 22px; text-align: center; border: 2px solid #ffffff; animation: it-chat-pop 0.45s cubic-bezier(0.2, 0.9, 0.3, 1.5); }
.it-chat-hint { position: absolute; right: 72px; top: 50%; white-space: nowrap; padding: 10px 16px; border: 0; border-radius: 18px 18px 4px 18px; cursor: pointer;
  background: #ffffff; color: #313e5b; font-family: 'Lato', sans-serif; font-weight: 700; font-size: 14px; box-shadow: 0 12px 28px rgba(31, 40, 64, 0.18);
  transform: translateY(-50%); animation: it-chat-hint 0.5s cubic-bezier(0.2, 0.9, 0.3, 1.3) both; }
.it-chat-hint.is-right { right: auto; left: 72px; border-radius: 18px 18px 18px 4px; }

/* Panel */
.it-chat { position: fixed; z-index: var(--chat-z); display: flex; flex-direction: column; overflow: hidden; margin: 0; padding: 0 !important;
  border-radius: 22px; background: #ffffff; border: 1px solid rgba(201, 213, 243, 0.8); box-shadow: 0 34px 70px rgba(31, 40, 64, 0.28), 0 4px 12px rgba(31, 40, 64, 0.08);
  transform-origin: var(--origin, 100% 100%); }
.it-chat.is-opening { animation: it-chat-open 0.46s cubic-bezier(0.18, 1.25, 0.4, 1) both; }
.it-chat.is-closing { animation: it-chat-close 0.23s cubic-bezier(0.5, 0, 0.75, 0) both; }
.it-chat.is-mobile { inset: 0; width: 100vw; height: 100dvh; border-radius: 0; border: 0; }
.it-chat-root.is-dragging .it-chat { box-shadow: 0 44px 90px rgba(31, 40, 64, 0.34); }

.it-chat-head { position: relative; display: flex; align-items: center; gap: 12px; padding: 14px 12px 14px 16px; color: #ffffff; cursor: grab; touch-action: none;
  background: linear-gradient(120deg, #313e5b 0%, #3a5a9e 60%, #437eeb 130%); background-size: 160% 100%; animation: it-chat-sheen 9s ease-in-out infinite alternate; }
.it-chat.is-mobile .it-chat-head { cursor: default; padding-top: max(14px, env(safe-area-inset-top)); }
.it-chat-head-text { flex: 1; min-width: 0; }
.it-chat-head h2 { margin: 0; padding: 0; font-size: 16px; font-weight: 900; line-height: 1.3; color: #ffffff; }
.it-chat-head p { margin: 2px 0 0; font-size: 12px; line-height: 1.4; color: #c9d5f3; display: flex; align-items: center; gap: 6px; }
.it-chat-dot { flex: none; width: 7px; height: 7px; border-radius: 50%; background: #2fbf8f; box-shadow: 0 0 0 0 rgba(47, 191, 143, 0.6); animation: it-chat-live 1.8s ease-out infinite; }
.it-chat-avatar { position: relative; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%;
  background: linear-gradient(135deg, #7aa5f3, #437eeb); font-weight: 900; font-size: 13px; letter-spacing: 0.04em; }
.it-chat-avatar i { position: absolute; inset: -4px; border-radius: 50%; border: 2px solid rgba(122, 165, 243, 0.6); animation: it-chat-ring 2.8s ease-out infinite; }
.it-chat-grip { display: grid; grid-template-columns: repeat(2, 4px); gap: 3px; margin-right: 2px; opacity: 0.5; }
.it-chat-grip i { width: 4px; height: 4px; border-radius: 50%; background: #ffffff; }
.it-chat-head:hover .it-chat-grip { opacity: 0.9; }
.it-chat-icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 10px;
  background: rgba(255, 255, 255, 0.1); color: #ffffff; cursor: pointer; transition: background 0.2s ease; }
.it-chat-icon:hover { background: rgba(255, 255, 255, 0.22); }
.it-chat-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.it-chat-list { flex: 1; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 10px; padding: 18px 16px;
  background: radial-gradient(120% 60% at 100% 0%, #eef3ff 0%, #f5f7fe 60%); scroll-behavior: smooth; }
.it-chat-msg { max-width: 86%; margin: 0; padding: 10px 14px; border-radius: 18px; font-size: 14.5px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere;
  animation: it-chat-in 0.38s cubic-bezier(0.2, 0.9, 0.3, 1.15) both; animation-delay: calc(var(--i, 0) * 90ms + 120ms); }
.it-chat-msg.is-assistant { align-self: flex-start; background: #ffffff; color: #313e5b; border: 1px solid #e6ebfa; border-bottom-left-radius: 6px; box-shadow: 0 4px 12px rgba(49, 62, 91, 0.05); }
.it-chat-msg.is-user { align-self: flex-end; background: linear-gradient(135deg, #5b8ff0, #437eeb); color: #ffffff; border-bottom-right-radius: 6px; transform-origin: 100% 100%; }
.it-chat-caret { display: inline-block; width: 7px; height: 1.05em; margin-left: 2px; vertical-align: -0.15em; border-radius: 2px; background: #437eeb; animation: it-chat-blink 0.9s steps(1) infinite; }
.it-chat-suggest { display: flex; flex-wrap: wrap; gap: 8px; }
.it-chat-suggest button { padding: 8px 13px; border: 1px solid #c9d5f3; border-radius: 16px; background: #ffffff; color: #437eeb; font-size: 13px; font-weight: 700; cursor: pointer;
  animation: it-chat-in 0.38s cubic-bezier(0.2, 0.9, 0.3, 1.15) both; animation-delay: calc(var(--i, 0) * 90ms + 160ms); transition: background 0.2s ease, transform 0.2s ease; }
.it-chat-suggest button:hover { background: #eff1fe; transform: translateY(-1px); }
.it-chat-typing { align-self: flex-start; display: inline-flex; align-items: center; gap: 5px; margin: 0; padding: 13px 15px; border-radius: 18px; border-bottom-left-radius: 6px;
  background: #ffffff; border: 1px solid #e6ebfa; animation: it-chat-in 0.3s ease both; }
.it-chat-typing i { width: 7px; height: 7px; border-radius: 50%; background: #9aa6c4; animation: it-chat-dotb 1.2s ease-in-out infinite; }
.it-chat-typing i:nth-child(2) { animation-delay: 0.15s; }
.it-chat-typing i:nth-child(3) { animation-delay: 0.3s; }
.it-chat-error { align-self: stretch; margin: 0; padding: 10px 12px; border-radius: 12px; background: #fdecef; color: #b4233c; font-size: 13.5px; line-height: 1.5; animation: it-chat-in 0.3s ease both; }

.it-chat-form { position: relative; display: flex; align-items: flex-end; gap: 8px; padding: 12px 12px 6px; border-top: 1px solid #eef2fd; background: #ffffff; }
.it-chat-form textarea { flex: 1; min-height: 44px; max-height: 120px; height: auto !important; padding: 11px 14px; resize: none; border: 1px solid #dee2fb; border-radius: 14px;
  font: inherit; font-size: 14.5px; line-height: 1.5; color: #313e5b; box-shadow: none; field-sizing: content; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.it-chat-form textarea:focus { outline: none; border-color: #437eeb; box-shadow: 0 0 0 3px rgba(67, 126, 235, 0.15); }
.it-chat-send { flex: none; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 13px; background: #437eeb; color: #ffffff; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; transition: transform 0.2s ease, background 0.2s ease; }
.it-chat-send:not(:disabled):hover { transform: translateY(-1px) rotate(-8deg); }
.it-chat-send:disabled { background: #c9d5f3; cursor: default; }
.it-chat-send svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linejoin: round; }
.it-chat-skip { position: absolute; left: 50%; top: -40px; transform: translateX(-50%); padding: 6px 14px; border: 1px solid #c9d5f3; border-radius: 16px;
  background: #ffffff; color: #437eeb; font-size: 12.5px; font-weight: 700; cursor: pointer; box-shadow: 0 6px 14px rgba(49, 62, 91, 0.1); animation: it-chat-in 0.25s ease both; }
.it-chat-note { margin: 0; padding: 0 14px 10px; font-size: 11.5px; line-height: 1.4; color: #8a94ad; background: #ffffff; }

@keyframes it-chat-open { 0% { opacity: 0; transform: scale(0.2); border-radius: 50%; } 55% { opacity: 1; } 100% { opacity: 1; transform: scale(1); } }
@keyframes it-chat-close { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(0.2); } }
@keyframes it-chat-in { from { opacity: 0; transform: translateY(10px) scale(0.96); } to { opacity: 1; transform: none; } }
@keyframes it-chat-ring { 0% { opacity: 0.55; transform: scale(1); } 100% { opacity: 0; transform: scale(1.45); } }
@keyframes it-chat-pop { 0% { transform: scale(0); } 70% { transform: scale(1.2); } 100% { transform: scale(1); } }
@keyframes it-chat-hint { from { opacity: 0; transform: translate(12px, -50%) scale(0.9); } to { opacity: 1; transform: translate(0, -50%) scale(1); } }
@keyframes it-chat-sheen { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }
@keyframes it-chat-live { 0% { box-shadow: 0 0 0 0 rgba(47, 191, 143, 0.6); } 100% { box-shadow: 0 0 0 7px rgba(47, 191, 143, 0); } }
@keyframes it-chat-dotb { 0%, 80%, 100% { opacity: 0.3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-4px); } }
@keyframes it-chat-blink { 50% { opacity: 0; } }

@media (max-width: 575px) {
  .it-chat-on #back-to-top .top { bottom: 90px; }
  .it-chat-hint { font-size: 13px; }
}

/* ---- Mobil: tam ekran, görünen alana (klavye üstü) oturan panel ---- */
html.it-chat-lock, html.it-chat-lock body { overflow: hidden !important; overscroll-behavior: none; }
html.it-chat-lock .it-chat-dock { visibility: hidden; } /* düğme panelin altından gönder düğmesine binmesin */
.it-chat.is-mobile { inset: auto; left: 0; right: 0; top: var(--vvt, 0px); width: 100%; height: var(--vvh, 100dvh); max-height: none;
  border-radius: 0; border: 0; box-shadow: none; transform-origin: 50% 100%; }
.it-chat.is-mobile.is-opening { animation: it-chat-sheet 0.38s cubic-bezier(0.2, 0.9, 0.3, 1) both; }
.it-chat.is-mobile.is-closing { animation: it-chat-sheet-out 0.23s cubic-bezier(0.5, 0, 0.75, 0) both; }
.it-chat.is-mobile .it-chat-head { gap: 10px; padding: 10px 8px 10px 14px; padding-top: max(10px, env(safe-area-inset-top)); }
.it-chat.is-mobile .it-chat-avatar { width: 34px; height: 34px; font-size: 12px; }
.it-chat.is-mobile .it-chat-avatar i { inset: -3px; }
.it-chat.is-mobile .it-chat-head h2 { font-size: 15.5px; }
.it-chat.is-mobile .it-chat-head p { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 11.5px; }
.it-chat.is-mobile .it-chat-head p .it-chat-dot { display: inline-block; margin-right: 6px; vertical-align: 1px; }
.it-chat.is-mobile .it-chat-icon { width: 38px; height: 38px; }
.it-chat.is-mobile .it-chat-list { padding: 14px 12px; }
.it-chat.is-mobile .it-chat-msg { max-width: 88%; font-size: 15px; }
.it-chat.is-mobile .it-chat-form { padding: 8px 10px; padding-bottom: max(8px, env(safe-area-inset-bottom)); }
/* iOS 16px altındaki alana odaklanınca sayfayı yakınlaştırır: mobilde 16px */
.it-chat.is-mobile .it-chat-form textarea { font-size: 16px; min-height: 44px; max-height: 96px; padding: 10px 14px; border-radius: 22px; }
.it-chat.is-mobile .it-chat-send { border-radius: 50%; }
.it-chat.is-mobile .it-chat-note { padding: 0 14px 8px; padding-bottom: max(8px, env(safe-area-inset-bottom)); font-size: 11px; }
/* klavye açıkken her piksel değerli: alt not gizlenir, form alt boşluğu küçülür */
.it-chat.is-mobile.is-kb .it-chat-note { display: none; }
.it-chat.is-mobile.is-kb .it-chat-form { padding-bottom: 8px; }
.it-chat.is-mobile .it-chat-skip { top: -36px; }
@keyframes it-chat-sheet { from { opacity: 0.4; transform: translateY(100%); } to { opacity: 1; transform: none; } }
@keyframes it-chat-sheet-out { from { transform: none; } to { transform: translateY(100%); } }
@media (prefers-reduced-motion: reduce) {
  .it-chat, .it-chat-msg, .it-chat-suggest button, .it-chat-typing, .it-chat-error, .it-chat-skip, .it-chat-badge, .it-chat-hint { animation: none !important; }
  .it-chat-launcher-ring, .it-chat-avatar i, .it-chat-dot, .it-chat-head, .it-chat-typing i, .it-chat-caret { animation: none; }
  .it-chat-launcher, .it-chat-launcher svg { transition: none; }
  .it-chat-list { scroll-behavior: auto; }
}
.it-chat-head, .it-chat-dock { user-select: none; -webkit-user-select: none; } /* çift tıklamada başlık metni seçilmesin */
