/* v2 ekleri. core.css (tasarımın tek kaynağı) korunur; burada yeni görünüm yok, yalnız üç düzeltme var:
   1. Erişilebilirlik: klavye odağı ve "içeriğe geç" bağlantısı (yalnız klavyeyle gezinirken görünür).
   2. Menü: 961–1279 px arasında bağlantıların iki satıra kırılması ve "Görüşme Ayarla" düğmesinin
      ekran dışına taşması (v1'den gelen taşma; Türkçe menü adlarıyla kırılma da eklendi).
   3. İletişim formu: kapsam onay kutuları display:none ile gizliydi, klavyeyle seçilemiyordu (v1).
      Kutu görünmez kalır ama odaklanabilir; odakta mevcut kutunun çevresinde halka görünür. */

/* 1. Erişilebilirlik */
:focus-visible {
  outline: 2px solid var(--accent-bright);
  outline-offset: 3px;
}
main:focus { outline: none; }

a[data-skip-link] {
  position: absolute;
  left: 16px;
  top: -200px;
  z-index: 1000;
  padding: 12px 18px;
  background: var(--accent);
  color: #fff;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-decoration: none;
  border-radius: 2px;
}
a[data-skip-link]:focus { top: 16px; }

/* 2. Menü */
.nav-links .nav-link { white-space: nowrap; }
@media (min-width: 961px) and (max-width: 1279px) {
  .nav-right > .nav-phone,
  .nav-right > .nav-sep:has(+ .nav-phone) { display: none; }
}
@media (min-width: 961px) and (max-width: 1099px) {
  .nav-inner { gap: 24px; padding: 0 32px; }
  .nav-link { padding: 8px 9px; }
  .nav-link.active::after { left: 9px; right: 9px; }
}

/* 3. İletişim formu: klavyeyle seçilebilen kapsam kutuları */
.ctc-checkbox-item { position: relative; }
.ctc-checkbox-item input[type="checkbox"] {
  display: block !important;
  position: absolute;
  top: 16px; left: 0;
  width: 20px; height: 20px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}
.ctc-checkbox-item input:focus-visible + .ctc-checkbox-box {
  outline: 2px solid var(--accent-bright);
  outline-offset: 3px;
}

/* 4. v3 estetik dokunuşlar (patron onayı 2026-10-15: "kalitemizin altında kalan kısımlara ufak dokunuşlar")
   4a. Q filigranı imza olarak kalır: sayfa açılışı, ana sayfa panelleri, footer ve başarı ekranı. Diğer bölüm içi
       tekrarlar kaldırıldı (önceden bir sayfada 6–9 kez görünüyordu). */
.cta-strip-q, .mv-cell-q,
.blog-subscribe-q, .svc-chapter-q, .prj-card-q { display: none; }

/* 4b. Soluk etiketlerin okunurluğu: aynı ton ailesinde, WCAG AA (4,5:1) sınırını geçen değer.
       Koyu #5A5650 → #8A857D (zeminde 5,4) · açık #9A968E → #6F6B64 (zeminde 4,75). */
