/* ============================================================================
   TOKU V3 — İletişim "zihin / hizmet evreni" orbit görseli
   Üç katmanlı dönen yörünge: iç (sürdürülebilirlik), orta (kurumsal yazılım),
   dış (yenilik). Saf CSS animasyon; JS yok. Koyu V3 temasıyla uyumlu.
   Node metinleri --a (başlangıç açısı) ile konumlanır, yazılar dik kalır.
   ============================================================================ */

.t2-mind {
    --t2-size: min(440px, 82vw);
    position: relative;
    width: var(--t2-size);
    height: var(--t2-size);
    margin-inline: auto;
    flex: 0 0 auto;
}

.t2-orbits {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
}

/* Dekoratif dış tick halkası */
.t2-orbit-ticks {
    position: absolute;
    inset: 2%;
    border-radius: 50%;
    background:
        repeating-conic-gradient(from 0deg,
            rgba(148, 163, 199, 0.28) 0deg 0.5deg,
            transparent 0.5deg 9deg);
    -webkit-mask: radial-gradient(circle, transparent 47%, #000 47.6%, #000 49%, transparent 49.6%);
            mask: radial-gradient(circle, transparent 47%, #000 47.6%, #000 49%, transparent 49.6%);
    opacity: 0.55;
    animation: t2spin 120s linear infinite;
}

/* Yörünge halkaları */
.t2-orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    border: 1px solid rgba(148, 163, 199, 0.20);
    transform: translate(-50%, -50%);
    animation: t2spin var(--dur, 40s) linear infinite;
    transform-origin: center;
}

.t2-orbit--1 { width: 38%; height: 38%; --dur: 28s; --r: calc(var(--t2-size) * 0.19); }
.t2-orbit--2 { width: 66%; height: 66%; --dur: 38s; --r: calc(var(--t2-size) * 0.33); }
.t2-orbit--3 { width: 94%; height: 94%; --dur: 52s; --r: calc(var(--t2-size) * 0.47); }

.t2-orbit--rev { animation-direction: reverse; }

/* Yörünge düğümleri (etiketler) */
.t2-node {
    position: absolute;
    top: 50%;
    left: 50%;
    /* açıya dön → yarıçap kadar dışarı çık → node'u geri düzelt */
    transform:
        translate(-50%, -50%)
        rotate(var(--a, 0deg))
        translateY(calc(var(--r, 120px) * -1))
        rotate(calc(var(--a, 0deg) * -1));
}

/* İç etiket: yörünge dönüşünü tersine çevirerek yazıyı dik tutar */
.t2-node > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    font-style: normal;
    font-size: clamp(10px, 1.5vw, 12.5px);
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 6px 12px;
    border-radius: 999px;
    color: #e8ecf7;
    background: rgba(23, 28, 46, 0.82);
    border: 1px solid rgba(148, 163, 199, 0.28);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(4px);
    animation: t2spin-rev var(--dur, 40s) linear infinite;
}

/* Ters dönen yörüngenin düğümleri, karşı yönde sayılmalı */
.t2-orbit--rev .t2-node > i { animation-name: t2spin; }

/* Mavi vurgulu düğümler (kurumsal yazılım katmanı) */
.t2-node--blue > i {
    color: #dbeafe;
    background: rgba(30, 58, 138, 0.55);
    border-color: rgba(96, 165, 250, 0.45);
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.30), inset 0 0 0 1px rgba(147, 197, 253, 0.10);
}

/* Merkez çekirdek + yıldız */
.t2-core {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18%;
    height: 18%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(circle at 50% 45%,
        rgba(129, 140, 248, 0.55) 0%,
        rgba(79, 70, 229, 0.28) 45%,
        transparent 72%);
    display: grid;
    place-items: center;
    animation: t2pulse 4.5s ease-in-out infinite;
}

.t2-core-star {
    width: 40%;
    height: 40%;
    border-radius: 50%;
    background: radial-gradient(circle, #fff 0%, #c7d2fe 40%, rgba(99, 102, 241, 0.6) 70%, transparent 100%);
    box-shadow: 0 0 24px 6px rgba(165, 180, 252, 0.6);
}

@keyframes t2spin     { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes t2spin-rev { to { transform: rotate(-360deg); } }
@keyframes t2pulse {
    0%, 100% { opacity: 0.85; transform: translate(-50%, -50%) scale(1); }
    50%      { opacity: 1;    transform: translate(-50%, -50%) scale(1.08); }
}

/* İletişim hero'sunu iki kolonlu yap: solda başlık, sağda orbit */
.toku-contact-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, auto);
    align-items: center;
    gap: clamp(24px, 5vw, 64px);
}

.toku-contact-hero__text { min-width: 0; }

@media (max-width: 900px) {
    .toku-contact-hero__inner { grid-template-columns: 1fr; }
    .t2-mind { --t2-size: min(320px, 78vw); order: -1; margin-bottom: 8px; }
}

/* Hareketi azalt tercihine saygı */
@media (prefers-reduced-motion: reduce) {
    .t2-orbit, .t2-orbit-ticks, .t2-node > i, .t2-core { animation: none !important; }
}