:root { --ink-mute: #8A857D; }
[data-theme="light"] { --ink-mute: #6F6B64; }

/* 4c. Hizmet kartlarındaki hazır ikonlar (kep, yıldız, kare, ok) sitenin editoryal seviyesinin altındaydı;
       kartlar numara ve tipografiyle kalır. */
.service-cell-icon { display: none; }
@media (min-width: 961px) { .service-cell { min-height: 320px; } }

/* 4d. Henüz aktif olmayan sosyal hesaplar görünmez; yalnız LinkedIn kalır. */
[data-soon] { display: none !important; }

/* 4e. Proje künyesi (ana sayfa): mevcut süreç kartları üç sütunda. Kartta numara, teknik ad (küçük etiket),
       sonucu söyleyen başlık, yöntem cümlesi ve ilgili hizmete bağlantı. */
.process-row[data-cols="3"] { grid-template-columns: repeat(3, 1fr); }
.process-row[data-cols="3"] .process-cell { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); min-height: 0; }
.process-row[data-cols="3"] .process-cell:nth-child(3n) { border-right: none; }
.process-row[data-cols="3"] .process-cell:nth-last-child(-n+3) { border-bottom: none; }
[data-kunye-tag] { font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-mute); margin-bottom: -8px; }
.process-row[data-cols="3"] .process-cell-title { margin: 0; line-height: 1.25; }
a[data-kunye-link] { margin-top: auto; padding-top: 8px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-bright); text-decoration: none; }
a[data-kunye-link]:hover { color: var(--ink); }
@media (max-width: 1100px) {
  .process-row[data-cols="3"] { grid-template-columns: repeat(2, 1fr); }
  .process-row[data-cols="3"] .process-cell { border-right: 1px solid var(--line) !important; border-bottom: 1px solid var(--line) !important; }
  .process-row[data-cols="3"] .process-cell:nth-child(2n) { border-right: none !important; }
  .process-row[data-cols="3"] .process-cell:nth-last-child(-n+2) { border-bottom: none !important; }
}
@media (max-width: 560px) {
  .process-row[data-cols="3"] { grid-template-columns: 1fr; }
  .process-row[data-cols="3"] .process-cell { border-right: none !important; border-bottom: 1px solid var(--line) !important; }
  .process-row[data-cols="3"] .process-cell:last-child { border-bottom: none !important; }
}

/* 4f. Ana sayfa panelleri (patron 2026-10-15): v2'deki Q filigranı yerinde; arka plan boş durmasın diye çok ağır
       bir salınım (dönme ve ölçek, 26–34 sn). Konum v2 ile aynı; transform'a dokunulmaz (ayrı rotate/scale özellikleri). */
.why-split-visual-q, .project-editorial-visual-q { animation: qdrift 30s ease-in-out infinite alternate; }
.project-editorial-visual.right .project-editorial-visual-q { animation-duration: 34s; animation-direction: alternate-reverse; }
.why-split-visual-q { animation-duration: 26s; }
@keyframes qdrift {
  from { rotate: -7deg; scale: 0.96; }
  to   { rotate: 7deg;  scale: 1.05; }
}
@media (prefers-reduced-motion: reduce) {
  .why-split-visual-q, .project-editorial-visual-q { animation: none; }
}

/* 4g. Hizmetler · kullanım alanları: tek sayıda kalemde son kalem tam satır (yanında boş gri hücre kalmasın). */
.svc-usecase-list > .svc-usecase:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* 4h. Ana sayfa · Q/NORMA kartı (v1 hatası): satır içi "1fr 1fr" mobil kuralını eziyordu; 860 px altında metin dar
       sütuna sıkışıp başlık kesiliyordu. Mobilde Q/MENS gibi tek sütun, görsel üstte. */
@media (max-width: 860px) {
  .project-editorial[style] { grid-template-columns: 1fr !important; }
  .project-editorial[style] > .project-editorial-visual { order: 1 !important; border-left: none !important; }
  .project-editorial[style] > .project-editorial-body { order: 2 !important; border-right: none !important; }
}

/* 4i. Qhira Academy (Hizmetler): Consulting & Academy bölümünün içinde kendi başlığıyla belirgin alt bölüm
       (patron 10-16: "belirgin bir yerde dursun"). Üstte ayırıcı çizgi, özet bilgi satırı. */
[data-academy] { margin-top: 72px; padding-top: 56px; border-top: 1px solid var(--line-strong); scroll-margin-top: 120px; }
[data-academy-facts] { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
[data-academy-facts] span { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-soft); border: 1px solid var(--line-strong); padding: 7px 12px; border-radius: 2px; }

/* 4j. Mobil üst boşluk (v1 hatası, patron 10-16): 960 px altında üst bilgi şeridi gizleniyor ama core.css'te
       sonra gelen "main { padding-top: topbar + nav }" kuralı şeridin 40 px'lik yerini yine ayırıyordu;
       menünün altında boş bant kalıyordu. Mobilde yalnız menü yüksekliği kadar boşluk. */
@media (max-width: 960px) {
  main { padding-top: var(--nav-h); }
}
/* Ana sayfa açılışı telefonda: üst boşluk 144 px → 40 px. */
@media (max-width: 600px) {
  main .home-hero { padding-top: 24px; }
  main .home-hero-grid { padding-top: 16px; }
}
