/* =========================================================
   CAN ARLI - ORTAK STİL DOSYASI
   Tüm sayfalar bu dosyayı kullanır. Bir rengi burada
   değiştirirsen bütün sitede değişir.
   ========================================================= */

/* ---------- 1. RENKLER VE DEĞİŞKENLER ---------- */
/* :root içinde tanımlanan değişkenleri var(--isim) ile kullanırız */
:root {
  --turuncu: #d27a45;        /* bağırmayan, yumuşak turuncu */
  --turuncu-koyu: #b4633a;   /* üzerine gelince (hover) kullanılan ton */
  --turuncu-acik: #f6e6db;   /* arka plan vurguları için çok açık ton */
  --antrasit: #2d3035;
  --antrasit-acik: #3b3f45;
  --siyah: #151515;
  --beyaz: #ffffff;
  --kirik-beyaz: #f5f3f0;    /* sayfa zemini: saf beyazdan daha yumuşak */
  --gri-yazi: #62656b;
  --cizgi: #e3dfda;

  --yazi-tipi: "Poppins", Arial, sans-serif;
  --el-yazisi: "Caveat", cursive;

  --genislik: 1140px;        /* içeriğin en fazla genişliği */
  --kose: 14px;              /* köşe yuvarlaklığı */
  --golge: 0 10px 30px rgba(21, 21, 21, 0.08);
}

/* ---------- 2. TEMEL AYARLAR ---------- */
/* Tarayıcıların varsayılan boşluklarını sıfırlıyoruz */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; /* padding, genişliğe dahil edilsin */
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--yazi-tipi);
  background: var(--kirik-beyaz);
  color: var(--siyah);
  line-height: 1.7;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

ul {
  list-style: none;
}

/* İçeriği ortalayan kutu. Hemen her bölümde kullanılıyor. */
.kapsayici {
  width: 100%;
  max-width: var(--genislik);
  margin: 0 auto;
  padding: 0 20px;
}

.el-yazisi {
  font-family: var(--el-yazisi);
  color: var(--turuncu);
  font-size: 1.6rem;
  line-height: 1.1;
}

/* ---------- 3. ÜST MENÜ (HEADER) ---------- */
.ust-menu {
  position: sticky; /* sayfa kayarken menü üstte kalır */
  top: 0;
  z-index: 100;
  background: #141414; /* kırık siyah: yorumlar bölümüyle aynı */
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Üst çubuktaki logo: giriş ekranındakinin biraz küçüğü */
.ust-menu .ca-logo {
  width: 34px;
}

.ust-menu .logo {
  gap: 14px;
}

.ust-menu .kapsayici {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 76px;
}

/* Logo: "CA" harflerini CSS ile çiziyoruz */
.logo {
  display: flex;
  align-items: center;
  gap: 12px;
}

.logo-isaret {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  background: var(--siyah);
  color: var(--beyaz);
  font-weight: 800;
  font-style: italic;
  font-size: 1.2rem;
  letter-spacing: -1px;
  border-radius: 10px;
}

.logo-isaret span {
  color: var(--turuncu);
}

.logo-yazi {
  font-family: "Chakra Petch", var(--yazi-tipi);
  font-weight: 600;
  font-size: 0.9rem;
  letter-spacing: 0.42em;
  color: rgba(255, 255, 255, 0.9);
}

.menu-linkleri {
  display: flex;
  gap: 34px;
}

.menu-linkleri a {
  position: relative;
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--antrasit);
  transition: color 0.2s;
}

/* Linkin altındaki turuncu çizgi (başta genişliği 0) */
.menu-linkleri a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0;
  height: 2px;
  background: var(--turuncu);
  transition: width 0.25s;
}

.menu-linkleri a:hover,
.menu-linkleri a.aktif {
  color: var(--turuncu);
}

.menu-linkleri a:hover::after,
.menu-linkleri a.aktif::after {
  width: 100%;
}

/* Mobilde görünen "hamburger" butonu. Masaüstünde gizli. */
.menu-butonu {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
}

.menu-butonu span {
  display: block;
  width: 26px;
  height: 2px;
  margin: 6px 0;
  background: var(--siyah);
  transition: transform 0.3s, opacity 0.3s;
}

/* ---------- 4. BUTONLAR ---------- */
.buton {
  display: inline-block;
  padding: 13px 28px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 0.92rem;
  border: 2px solid var(--turuncu);
  background: var(--turuncu);
  color: var(--beyaz);
  cursor: pointer;
  transition: background 0.2s, color 0.2s, transform 0.2s;
}

.buton:hover {
  background: var(--turuncu-koyu);
  border-color: var(--turuncu-koyu);
  transform: translateY(-2px);
}

.buton-cizgili {
  background: transparent;
  color: var(--siyah);
  border-color: var(--siyah);
}

.buton-cizgili:hover {
  background: var(--siyah);
  border-color: var(--siyah);
  color: var(--beyaz);
}

/* ---------- 5. ORTAK BÖLÜM STİLLERİ ---------- */
.bolum {
  padding: 90px 0;
}

.bolum-koyu {
  background: var(--antrasit);
  color: var(--beyaz);
}

.bolum-baslik {
  margin-bottom: 44px;
}

.bolum-baslik h2 {
  font-size: 2.2rem;
  font-weight: 800;
  line-height: 1.2;
  display: flex;
  align-items: center;
  gap: 14px;
}

/* Başlıkların önündeki turuncu nokta (görseldeki gibi) */
.bolum-baslik h2::before {
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--turuncu);
  flex-shrink: 0;
}

.bolum-baslik p {
  color: var(--gri-yazi);
  margin-top: 10px;
  max-width: 620px;
}

.bolum-koyu .bolum-baslik p {
  color: #c4c6ca;
}

/* Küçük üst etiket: "MAKER / İÇERİK ÜRETİCİSİ" gibi */
.ust-etiket {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gri-yazi);
}

.ust-etiket .ayrac {
  color: var(--turuncu);
  margin: 0 8px;
}

/* ---------- 6. TEK SAYFA DÜZENİ ---------- */
/* Menüden bir bölüme gidince, sabit menü başlığın üstünü örtmesin */
section[id] {
  scroll-margin-top: 76px;
}

.bolum-beyaz {
  background: var(--beyaz);
}

/* Arkasında büyük soluk yazı olan başlık ("ÇALIŞMALARIM") */
.arka-yazili-baslik {
  position: relative;
  text-align: center;
  margin-bottom: 44px;
  padding: 20px 0;
  overflow: hidden; /* taşan büyük yazı yatay kaydırma çubuğu açmasın */
}

.arka-yazili-baslik .arka-yazi {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 8rem;
  font-weight: 900;
  color: rgba(21, 21, 21, 0.05);
  white-space: nowrap;
  pointer-events: none;
}

.arka-yazili-baslik h2 {
  position: relative;
  font-size: 2.8rem;
  font-weight: 900;
  letter-spacing: 1px;
}

.arka-yazili-baslik p {
  position: relative;
  color: var(--turuncu);
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-size: 0.85rem;
}

/* ---------- 7. ANA SAYFA: GİRİŞ (HERO) ---------- */
.giris {
  background: #141414; /* kırık siyah: CAN LAB bölümüyle aynı */
  padding: 80px 0 90px;
  overflow: hidden;
}

/* Koyu zeminde okunsun diye açık renkler */
.giris .giris-aciklama {
  color: #a1a1aa;
}

/* Açıklamadaki iki paragraf arasında boşluk */
.giris-aciklama p + p {
  margin-top: 14px;
}

/* "Merhaba, ben Can Arlı." başlığı */
.giris-baslik {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--beyaz);
}

.giris-baslik span {
  color: var(--turuncu);
}

/* ---- NE YAPIYORUM: koyu tema, yumuşak yazılar ---- */
.ne-yapiyorum {
  background: #141414; /* kırık siyah: üstteki bölümlerle aynı */
}

/* Başlık: kalın ve sert yerine ince, kırık beyaz */
.ne-yapiyorum .bolum-baslik h2 {
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: -0.01em;
  color: #ecebe8;
}

/* Başlığın önündeki nokta biraz daha küçük ve sakin */
.ne-yapiyorum .bolum-baslik h2::before {
  width: 10px;
  height: 10px;
}

.ne-yapiyorum .bolum-baslik p {
  font-weight: 300;
  color: #a1a1aa;
}

/* Kartlar: CAN LAB kartlarıyla aynı koyu, hafif saydam zemin */
.ne-yapiyorum .kart {
  background: linear-gradient(to bottom, rgba(39, 39, 42, 0.55), rgba(39, 39, 42, 0.15));
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
}

.ne-yapiyorum .kart:hover {
  background: linear-gradient(to bottom, rgba(39, 39, 42, 0.75), rgba(39, 39, 42, 0.25));
  box-shadow: none;
}

/* İkon ve başlık yan yana */
.kart-ust {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.ne-yapiyorum .kart-ikon {
  width: 44px;
  height: 44px;
  margin: 0;
  flex-shrink: 0;
  border-radius: 50%;
  background: rgba(210, 122, 69, 0.12);
  border: 1px solid rgba(210, 122, 69, 0.25);
  color: var(--turuncu);
}

.ne-yapiyorum .kart-ikon svg {
  width: 20px;
  height: 20px;
}

.ne-yapiyorum .kart h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 500;
  color: #ecebe8;
}

.ne-yapiyorum .kart p {
  font-weight: 300;
  color: #a1a1aa;
}

/* Açıklamadaki vurgulu kısım: beyaz ve kalın */
.giris-aciklama strong {
  color: var(--beyaz);
  font-weight: 600;
}

/* ---- Teknik stil butonlar (logo ve CAN LAB başlığıyla aynı dil) ---- */
.lab-buton {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 26px;
  font-family: "Chakra Petch", var(--yazi-tipi);
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--beyaz);
  background: var(--turuncu);
  /* Logodaki gibi sol üst ve sağ alt köşeleri kesik */
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
  transition: background 0.25s, filter 0.25s, transform 0.25s;
}

.lab-buton svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  transition: transform 0.25s;
}

/* Fareyle üzerine gelince: renk açılır, içten parlar, ok sağa kayar.
   (Kesik köşeler dışarı taşan gölgeyi de kestiği için parlama içeride.) */
.lab-buton:hover {
  background: #e08a52;
  box-shadow: inset 0 0 18px rgba(255, 220, 190, 0.45);
  transform: translateY(-2px);
}

.lab-buton:hover svg {
  transform: translateX(4px);
}

/* İkinci buton: çerçeveli, sade (kesik köşe çerçeveyi bozacağı için normal köşe) */
.lab-buton-ikincil {
  background: transparent;
  color: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 4px;
  clip-path: none;
}

.lab-buton-ikincil:hover {
  background: rgba(210, 122, 69, 0.08);
  border-color: var(--turuncu);
  color: var(--beyaz);
  box-shadow: none;
}

.lab-buton-ikincil:hover svg {
  transform: none;
  color: var(--turuncu);
}

/* Klavyeyle gezenler için görünür odak.
   Ana butonda dış çerçeve kesileceği için içe beyaz çizgi. */
.lab-buton:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--beyaz);
}

.lab-buton-ikincil:focus-visible {
  outline: 2px solid var(--turuncu);
  outline-offset: 3px;
  box-shadow: none;
}

.giris .buton-cizgili {
  color: var(--beyaz);
  border-color: rgba(255, 255, 255, 0.85);
}

.giris .buton-cizgili:hover {
  background: var(--beyaz);
  border-color: var(--beyaz);
  color: var(--siyah);
}

.giris .kapsayici {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr; /* iki sütun: yazı | görsel (görsel biraz daha geniş) */
  gap: 50px;
  align-items: center;
}

.giris-merhaba {
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 22px;
  line-height: 1.3;
}

.giris h1 {
  font-size: 4.6rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -2px;
  margin-bottom: 18px;
}

.giris h1 span {
  color: var(--turuncu);
}

.giris-aciklama {
  color: var(--gri-yazi);
  max-width: 540px;
  margin: 22px 0 34px;
}

.giris-butonlar {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* Sağdaki fotoğraf alanı */
.giris-gorsel {
  position: relative;
}

.foto-cerceve {
  aspect-ratio: 4 / 5;
  border-radius: 24px;
  background: var(--antrasit);
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
}

/* ---- PATLATILMIŞ GÖRÜNÜM (kutudaki figür) ---- */
/* Kutu: kare, açık gri teknik çizim zemini ve ince ızgara.
   container-type sayesinde içeride "cqw" birimini kullanabiliyoruz:
   1cqw = kutu genişliğinin %1'i. Parçaların yeri ve boyutu bununla. */
.foto-cerceve {
  aspect-ratio: 1 / 1;
  container-type: inline-size;
  /* Zemin: bölümle aynı kırık siyah, üstünde çok silik ızgara */
  background:
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px) 0 0 / 5% 5%,
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px) 0 0 / 5% 5%,
    #141414;
  box-shadow: none;
}

.patlatma-sahne {
  position: absolute;
  inset: 0;
}

/* Ortadaki bütün figür: her zaman görünür, parçaların önünde */
.p-merkez {
  position: absolute;
  left: 32cqw;
  top: 27cqw;
  width: 36cqw;
  z-index: 2;
}

/* Etrafa dağılan parçalar. Başlangıçta figürün ortasında, küçük ve
   görünmez (figürün arkasında saklı). */
.p-parca {
  position: absolute;
  left: calc(var(--x) * 1cqw);
  top: calc(var(--y) * 1cqw);
  width: calc(var(--g) * 1cqw);
  z-index: 1;
  opacity: 0;
  transform: translate(calc(var(--dx) * 1cqw), calc(var(--dy) * 1cqw)) scale(0.3);
  will-change: transform, opacity; /* tarayıcı ekran kartıyla çizsin: akıcı */
}

/* JavaScript, kutu ekrana girince .oynat ekler. Bir tur 8 saniye. */
.patlatma-sahne.oynat .p-parca {
  animation: parca-cik 8s cubic-bezier(0.22, 1, 0.36, 1) var(--gecikme) infinite;
}

/* Parçalar yerindeyken hafifçe havada süzülüyormuş gibi dursun */
.patlatma-sahne.oynat .p-merkez {
  animation: merkez-nefes 8s ease-in-out infinite;
}

/* Zaman çizelgesi (8 sn):
   0-1 sn     figür bütün
   1-2.4 sn   parçalar sırayla çevreye açılır
   2.4-6 sn   parçalar yerinde
   6-7.4 sn   parçalar figüre geri toplanır */
@keyframes parca-cik {
  0%, 12% {
    opacity: 0;
    transform: translate(calc(var(--dx) * 1cqw), calc(var(--dy) * 1cqw)) scale(0.3);
  }
  30% {
    opacity: 1;
    transform: none;
  }
  52% {
    opacity: 1;
    transform: translateY(-1.2cqw);
  }
  75% {
    opacity: 1;
    transform: none;
  }
  92%, 100% {
    opacity: 0;
    transform: translate(calc(var(--dx) * 1cqw), calc(var(--dy) * 1cqw)) scale(0.3);
  }
}

@keyframes merkez-nefes {
  0%, 12%, 92%, 100% { transform: none; }
  30%, 75%           { transform: scale(1.03); }
}

@media (prefers-reduced-motion: reduce) {
  .patlatma-sahne.oynat .p-parca,
  .patlatma-sahne.oynat .p-merkez {
    animation: none;
  }

  .p-parca {
    opacity: 1;
    transform: none;
  }
}

/* Fotoğrafın üzerine yapışık el yazısı notlar */
.yapiskan-not {
  position: absolute;
  background: var(--beyaz);
  padding: 10px 16px;
  border-radius: 12px;
  box-shadow: var(--golge);
  transform: rotate(-6deg);
}

.yapiskan-not.not-1 {
  top: 26px;
  left: -34px;
}

.yapiskan-not.not-2 {
  bottom: 40px;
  left: -48px;
  transform: rotate(5deg);
}

/* ---------- 8. ANA SAYFA: ÜÇ KİMLİK KARTI ---------- */
.kartlar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.kart {
  background: var(--beyaz);
  border-radius: var(--kose);
  padding: 34px 28px;
  border: 1px solid var(--cizgi);
  transition: transform 0.25s, box-shadow 0.25s;
}

.kart:hover {
  transform: translateY(-6px);
  box-shadow: var(--golge);
}

.kart-ikon {
  width: 54px;
  height: 54px;
  border-radius: 12px;
  background: var(--turuncu-acik);
  color: var(--turuncu);
  display: grid;
  place-items: center;
  font-size: 1.5rem;
  margin-bottom: 18px;
}

.kart h3 {
  font-size: 1.2rem;
  margin-bottom: 8px;
}

.kart p {
  color: var(--gri-yazi);
  font-size: 0.95rem;
}

/* ---------- 9. ARAÇLAR (Pr, Ae, Ps ...) ---------- */
.araclar {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.arac {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--antrasit-acik);
  padding: 10px 18px 10px 10px;
  border-radius: 12px;
  font-size: 0.9rem;
}

.arac-kisaltma {
  width: 40px;
  height: 40px;
  border-radius: 9px;
  background: var(--siyah);
  color: var(--turuncu);
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 0.95rem;
}

/* Açık zeminde kullanıldığında */
.araclar-acik .arac {
  background: var(--beyaz);
  border: 1px solid var(--cizgi);
}

/* ---------- 10. SLOGAN BANDI ---------- */
.slogan-bandi {
  background: var(--siyah);
  color: var(--beyaz);
  padding: 70px 0;
  text-align: center;
}

.slogan-bandi h2 {
  font-size: 2.4rem;
  font-weight: 800;
}

.slogan-bandi h2 span {
  color: var(--turuncu);
}

.slogan-bandi p {
  color: #b9bbbf;
  margin: 10px 0 28px;
}

/* ---------- 11. HAKKIMDA SAYFASI ---------- */
.iki-sutun {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}

.metin p + p {
  margin-top: 16px;
}

.metin p {
  color: var(--gri-yazi);
}

/* Turuncu noktalı liste (görseldeki madde işaretleri) */
.noktali-liste li {
  position: relative;
  padding: 12px 0 12px 28px;
  border-bottom: 1px solid var(--cizgi);
}

.noktali-liste li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 22px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--turuncu);
}

.bolum-koyu .noktali-liste li {
  border-color: var(--antrasit-acik);
}

/* Zaman çizelgesi */
.zaman-cizelgesi {
  border-left: 2px solid var(--cizgi);
  padding-left: 30px;
}

.zaman-ogesi {
  position: relative;
  margin-bottom: 34px;
}

.zaman-ogesi::before {
  content: "";
  position: absolute;
  left: -38px;
  top: 6px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--kirik-beyaz);
  border: 3px solid var(--turuncu);
}

.zaman-ogesi .tarih {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--turuncu);
  letter-spacing: 1px;
}

.zaman-ogesi h3 {
  font-size: 1.1rem;
  margin: 2px 0 4px;
}

.zaman-ogesi p {
  color: var(--gri-yazi);
  font-size: 0.95rem;
}

/* ---------- 12. PROJELER SAYFASI ---------- */
.filtreler {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 40px;
}

.filtre {
  padding: 9px 22px;
  border-radius: 50px;
  border: 1px solid var(--cizgi);
  background: var(--beyaz);
  font-family: inherit;
  font-size: 0.88rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.filtre:hover {
  border-color: var(--turuncu);
  color: var(--turuncu);
}

.filtre.aktif {
  background: var(--antrasit);
  border-color: var(--antrasit);
  color: var(--beyaz);
}

.proje-izgara {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.proje-karti {
  background: var(--beyaz);
  border-radius: var(--kose);
  overflow: hidden;
  border: 1px solid var(--cizgi);
  transition: transform 0.25s, box-shadow 0.25s;
}

.proje-karti:hover {
  transform: translateY(-6px);
  box-shadow: var(--golge);
}

/* JavaScript filtrelemede bu sınıfı ekleyip çıkarıyor */
.proje-karti.gizli {
  display: none;
}

/* Proje görseli yerine geçici renkli alan */
.proje-gorsel {
  aspect-ratio: 4 / 3;
  background: var(--antrasit);
  display: grid;
  place-items: center;
  font-size: 2.6rem;
  position: relative;
  overflow: hidden;
}

/* Proje fotoğrafı kutuyu doldursun, üzerine gelince hafifçe yakınlaşsın */
.proje-gorsel img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.proje-karti:hover .proje-gorsel img {
  transform: scale(1.05);
}

.proje-gorsel .kategori-etiketi {
  z-index: 1; /* fotoğrafın üstünde kalsın */
}

.proje-gorsel .kategori-etiketi {
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--turuncu);
  color: var(--beyaz);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 4px 12px;
  border-radius: 50px;
  text-transform: uppercase;
}

.proje-icerik {
  padding: 22px 24px 26px;
}

.proje-icerik h3 {
  font-size: 1.1rem;
  margin-bottom: 6px;
}

.proje-icerik p {
  color: var(--gri-yazi);
  font-size: 0.92rem;
}

/* ---------- 13. İLETİŞİM SAYFASI ---------- */
.iletisim-izgara {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 50px;
}

.sosyal-liste {
  display: grid;
  gap: 12px;
  margin-top: 26px;
}

.sosyal-link {
  display: flex;
  align-items: center;
  gap: 16px;
  background: var(--beyaz);
  border: 1px solid var(--cizgi);
  padding: 14px 18px;
  border-radius: 12px;
  transition: border-color 0.2s, transform 0.2s;
}

.sosyal-link:hover {
  border-color: var(--turuncu);
  transform: translateX(6px);
}

.sosyal-link .sosyal-ikon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--siyah);
  color: var(--beyaz);
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 0.8rem;
}

.sosyal-link small {
  display: block;
  color: var(--gri-yazi);
  font-size: 0.8rem;
  line-height: 1.3;
}

.form {
  background: var(--beyaz);
  border-radius: var(--kose);
  padding: 36px;
  border: 1px solid var(--cizgi);
}

.form-grup {
  margin-bottom: 18px;
}

.form label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 6px;
}

.form input,
.form select,
.form textarea {
  width: 100%;
  padding: 13px 16px;
  border: 1px solid var(--cizgi);
  border-radius: 10px;
  font-family: inherit;
  font-size: 0.95rem;
  background: var(--kirik-beyaz);
  transition: border-color 0.2s;
}

.form input:focus,
.form select:focus,
.form textarea:focus {
  outline: none;
  border-color: var(--turuncu);
  background: var(--beyaz);
}

.form textarea {
  min-height: 140px;
  resize: vertical;
}

.form-mesaji {
  margin-top: 16px;
  font-size: 0.9rem;
  font-weight: 500;
}

.form-mesaji.basarili {
  color: #3f8a5a;
}

.form-mesaji.hata {
  color: #c0453a;
}

/* ---------- 14. ALT BİLGİ (FOOTER) ---------- */
.alt-bilgi {
  background: var(--siyah);
  color: #b9bbbf;
  padding: 50px 0 26px;
}

.alt-bilgi-ust {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--antrasit-acik);
}

.alt-bilgi .el-yazisi {
  font-size: 1.8rem;
}

.alt-sosyal {
  display: flex;
  gap: 10px;
  align-items: center;
}

.alt-sosyal a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--antrasit);
  color: var(--beyaz);
  display: grid;
  place-items: center;
  font-size: 0.75rem;
  font-weight: 700;
  transition: background 0.2s;
}

.alt-sosyal a:hover {
  background: var(--turuncu);
}

.alt-sosyal .kullanici-adi {
  margin-left: 8px;
  color: var(--beyaz);
  font-weight: 600;
}

.alt-bilgi-alt {
  padding-top: 22px;
  font-size: 0.82rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

/* ---------- 15. KAYARKEN BELİREN ANİMASYON ---------- */
/* JavaScript, öğe ekrana girince "gorundu" sınıfını ekler */
.belir {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s, transform 0.7s;
}

.belir.gorundu {
  opacity: 1;
  transform: none;
}

/* ---------- 16. ZIRH GİRİŞ EKRANI ---------- */
/* Siteye girince tüm ekranı kaplayan siyah alan ve ortasında zırh.
   Çizimi ve fare efektini script.js'teki "ZIRH EFEKTİ" bölümü yapıyor. */
.zirh-giris {
  position: relative;
  height: 100vh;
  min-height: 520px;
  background: radial-gradient(ellipse at 50% 40%, #16181b 0%, #050505 70%);
  display: grid;
  place-items: center;
  overflow: hidden;
}

#zirh-tuval {
  display: block;
  /* 720x640 oranını koruyarak ekrana sığdır */
  height: min(92vh, calc(100vw * 640 / 720));
  width: auto;
  aspect-ratio: 720 / 640;
  /* Kenarları siyaha yumuşakça eritir, resmin sınırı görünmez */
  -webkit-mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 70%, transparent 100%);
  mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 70%, transparent 100%);
  touch-action: pan-y; /* mobilde dikey kaydırma çalışmaya devam etsin */
  opacity: 0;
  transform: scale(1.04);
  transition: opacity 1.4s ease, transform 1.8s ease;
}

/* Resimler yüklenince JavaScript bu sınıfı ekler: zırh yavaşça belirir */
#zirh-tuval.hazir {
  opacity: 1;
  transform: none;
}

/* Sol üst köşedeki logo + isim */
.zirh-marka {
  position: absolute;
  top: 28px;
  left: 34px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 14px;
  opacity: 0;
  /* Zırh belirdikten sonra (1 sn bekle) yavaşça gelsin */
  animation: marka-belir 1.2s 1s ease forwards;
}

.ca-logo {
  width: 40px;
  height: auto;
  color: var(--turuncu);
  /* Logonun çevresinde hafif turuncu parıltı */
  filter: drop-shadow(0 0 10px rgba(210, 122, 69, 0.35));
  transition: transform 0.3s;
}

.zirh-marka:hover .ca-logo {
  transform: scale(1.08);
}

.zirh-marka-yazi {
  font-family: "Chakra Petch", var(--yazi-tipi);
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.42em;
  color: rgba(255, 255, 255, 0.9);
}

@keyframes marka-belir {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: none; }
}

.zirh-ipucu {
  position: absolute;
  bottom: 70px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.75rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
  white-space: nowrap;
  transition: opacity 0.8s;
}

.zirh-ipucu.gizli {
  opacity: 0;
}

.asagi-ok {
  position: absolute;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  color: var(--turuncu);
  font-size: 1.4rem;
  animation: zipla 2s ease-in-out infinite;
}

@keyframes zipla {
  0%, 100% { transform: translate(-50%, 0); }
  50%      { transform: translate(-50%, 8px); }
}

/* Hareket hassasiyeti olan kullanıcılar (işletim sistemi ayarı)
   için animasyonları kapatıyoruz. Erişilebilirlik için önemli. */
@media (prefers-reduced-motion: reduce) {
  #zirh-tuval {
    transition: none;
  }

  .asagi-ok {
    animation: none;
  }

  .zirh-marka {
    animation: none;
    opacity: 1;
  }

  .belir {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ---------- 16b. YORUMLAR (KAYAN KARTLAR) ---------- */
/* shadcn "testimonials-with-marquee" bileşeninin düz CSS karşılığı.
   Koyu tema: arka plan simsiyah değil, kırık siyah. */
.yorumlar {
  --y-arka: #141414;          /* background (kırık siyah) */
  --y-yazi: #f4f4f5;          /* foreground */
  --y-soluk: #27272a;         /* muted */
  --y-soluk-yazi: #a1a1aa;    /* muted-foreground */
  --y-cizgi: #2e2e33;         /* border */
  --bosluk: 1rem;             /* kartlar arası boşluk */
  --sure: 40s;                /* şeridin bir turu kaç saniye sürsün */

  background: var(--y-arka);
  color: var(--y-yazi);
  padding: 3rem 0;
}

.yorumlar-kapsayici {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  text-align: center;
}

.yorumlar-baslik {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 0 1rem;
}

.yorumlar-baslik h2 {
  max-width: 720px;
  font-family: "Chakra Petch", var(--yazi-tipi); /* logodaki köşeli yazı tipi */
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
}

/* Başlığın altındaki el yazısı slogan */
.yorumlar-baslik p {
  max-width: 600px;
  font-family: var(--el-yazisi);   /* Caveat: posterlerdeki el yazısı */
  font-size: 1.9rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--turuncu);
  transform: rotate(-2deg);         /* elle yazılmış gibi hafif eğik */
}

.kayan-alan {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 0.5rem;
}

/* İçinde birbirinin aynısı iki grup var. Grup kendi genişliği kadar
   sola kayınca ikinci grup tam birincinin yerine gelir; animasyon başa
   sarınca fark edilmez. Böylece şerit sonsuzmuş gibi akar. */
.kayan-serit {
  display: flex;
  gap: var(--bosluk);
}

.kayan-grup {
  display: flex;
  flex-shrink: 0;
  gap: var(--bosluk);
  animation: kaydir var(--sure) linear infinite;
}

/* Fare şeridin üstündeyken dur */
.kayan-alan:hover .kayan-grup {
  animation-play-state: paused;
}

@keyframes kaydir {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-100% - var(--bosluk))); }
}

.kayan-kenar {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 33%;
  pointer-events: none;
  display: none;
}

.kayan-kenar-sol {
  left: 0;
  background: linear-gradient(to right, var(--y-arka), transparent);
}

.kayan-kenar-sag {
  right: 0;
  background: linear-gradient(to left, var(--y-arka), transparent);
}

/* Yorum kartı */
.yorum-karti {
  display: flex;
  flex-direction: column;
  width: 320px;
  flex-shrink: 0;
  padding: 1rem;
  border-radius: 0.5rem;
  border-top: 1px solid var(--y-cizgi);
  background: linear-gradient(to bottom, rgba(39, 39, 42, 0.5), rgba(39, 39, 42, 0.1));
  text-align: start;
  color: inherit;
  transition: background 0.3s;
}

a.yorum-karti:hover,
div.yorum-karti:hover {
  background: linear-gradient(to bottom, rgba(39, 39, 42, 0.6), rgba(39, 39, 42, 0.2));
}

.yorum-kisi {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* Yuvarlak ikon kutusu */
.yorum-ikon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  background: rgba(210, 122, 69, 0.12);        /* çok hafif turuncu zemin */
  border: 1px solid rgba(210, 122, 69, 0.25);
  color: var(--turuncu);                        /* ikonun rengi */
}

.yorum-ikon svg {
  width: 22px;
  height: 22px;
}

.yorum-kisi h3 {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
}

.yorum-kisi p {
  font-size: 0.875rem;
  color: var(--y-soluk-yazi);
  margin-top: 4px;
}

.yorum-metni {
  margin-top: 1rem;
  font-size: 0.875rem;
  color: var(--y-soluk-yazi);
}

/* 640px ve üstü (Tailwind'deki "sm:") */
@media (min-width: 640px) {
  .yorumlar {
    padding: 6rem 0;
  }

  .yorumlar-kapsayici,
  .yorumlar-baslik {
    gap: 4rem;
  }

  .yorumlar-baslik {
    gap: 2rem;
  }

  .yorumlar-baslik h2 {
    font-size: 3rem;
  }

  .yorumlar-baslik p {
    font-size: 2.4rem;
  }

  .yorum-karti {
    padding: 1.5rem;
  }

  .yorum-metni {
    font-size: 1rem;
  }

  .kayan-kenar {
    display: block;
  }
}

/* 768px ve üstü (Tailwind'deki "md:") */
@media (min-width: 768px) {
  .yorumlar {
    padding: 8rem 0;
  }
}

/* Hareket hassasiyeti olanlar için: kayma yerine elle kaydırılabilir şerit */
@media (prefers-reduced-motion: reduce) {
  .kayan-grup {
    animation: none;
  }

  .kayan-alan {
    overflow-x: auto;
  }
}

/* ---------- 16d. ATÖLYE DEFTERİ (DENEYİMLERİM) ---------- */
.defter {
  --kagit: #f3f0ea;
  --murekkep: #121212;
  --ikincil: #4a4744;
  --soluk: #8d8880;
  --vurgu: #ff5a1f;
  --vurgu-koyu: #e2440c;
  --genis: "Archivo", "Arial Black", sans-serif;
  --mono: "JetBrains Mono", Consolas, monospace;

  position: relative;
  overflow: hidden; /* eğik şerit ve not yatay kaydırma açmasın */
  background: var(--kagit);
  color: var(--murekkep);
  padding: 120px 0 110px;
}

/* Kağıt dokusu: SVG ile üretilen ince gren, çok hafif */
.defter::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.35;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.4 0 0 0 0 0.35 0 0 0 0.35 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.defter-ic {
  position: relative;
  max-width: 1320px; /* dev başlık ve sağındaki yıl yan yana sığsın diye biraz daha geniş */
  margin: 0 auto;
  padding: 0 20px;
}

/* 1. Üst etiket */
.defter-etiket {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mono);
  font-size: 0.75rem;
  letter-spacing: 0.22em;
  color: var(--ikincil);
  margin-bottom: 26px;
}

.defter-nokta {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--vurgu);
}

/* 2. Dev başlık */
.defter-bas {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 30px;
  flex-wrap: wrap; /* sığmazsa sağdaki yıl bilgisi alta insin, taşmasın */
}

.defter-baslik {
  font-family: var(--genis);
  font-weight: 900;
  font-stretch: 125%;
  font-variation-settings: "wdth" 125;
  font-size: clamp(2.9rem, 9.4vw, 9.5rem); /* geniş ekranda ~150px */
  line-height: 0.86;
  letter-spacing: -0.02em;
}

/* Maske: satır bunun altından kayarak çıkar.
   Üst boşluk: büyük İ'nin noktası maskeye takılıp kesilmesin
   (negatif margin ile satırlar arası mesafe değişmiyor). */
.defter-maske {
  display: block;
  overflow: hidden;
  padding: 0.14em 0 0.04em;
  margin-top: -0.14em;
}

.defter-satir {
  display: block;
  transform: translateY(105%);
  transition: transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.defter-maske + .defter-maske .defter-satir {
  transition-delay: 0.12s;
}

.defter-baslik.gorundu .defter-satir {
  transform: none;
}

/* "LERİM": sadece dış çizgi, içi boş */
.defter-cizgili {
  color: transparent;
  -webkit-text-stroke: 2px var(--murekkep);
}

/* 3. Başlığın sağı */
.defter-yil {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  padding-bottom: 12px;
  text-align: right;
  flex-shrink: 0;
  margin-left: auto; /* alta insen de sağda dursun */
}

.defter-mono {
  font-family: var(--mono);
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  color: var(--ikincil);
}

.defter-yil-sayi {
  font-family: var(--genis);
  font-weight: 900;
  font-stretch: 125%;
  font-variation-settings: "wdth" 125;
  font-size: clamp(2.2rem, 4.5vw, 3.6rem);
  line-height: 1;
}

.defter-yil-sayi em {
  font-style: normal;
  color: var(--vurgu);
  margin-left: 0.08em;
}

.defter-kalin-cizgi {
  height: 6px;
  background: var(--murekkep);
  margin: 26px 0 44px;
}

/* 4. Sağ üst köşedeki el yazısı not */
.defter-not {
  position: absolute;
  top: -58px;
  right: 30px;
  display: flex;
  align-items: flex-start;
  gap: 4px;
  font-family: var(--el-yazisi);
  font-weight: 700;
  font-size: 1.7rem;
  color: var(--vurgu);
  transform: rotate(-6deg);
}

.defter-not.belir.gorundu {
  transform: rotate(-6deg);
}

.defter-not svg {
  width: 54px;
  height: 46px;
  margin-top: 18px;
}

/* 5. İki sütun: tanıtım + 3 küçük bilgi */
.defter-giris {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 60px;
  align-items: start;
  margin-bottom: 70px;
}

.defter-giris > p {
  font-size: 1.12rem;
  line-height: 1.7;
  color: var(--ikincil);
  max-width: 560px;
}

.defter-bilgi {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.defter-bilgi div {
  border-top: 1px solid rgba(18, 18, 18, 0.25);
  padding-top: 12px;
}

.defter-bilgi dt {
  font-family: var(--mono);
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--soluk);
}

.defter-bilgi dd {
  font-family: var(--genis);
  font-weight: 800;
  font-stretch: 115%;
  font-variation-settings: "wdth" 115;
  font-size: 1.45rem;
  margin-top: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* "Aktif" yanında yanıp sönen küçük nokta */
.defter-canli {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--vurgu);
  animation: canli 1.8s ease-in-out infinite;
}

@keyframes canli {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.25; }
}

/* 6. Deneyim listesi */
.defter-liste {
  list-style: none;
  border-top: 1px solid rgba(18, 18, 18, 0.2);
}

.defter-madde {
  position: relative;
  display: grid;
  grid-template-columns: 64px minmax(0, 1.25fr) minmax(0, 1.3fr) minmax(0, 0.95fr);
  gap: 28px;
  align-items: center;
  padding: 30px 16px;
  border-bottom: 1px solid rgba(18, 18, 18, 0.2);
  cursor: default;
}

/* Satırlar sırayla belirsin */
.defter-madde:nth-child(2) { transition-delay: 0.06s; }
.defter-madde:nth-child(3) { transition-delay: 0.12s; }
.defter-madde:nth-child(4) { transition-delay: 0.18s; }
.defter-madde:nth-child(5) { transition-delay: 0.24s; }
.defter-madde:nth-child(6) { transition-delay: 0.3s; }

/* Hover'da alttan yukarı dolan siyah bant */
.defter-madde::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--murekkep);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.45s cubic-bezier(0.65, 0, 0.35, 1);
}

.defter-madde > * {
  position: relative; /* bandın üstünde kalsın */
}

.defter-no {
  font-family: var(--mono);
  font-size: 0.85rem;
  color: var(--soluk);
  transition: color 0.3s;
}

.defter-madde-baslik {
  font-family: var(--genis);
  font-weight: 900;
  font-stretch: 118%;
  font-variation-settings: "wdth" 118;
  font-size: clamp(1.35rem, 2.2vw, 1.9rem);
  line-height: 1.05;
  letter-spacing: -0.01em;
  transition: color 0.35s, transform 0.45s cubic-bezier(0.65, 0, 0.35, 1);
}

.defter-madde-baslik em {
  font-style: normal;
  color: var(--vurgu);
}

.defter-aciklama {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--ikincil);
  transition: color 0.35s;
}

.defter-etiketler {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.defter-etiketler li {
  font-family: var(--mono);
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  padding: 5px 12px;
  border: 1px solid rgba(18, 18, 18, 0.45);
  border-radius: 999px;
  color: var(--ikincil);
  transition: color 0.35s, border-color 0.35s;
}

/* Hover (masaüstü) ve .aktif (mobilde dokununca) aynı görünüm */
.defter-madde:hover::before,
.defter-madde.aktif::before {
  transform: scaleY(1);
}

.defter-madde:hover .defter-madde-baslik,
.defter-madde.aktif .defter-madde-baslik {
  color: var(--kagit);
  transform: translateX(14px);
}

.defter-madde:hover .defter-no,
.defter-madde.aktif .defter-no {
  color: var(--vurgu);
}

.defter-madde:hover .defter-aciklama,
.defter-madde.aktif .defter-aciklama {
  color: #c9c4bb;
}

.defter-madde:hover .defter-etiketler li,
.defter-madde.aktif .defter-etiketler li {
  color: var(--kagit);
  border-color: rgba(243, 240, 234, 0.4);
}

/* "Robopro, Valment" etrafında kendini çizen el yapımı daire */
.defter-daire {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  margin: 0 0.35em 0 0.3em; /* daire yandaki kelimelere binmesin */
  font-weight: 500;
  color: var(--murekkep);
  transition: color 0.35s;
}

.defter-madde:hover .defter-daire,
.defter-madde.aktif .defter-daire {
  color: var(--kagit);
}

.defter-daire svg {
  position: absolute;
  left: -14%;
  top: -40%;
  width: 128%;
  height: 180%;
  overflow: visible;
  pointer-events: none;
}

.defter-daire path {
  fill: none;
  stroke: var(--vurgu);
  stroke-width: 2.4;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 1.1s cubic-bezier(0.6, 0, 0.3, 1) 0.5s;
}

.defter-madde.gorundu .defter-daire path {
  stroke-dashoffset: 0;
}

/* Mobil / tablet */
@media (max-width: 900px) {
  .defter {
    padding: 100px 0 80px;
  }

  .defter-bas {
    flex-direction: column;
    align-items: flex-start;
  }

  .defter-yil {
    align-items: flex-start;
    text-align: left;
    padding-bottom: 0;
    margin-left: 0;
  }

  .defter-not {
    top: -64px;
    right: 16px;
    font-size: 1.35rem;
  }

  .defter-giris {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .defter-bilgi dd {
    font-size: 1.1rem;
  }

  /* Satır: solda numara, sağda içerik alt alta */
  .defter-madde {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 8px 16px;
    align-items: start;
    padding: 24px 12px;
  }

  .defter-madde > :not(.defter-no) {
    grid-column: 2;
  }

  .defter-no {
    grid-row: 1 / span 3;
    padding-top: 6px;
  }

  .defter-etiketler {
    justify-content: flex-start;
    margin-top: 4px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .defter-satir {
    transform: none;
    transition: none;
  }

  .defter-daire path {
    stroke-dashoffset: 0;
    transition: none;
  }
}

/* ---------- 16e. UZMANLIK ALANLARIM ---------- */
/* Zemin, renkler ve yazı tipleri .defter'den geliyor (Deneyimlerim ile aynı) */
.defter.uzmanlik {
  padding: 40px 0 110px;
}

/* Deneyimlerim ile arasında ince bir defter çizgisi */
.uzmanlik::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(1280px, calc(100% - 40px));
  height: 1px;
  background: rgba(18, 18, 18, 0.15);
  transform: translateX(-50%);
}

.uzmanlik-bas {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  flex-wrap: wrap;
}

.uzmanlik-baslik {
  font-family: var(--genis);
  font-weight: 900;
  font-stretch: 125%;
  font-variation-settings: "wdth" 125;
  font-size: clamp(2.2rem, 5.5vw, 4.6rem);
  line-height: 0.95;
  letter-spacing: -0.02em;
}

.uzmanlik-baslik em {
  font-style: normal;
  color: transparent;
  -webkit-text-stroke: 1.5px var(--murekkep);
}

.uzmanlik-not {
  font-family: var(--el-yazisi);
  font-weight: 700;
  font-size: 1.6rem;
  color: var(--vurgu);
  transform: rotate(-4deg);
  padding-bottom: 8px;
}

.uzmanlik-not.belir.gorundu {
  transform: rotate(-4deg);
}

.uzmanlik-cizgi {
  height: 4px;
  margin: 22px 0 10px;
}

/* İki sütunlu, ince çizgilerle ayrılmış liste */
.uzmanlik-liste {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 60px;
}

.uzmanlik-liste li {
  display: flex;
  align-items: baseline;
  gap: 18px;
  padding: 20px 4px;
  border-bottom: 1px solid rgba(18, 18, 18, 0.2);
  font-family: var(--genis);
  font-weight: 700;
  font-stretch: 110%;
  font-variation-settings: "wdth" 110;
  font-size: 1.15rem;
  color: var(--murekkep);
  /* opacity/transform: kaydırınca belirme animasyonu (.belir) bozulmasın */
  transition: opacity 0.7s, transform 0.7s, color 0.3s, padding-left 0.3s;
}

.uzmanlik-liste li:hover {
  color: var(--vurgu-koyu);
  padding-left: 12px;
}

.uzmanlik-liste li:hover .defter-no {
  color: var(--vurgu);
}

@media (max-width: 900px) {
  .uzmanlik-liste {
    grid-template-columns: 1fr;
  }

  .uzmanlik-liste li {
    font-size: 1.02rem;
    padding: 16px 4px;
  }
}

/* ---------- 16f. KULLANDIĞIM ARAÇLAR (alt alta liste) ---------- */
.arac-bolumu {
  background: #141414; /* kırık siyah: sitenin koyu bölümleriyle aynı */
  color: #ecebe8;
  padding: 110px 0;
}

.arac-ic {
  max-width: 860px; /* liste çok uzamasın, rahat okunsun */
  margin: 0 auto;
  padding: 0 20px;
}

.arac-etiket {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "JetBrains Mono", Consolas, monospace;
  font-size: 0.75rem;
  letter-spacing: 0.22em;
  color: #8d8880;
  margin-bottom: 18px;
}

.arac-etiket span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--turuncu);
}

.arac-baslik {
  font-family: "Archivo", "Arial Black", sans-serif;
  font-weight: 900;
  font-stretch: 125%;
  font-variation-settings: "wdth" 125;
  font-size: clamp(2rem, 5vw, 3.8rem);
  line-height: 1;
  letter-spacing: -0.02em;
  margin-bottom: 40px;
}

.arac-baslik em {
  font-style: normal;
  color: transparent;
  -webkit-text-stroke: 1.5px #ecebe8;
}

.arac-liste {
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.arac-liste li {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 18px 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  transition: opacity 0.7s, transform 0.7s, background 0.3s, padding-left 0.3s;
}

.arac-liste li:hover {
  background: rgba(255, 255, 255, 0.03);
  padding-left: 18px;
}

/* Kısaltma kutusu (Pr, Ae...) */
.arac-liste .arac-kisaltma {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 10px;
  background: rgba(210, 122, 69, 0.12);
  border: 1px solid rgba(210, 122, 69, 0.3);
  color: var(--turuncu);
  display: grid;
  place-items: center;
  font-family: "JetBrains Mono", Consolas, monospace;
  font-weight: 500;
  font-size: 0.9rem;
}

.arac-ad {
  font-family: "Archivo", "Arial Black", sans-serif;
  font-weight: 700;
  font-stretch: 112%;
  font-variation-settings: "wdth" 112;
  font-size: 1.25rem;
  flex: 1;
}

.arac-tur {
  font-family: "JetBrains Mono", Consolas, monospace;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8d8880;
  text-align: right;
}

.arac-liste li:hover .arac-tur {
  color: var(--turuncu);
}

@media (max-width: 600px) {
  .arac-bolumu {
    padding: 80px 0;
  }

  .arac-ad {
    font-size: 1.05rem;
  }

  .arac-tur {
    font-size: 0.62rem;
  }
}

/* ---------- 16g. İLETİŞİM FORMU ---------- */
/* Antrasit: sitenin ilk paletinden; kırık siyahla uyumlu ama farklı */
.iletisim-bolumu {
  background: var(--antrasit);
  color: #ecebe8;
  padding: 110px 0;
}

.iletisim-bolumu .iletisim-izgara {
  grid-template-columns: 1.1fr 0.9fr;
  gap: 70px;
  align-items: center;
}

/* Koyu zemine uygun form */
.iletisim-bolumu .form {
  background: rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.iletisim-bolumu .form label {
  color: #d4d2ce;
  font-weight: 500;
}

.iletisim-bolumu .form input,
.iletisim-bolumu .form select,
.iletisim-bolumu .form textarea {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.12);
  color: #ecebe8;
}

.iletisim-bolumu .form input::placeholder,
.iletisim-bolumu .form textarea::placeholder {
  color: #8d8880;
}

.iletisim-bolumu .form input:focus,
.iletisim-bolumu .form select:focus,
.iletisim-bolumu .form textarea:focus {
  background: rgba(255, 255, 255, 0.07);
  border-color: var(--turuncu);
}

/* Açılır listenin seçenekleri koyu zeminde okunsun */
.iletisim-bolumu .form select option {
  background: var(--antrasit);
  color: #ecebe8;
}

.iletisim-bolumu .form-mesaji.basarili { color: #7fcf9a; }
.iletisim-bolumu .form-mesaji.hata     { color: #ff8a7a; }

/* Sağdaki başlık bloğu */
.iletisim-etiket {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "JetBrains Mono", Consolas, monospace;
  font-size: 0.75rem;
  letter-spacing: 0.22em;
  color: #a1a1aa;
  margin-bottom: 18px;
}

.iletisim-etiket span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--turuncu);
}

.iletisim-baslik {
  font-family: "Archivo", "Arial Black", sans-serif;
  font-weight: 900;
  font-stretch: 125%;
  font-variation-settings: "wdth" 125;
  font-size: clamp(2.4rem, 5.5vw, 4.4rem);
  line-height: 0.95;
  letter-spacing: -0.02em;
}

.iletisim-baslik em {
  display: block;
  font-style: normal;
  color: transparent;
  -webkit-text-stroke: 1.5px #ecebe8;
}

.iletisim-alt {
  margin-top: 22px;
  max-width: 420px;
  font-weight: 300;
  color: #b9b7b2;
}

@media (max-width: 900px) {
  .iletisim-bolumu {
    padding: 80px 0;
  }

  /* Mobilde tek sütun: önce başlık, sonra form */
  .iletisim-bolumu .iletisim-izgara {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .iletisim-yan {
    order: -1;
  }
}

/* ---------- 16h. ALT BİLGİ: ADRES KARTI ---------- */
/* Sosyal medya butonlarının üzerine gelince fareyi takip eden kart.
   Konumu JavaScript veriyor (script.js "0e"). */
.adres-karti {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 60;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 18px;
  border-radius: 14px;
  background: #f3f0ea;
  color: #121212;
  border-left: 4px solid var(--turuncu);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.45);
  pointer-events: none;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.2s;
  will-change: transform, opacity;
}

.adres-karti.gorunur {
  opacity: 1;
}

.adres-platform {
  font-family: "JetBrains Mono", Consolas, monospace;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--turuncu);
}

.adres-yazi {
  font-weight: 600;
  font-size: 0.95rem;
}

@media (hover: none) {
  .adres-karti {
    display: none;
  }
}

/* ---------- 16i. CAN'S LAB BAĞLANTISI ---------- */
/* Başlık tıklanabilir: yanında küçük bir ok, üzerine gelince turuncu alt çizgi */
.lab-baglanti {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.25em;
  color: inherit;
  transition: color 0.3s;
}

.lab-baglanti svg {
  width: 0.55em;
  height: 0.55em;
  color: var(--turuncu);
  transition: transform 0.3s;
}

.lab-baglanti::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.08em;
  height: 3px;
  background: var(--turuncu);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}

.lab-baglanti:hover {
  color: #fff;
}

.lab-baglanti:hover::after {
  transform: scaleX(1);
}

.lab-baglanti:hover svg {
  transform: translate(3px, -3px);
}

.lab-baglanti:focus-visible {
  outline: 2px solid var(--turuncu);
  outline-offset: 6px;
}

/* ---- lab.html sayfası: ana renk YEŞİL ----
   Ana sayfadaki turuncu (--turuncu) değişkenini bu sayfada yeşile çeviriyoruz.
   Böylece logo, etiket noktaları, slogan, linkler ve adres kartı
   kendiliğinden yeşil oluyor; ana sayfa etkilenmiyor. */
.lab-sayfa {
  --turuncu: #33e02a;        /* laboratuvar yeşili: beherdeki sıvının rengi */
  --turuncu-koyu: #1ca91c;
  --lab-yesil-soluk: rgba(51, 224, 42, 0.06);

  background-color: #121413; /* hafif yeşile çalan kırık siyah */
  /* Ölçüm kâğıdı gibi silik yeşil ızgara */
  background-image:
    linear-gradient(var(--lab-yesil-soluk) 1px, transparent 1px),
    linear-gradient(90deg, var(--lab-yesil-soluk) 1px, transparent 1px);
  background-size: 40px 40px;
  color: #ecebe8;
  min-height: 100vh;
}

/* Lab giriş görseli: ekran genişliğinde, kesilmeden (oran korunur) */
.lab-giris {
  position: relative;
  background: #0f110f;
}

.lab-sahne {
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  aspect-ratio: 1376 / 768; /* görselin oranı: canvas ile görsel tam üst üste */
}

.lab-sahne img,
.lab-sahne canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.lab-sahne canvas {
  pointer-events: none;
}

/* Görselin altı sayfanın koyu zeminine yumuşakça erisin */
.lab-giris::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 18%;
  background: linear-gradient(to bottom, transparent, #121413);
  pointer-events: none;
}

.lab-sayfa .lab-ust {
  padding-top: 70px;
}

/* ---- EKİPMANLAR (lab.html) ---- */
.ekipman {
  padding: 90px 0 120px;
}

.ekipman-etiket {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "JetBrains Mono", Consolas, monospace;
  font-size: 0.75rem;
  letter-spacing: 0.22em;
  color: #8d968f;
  margin-bottom: 16px;
}

.ekipman-etiket span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--turuncu); /* lab sayfasında yeşil */
  box-shadow: 0 0 10px var(--turuncu);
}

.ekipman-baslik {
  font-family: "Archivo", "Arial Black", sans-serif;
  font-weight: 900;
  font-stretch: 125%;
  font-variation-settings: "wdth" 125;
  font-size: clamp(2.2rem, 5.5vw, 4.4rem);
  line-height: 1;
  letter-spacing: -0.02em;
  margin-bottom: 50px;
}

.ekipman-baslik em {
  font-style: normal;
  color: transparent;
  -webkit-text-stroke: 1.5px #ecebe8;
}

.ekipman-izgara {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

/* Sol: isim listesi */
.ekipman-liste {
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.ekipman-liste li {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 22px;
  padding: 18px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
  outline: none;
  transition: padding-left 0.35s ease;
}

/* Seçili satırın solunda yeşil ışıklı çizgi */
.ekipman-liste li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18%;
  bottom: 18%;
  width: 3px;
  background: var(--turuncu);
  box-shadow: 0 0 12px var(--turuncu);
  transform: scaleY(0);
  transition: transform 0.3s ease;
}

.ekipman-no {
  font-family: "JetBrains Mono", Consolas, monospace;
  font-size: 0.8rem;
  color: #5d655f;
  transition: color 0.3s;
}

.ekipman-ad {
  display: flex;
  flex-direction: column;
  font-family: "Archivo", "Arial Black", sans-serif;
  font-weight: 800;
  font-stretch: 115%;
  font-variation-settings: "wdth" 115;
  font-size: clamp(1.25rem, 2.3vw, 1.9rem);
  line-height: 1.1;
  color: #7c847e; /* seçili değilken soluk */
  transition: color 0.3s;
}

.ekipman-ad small {
  font-family: "JetBrains Mono", Consolas, monospace;
  font-weight: 500;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #5d655f;
  margin-bottom: 4px;
  transition: color 0.3s;
}

/* Seçili (fareyle üzerinde ya da dokunulmuş) satır */
.ekipman-liste li.secili {
  padding-left: 26px;
}

.ekipman-liste li.secili::before {
  transform: scaleY(1);
}

.ekipman-liste li.secili .ekipman-ad {
  color: #f2f5f2;
}

.ekipman-liste li.secili .ekipman-no,
.ekipman-liste li.secili .ekipman-ad small {
  color: var(--turuncu);
}

.ekipman-liste li:focus-visible {
  box-shadow: inset 0 0 0 1px var(--turuncu);
}

/* Sağ: vitrin. Koyu, ortası yeşil ışıklı bir laboratuvar vitrini.
   Görseller arka planı silinmiş şeffaf PNG; ürün ışığın içinde havada durur. */
.ekipman-vitrin {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 22px;
  background:
    radial-gradient(ellipse 55% 45% at 50% 46%, rgba(51, 224, 42, 0.16), transparent 70%),
    radial-gradient(ellipse at 50% 40%, #232825 0%, #151816 75%);
  border: 1px solid rgba(51, 224, 42, 0.28);
  box-shadow:
    0 0 50px rgba(51, 224, 42, 0.1),
    inset 0 0 60px rgba(0, 0, 0, 0.5),
    0 30px 60px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  display: grid;
  place-items: center;
}

/* Vitrinin zemininde ürünün durduğu yerde yeşil ışık halkası */
.ekipman-vitrin::before {
  content: "";
  position: absolute;
  left: 22%;
  right: 22%;
  bottom: 17%;
  height: 7%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(51, 224, 42, 0.35), transparent 70%);
  filter: blur(4px);
}

.ekipman-gorsel {
  position: relative;
  width: 76%;
  height: 70%;
  object-fit: contain;
  filter: drop-shadow(0 18px 22px rgba(0, 0, 0, 0.55));
  transform: scale(0.6);
  opacity: 0;
  transition: none;
}

/* Arka planı silinemeyen koyu zeminli görsel: kenarları vitrine erisin */
.ekipman-gorsel.koyu-zemin {
  -webkit-mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 62%, transparent 100%);
  mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 62%, transparent 100%);
  filter: none;
}

/* JS görseli değiştirince bu sınıfı ekler: büyüyerek öne çıkar */
.ekipman-gorsel.buyu {
  transform: scale(1);
  opacity: 1;
  transition: transform 0.55s cubic-bezier(0.2, 1.1, 0.3, 1), opacity 0.35s ease;
}

.ekipman-vitrin-alt {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 18px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}

.ekipman-vitrin-ad {
  font-family: "Archivo", "Arial Black", sans-serif;
  font-weight: 800;
  font-size: 1rem;
  color: #f2f5f2;
}

.ekipman-vitrin-tur {
  font-family: "JetBrains Mono", Consolas, monospace;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  color: var(--turuncu); /* lab sayfasında yeşil */
}

@media (max-width: 900px) {
  /* Mobilde vitrin üstte, liste altında */
  .ekipman-izgara {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .ekipman-vitrin {
    order: -1;
    max-width: 440px;
    width: 100%;
    margin: 0 auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ekipman-gorsel,
  .ekipman-gorsel.buyu {
    transform: none;
    transition: opacity 0.2s;
  }
}

/* Lab sayfasında üst çubuk ve alt bilgi de aynı yeşilimsi siyah */
.lab-sayfa .ust-menu,
.lab-sayfa .alt-bilgi {
  background: #0f110f;
}

/* Logonun parıltısı turuncu yerine yeşil */
.lab-sayfa .ca-logo {
  filter: drop-shadow(0 0 10px rgba(51, 224, 42, 0.4));
}

/* Başlıkta hafif yeşil ışıma: ekran / laboratuvar cihazı hissi */
.lab-sayfa .lab-sayfa-baslik {
  text-shadow: 0 0 28px rgba(51, 224, 42, 0.25);
}

.lab-sayfa .lab-bos {
  border-color: rgba(51, 224, 42, 0.3);
  background: rgba(51, 224, 42, 0.03);
}

/* Alt bilgideki sosyal butonların üzerine gelince yeşil */
.lab-sayfa .alt-sosyal a:hover {
  background: var(--turuncu);
  color: #0f110f;
}

.lab-ust {
  padding: 140px 0 70px;
  text-align: center;
}

.lab-ust .arac-etiket {
  justify-content: center;
}

.lab-sayfa-baslik {
  font-family: "Chakra Petch", var(--yazi-tipi);
  font-weight: 700;
  font-size: clamp(2.6rem, 8vw, 5.5rem);
  letter-spacing: 0.08em;
  line-height: 1;
}

.lab-sayfa-slogan {
  font-family: var(--el-yazisi);
  font-weight: 600;
  font-size: clamp(1.8rem, 4vw, 2.4rem);
  color: var(--turuncu);
  transform: rotate(-2deg);
  margin-top: 18px;
}

.lab-geri {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 36px;
  font-family: "JetBrains Mono", Consolas, monospace;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  color: #a1a1aa;
  transition: color 0.25s;
}

.lab-geri:hover {
  color: var(--turuncu);
}

/* Projeler eklenene kadar görünen boş alan */
.lab-bos {
  max-width: 640px;
  margin: 0 auto 120px;
  padding: 60px 30px;
  border: 1px dashed rgba(255, 255, 255, 0.18);
  border-radius: 16px;
  text-align: center;
  color: #a1a1aa;
}

.lab-bos strong {
  display: block;
  color: #ecebe8;
  font-size: 1.15rem;
  margin-bottom: 8px;
}

/* ---------- 16j. FİKİR MASASI (fikir-masasi.html) ---------- */
/* Lab sayfasındaki gibi: --turuncu bu sayfada gök mavisi. Logo, linkler,
   adres kartı vb. kendiliğinden mavi olur. */
.fikir-sayfa {
  --turuncu: #5b9cf0;
  --turuncu-koyu: #3f7fd6;
  --fikir-kagit: #f3f0ea;

  background-color: #131518;
  /* Masa yüzeyi: çok silik nokta deseni */
  background-image: radial-gradient(rgba(91, 156, 240, 0.09) 1px, transparent 1.3px);
  background-size: 22px 22px;
  color: #ecebe8;
  min-height: 100vh;
}

.fikir-sayfa .ust-menu,
.fikir-sayfa .alt-bilgi {
  background: #0f1114;
}

.fikir-sayfa .ca-logo {
  filter: drop-shadow(0 0 10px rgba(91, 156, 240, 0.4));
}

.fikir-sayfa .alt-sosyal a:hover {
  background: var(--turuncu);
}

.fikir-ust-ic {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.fikir-hesap {
  display: flex;
  align-items: center;
  gap: 14px;
}

.google-buton {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: #fff;
  color: #1f1f1f;
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: box-shadow 0.2s;
}

.google-buton svg {
  width: 18px;
  height: 18px;
}

.google-buton:hover {
  box-shadow: 0 0 0 3px rgba(91, 156, 240, 0.35);
}

/* Giriş bölümü */
.fikir-giris {
  padding: 80px 0 40px;
}

.fikir-etiket {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "JetBrains Mono", Consolas, monospace;
  font-size: 0.75rem;
  letter-spacing: 0.22em;
  color: #8d93a0;
  margin-bottom: 16px;
}

.fikir-etiket span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--turuncu);
  box-shadow: 0 0 10px var(--turuncu);
}

.fikir-baslik {
  font-family: "Archivo", "Arial Black", sans-serif;
  font-weight: 900;
  font-stretch: 125%;
  font-variation-settings: "wdth" 125;
  font-size: clamp(2.6rem, 7vw, 5.4rem);
  line-height: 0.95;
  letter-spacing: -0.02em;
}

.fikir-baslik em {
  font-style: normal;
  color: transparent;
  -webkit-text-stroke: 1.5px var(--turuncu);
}

.fikir-slogan {
  font-family: var(--el-yazisi);
  font-weight: 700;
  font-size: clamp(1.6rem, 3.4vw, 2.2rem);
  color: var(--turuncu);
  transform: rotate(-2deg);
  transform-origin: left;
  margin-top: 14px;
}

.fikir-giris-alt {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 30px;
}

.fikir-buton {
  padding: 13px 24px;
  border: none;
  border-radius: 10px;
  background: var(--turuncu);
  color: #0d1420;
  font-family: "Chakra Petch", var(--yazi-tipi);
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}

.fikir-buton:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(91, 156, 240, 0.35);
}

.fikir-metin-buton {
  background: none;
  border: none;
  padding: 4px 0;
  color: #a7aebb;
  font-family: inherit;
  font-size: 0.88rem;
  cursor: pointer;
  border-bottom: 1px dashed rgba(167, 174, 187, 0.5);
}

.fikir-metin-buton:hover {
  color: var(--turuncu);
  border-color: var(--turuncu);
}

/* Araç çubuğu */
.fikir-araclar {
  margin-bottom: 34px;
}

.fikir-sekmeler {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: 18px;
  overflow-x: auto;
}

.fikir-sekme {
  background: none;
  border: none;
  padding: 12px 16px;
  color: #8d93a0;
  font-family: inherit;
  font-size: 0.92rem;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

.fikir-sekme:hover {
  color: #ecebe8;
}

.fikir-sekme.aktif {
  color: #ecebe8;
  border-bottom-color: var(--turuncu);
}

.fikir-filtre-satir {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.fikir-kategoriler {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.fikir-kategori {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: transparent;
  color: #b8bfca;
  font-family: inherit;
  font-size: 0.8rem;
  cursor: pointer;
}

.fikir-kategori::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--kat-renk);
}

.fikir-kategori.aktif,
.fikir-kategori:hover {
  border-color: var(--kat-renk);
  color: #ecebe8;
}

.fikir-arama {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
  color: #8d93a0;
}

.fikir-arama:focus-within {
  border-color: var(--turuncu);
}

.fikir-arama svg {
  width: 17px;
  height: 17px;
}

.fikir-arama input {
  background: none;
  border: none;
  outline: none;
  color: #ecebe8;
  font-family: inherit;
  font-size: 0.9rem;
  padding: 11px 0;
  width: 220px;
}

/* Soru kartları: masaya bırakılmış notlar */
.fikir-izgara {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 34px 26px;
  padding-bottom: 110px;
}

.fikir-kart {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 26px 22px 18px;
  border-radius: 4px;
  background: var(--fikir-kagit);
  color: #121212;
  border-top: 5px solid var(--kat-renk);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.45);
  cursor: pointer;
  transform: rotate(var(--egim, -0.6deg));
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  outline: none;
}

/* Kartlar hafif farklı açılarla dursun, masaya gelişigüzel bırakılmış gibi */
.fikir-kart:nth-child(3n + 2) { --egim: 0.7deg; }
.fikir-kart:nth-child(3n + 3) { --egim: -0.3deg; }

.fikir-kart:hover,
.fikir-kart:focus-visible {
  transform: rotate(0deg) translateY(-6px);
  box-shadow: 0 22px 40px rgba(0, 0, 0, 0.55), 0 0 0 2px var(--turuncu);
}

/* Kartı masaya tutturan mavi bant */
.fikir-bant {
  position: absolute;
  top: -13px;
  left: 50%;
  width: 78px;
  height: 22px;
  background: rgba(91, 156, 240, 0.55);
  transform: translateX(-50%) rotate(-3deg);
}

.fikir-kart-kat {
  align-self: flex-start;
  font-family: "JetBrains Mono", Consolas, monospace;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  /* büyük harfe çevirmiyoruz: Türkçe kural "Arduino"yu "ARDUİNO" yapıyor */
  color: #4a4744;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.fikir-kart-kat::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--kat-renk);
}

.fikir-kart-baslik {
  font-family: "Archivo", "Arial Black", sans-serif;
  font-weight: 800;
  font-stretch: 105%;
  font-variation-settings: "wdth" 105;
  font-size: 1.12rem;
  line-height: 1.25;
  margin: 10px 0 8px;
}

.fikir-kart-ozet {
  font-size: 0.86rem;
  line-height: 1.55;
  color: #4a4744;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 16px;
}

.fikir-kart-alt {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px dashed rgba(18, 18, 18, 0.2);
}

.fikir-sayac {
  font-family: "JetBrains Mono", Consolas, monospace;
  font-size: 0.72rem;
  color: #1f5fb8;
  white-space: nowrap;
}

.fikir-sayac.sifir {
  color: #8d8880;
}

/* Çözüldü damgası */
.fikir-damga {
  position: absolute;
  right: 14px;
  top: 16px;
  padding: 3px 10px;
  border: 2px solid #3f7fd6;
  border-radius: 4px;
  color: #3f7fd6;
  font-family: "Chakra Petch", var(--yazi-tipi);
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  transform: rotate(8deg);
  opacity: 0.85;
}

.fikir-damga.kucuk {
  position: static;
  transform: rotate(-3deg);
}

.fikir-bekliyor {
  align-self: flex-start;
  display: inline-block;
  margin: 6px 0 2px;
  padding: 2px 10px;
  border-radius: 999px;
  background: #fff4d6;
  color: #8a6100;
  font-size: 0.72rem;
  font-weight: 600;
}

/* Yazar: baş harf avatarı + ad + rozet */
.fikir-yazar {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  font-size: 0.8rem;
  min-width: 0;
}

.fikir-avatar {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #5b9cf0;
  color: #fff;
  font-size: 0.66rem;
  font-weight: 700;
  flex-shrink: 0;
}

.fikir-yazar-ad {
  font-weight: 600;
}

.fikir-zaman {
  color: #8d8880;
}

.fikir-rozet {
  padding: 2px 7px;
  border-radius: 4px;
  background: #121212;
  color: #f3f0ea;
  font-family: "Chakra Petch", var(--yazi-tipi);
  font-weight: 700;
  font-size: 0.6rem;
  letter-spacing: 0.1em;
}

/* Üst çubukta (koyu zemin) giriş yapmış kullanıcı */
.fikir-hesap .fikir-yazar-ad {
  color: #ecebe8;
}

.fikir-bos {
  text-align: center;
  color: #8d93a0;
  padding: 40px 0 120px;
}

/* Açılır pencereler */
.fikir-perde {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  padding: 24px 16px;
  background: rgba(8, 10, 13, 0.72);
  backdrop-filter: blur(3px);
  overflow-y: auto;
}

.fikir-perde[hidden] {
  display: none;
}

.fikir-pencere {
  position: relative;
  width: min(640px, 100%);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  padding: 34px 32px 28px;
  border-radius: 6px;
  background: var(--fikir-kagit);
  color: #121212;
  border-top: 6px solid var(--kat-renk, var(--turuncu));
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.6);
  animation: pencere-gel 0.3s ease;
}

.fikir-detay {
  width: min(760px, 100%);
}

@keyframes pencere-gel {
  from { opacity: 0; transform: translateY(18px) scale(0.98); }
  to   { opacity: 1; transform: none; }
}

.pencere-kapat {
  position: absolute;
  top: 10px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: transparent;
  font-size: 1.6rem;
  line-height: 1;
  color: #4a4744;
  cursor: pointer;
}

.pencere-kapat:hover {
  background: rgba(18, 18, 18, 0.08);
}

.pencere-baslik {
  font-family: "Archivo", "Arial Black", sans-serif;
  font-weight: 900;
  font-stretch: 110%;
  font-variation-settings: "wdth" 110;
  font-size: 1.6rem;
}

.pencere-not {
  color: #4a4744;
  font-size: 0.88rem;
  margin: 6px 0 20px;
}

.fikir-form label {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  margin-bottom: 14px;
}

.fikir-form input,
.fikir-form select,
.fikir-form textarea,
.fikir-yazma textarea {
  display: block;
  width: 100%;
  margin-top: 6px;
  padding: 11px 13px;
  border: 1px solid rgba(18, 18, 18, 0.2);
  border-radius: 8px;
  background: #fff;
  font-family: inherit;
  font-size: 0.92rem;
  color: #121212;
  resize: vertical;
}

.fikir-form input:focus,
.fikir-form select:focus,
.fikir-form textarea:focus,
.fikir-yazma textarea:focus {
  outline: none;
  border-color: var(--turuncu);
  box-shadow: 0 0 0 3px rgba(91, 156, 240, 0.2);
}

.fikir-form-alt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.fikir-sinir {
  font-size: 0.78rem;
  color: #8d8880;
}

.form-hata {
  color: #c0453a;
  font-size: 0.85rem;
  min-height: 1.2em;
  margin-bottom: 8px;
}

.fikir-kurallar {
  margin: 18px 0 4px 20px;
  display: grid;
  gap: 10px;
  font-size: 0.92rem;
  color: #2c2a28;
}

/* Soru detayı */
.detay-ust {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.detay-baslik {
  font-family: "Archivo", "Arial Black", sans-serif;
  font-weight: 900;
  font-stretch: 108%;
  font-variation-settings: "wdth" 108;
  font-size: clamp(1.3rem, 3vw, 1.8rem);
  line-height: 1.2;
  margin: 12px 0 10px;
  padding-right: 30px;
}

.detay-aciklama {
  margin: 14px 0 8px;
  font-size: 0.98rem;
  line-height: 1.65;
  color: #2c2a28;
}

.detay-alt-baslik {
  margin: 28px 0 14px;
  padding-top: 18px;
  border-top: 2px solid #121212;
  font-family: "JetBrains Mono", Consolas, monospace;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.fikir-sikayet {
  background: none;
  border: none;
  padding: 0;
  color: #8d8880;
  font-family: inherit;
  font-size: 0.78rem;
  cursor: pointer;
}

.fikir-sikayet:hover {
  color: #c0453a;
}

.fikir-cevap {
  position: relative;
  padding: 16px 18px;
  margin-bottom: 14px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(18, 18, 18, 0.1);
}

.fikir-cevap.cozum {
  border: 2px solid #3f7fd6;
  background: #f2f7ff;
}

.cevap-cozum-etiket {
  display: inline-block;
  margin-bottom: 8px;
  padding: 2px 10px;
  border-radius: 999px;
  background: #3f7fd6;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
}

.cevap-metin {
  margin: 10px 0 12px;
  font-size: 0.93rem;
  line-height: 1.6;
  color: #2c2a28;
}

.cevap-eylemler {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.cevap-oy,
.cevap-cozum-buton {
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid rgba(18, 18, 18, 0.18);
  background: #fff;
  font-family: inherit;
  font-size: 0.8rem;
  cursor: pointer;
}

.cevap-oy:hover,
.cevap-cozum-buton:hover {
  border-color: #3f7fd6;
  color: #1f5fb8;
}

.cevap-oy.verildi {
  background: #3f7fd6;
  border-color: #3f7fd6;
  color: #fff;
}

.cevap-yorumlar {
  margin-top: 14px;
  padding-left: 16px;
  border-left: 2px solid rgba(91, 156, 240, 0.4);
  display: grid;
  gap: 10px;
}

.cevap-yorum p {
  margin-top: 4px;
  font-size: 0.86rem;
  color: #2c2a28;
}

.cevap-yorum .fikir-avatar {
  width: 22px;
  height: 22px;
  font-size: 0.6rem;
}

.yorum-ac {
  margin-top: 12px;
  color: #1f5fb8;
  border-color: rgba(31, 95, 184, 0.4);
}

.fikir-yazma {
  margin-top: 12px;
}

.fikir-yazma .fikir-buton {
  margin-top: 4px;
}

.fikir-yazma.kucuk textarea {
  font-size: 0.86rem;
}

/* Kısa bildirim */
.fikir-bildirim {
  position: fixed;
  left: 50%;
  bottom: 28px;
  z-index: 300;
  padding: 12px 20px;
  border-radius: 10px;
  background: #1c2230;
  border: 1px solid rgba(91, 156, 240, 0.5);
  color: #ecebe8;
  font-size: 0.9rem;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.5);
  transform: translate(-50%, 20px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s, transform 0.25s;
}

.fikir-bildirim.gorunur {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (max-width: 600px) {
  .fikir-arama,
  .fikir-arama input {
    width: 100%;
  }

  .google-buton {
    padding: 8px 12px;
    font-size: 0.78rem;
  }

  .fikir-hesap .fikir-yazar-ad {
    display: none; /* dar ekranda sadece avatar */
  }

  .fikir-pencere {
    padding: 30px 20px 22px;
  }
}

/* ---- Ana sayfadaki "Fikir Masası'na sor" linki ---- */
.fikir-link {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 28px;
  padding: 14px 18px;
  border-radius: 12px;
  border: 1px dashed rgba(91, 156, 240, 0.5);
  background: rgba(91, 156, 240, 0.06);
  transition: background 0.25s, border-color 0.25s;
}

.fikir-link small {
  font-size: 0.82rem;
  color: #b9b7b2;
}

.fikir-link span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Chakra Petch", var(--yazi-tipi);
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: 0.04em;
  color: #5b9cf0;
}

.fikir-link svg {
  width: 16px;
  height: 16px;
  transition: transform 0.3s;
}

.fikir-link:hover {
  background: rgba(91, 156, 240, 0.12);
  border-style: solid;
}

.fikir-link:hover svg {
  transform: translate(3px, -3px);
}

/* ---------- 16k. YASAL SAYFALAR (gizlilik, kullanım şartları) ---------- */
.yasal-sayfa {
  background: #141414;
  color: #d4d3cf;
  min-height: 100vh;
}

.yasal {
  max-width: 780px;
  margin: 0 auto;
  padding: 70px 20px 100px;
  font-size: 0.98rem;
  line-height: 1.75;
}

.yasal-etiket {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "JetBrains Mono", Consolas, monospace;
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  color: #8d8880;
  margin-bottom: 14px;
}

.yasal-etiket span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--turuncu);
}

.yasal h1 {
  font-family: "Chakra Petch", var(--yazi-tipi);
  font-size: clamp(1.8rem, 4.5vw, 2.6rem);
  line-height: 1.15;
  color: #f2f1ee;
}

.yasal-tarih {
  margin: 10px 0 30px;
  color: #8d8880;
  font-size: 0.85rem;
}

.yasal h2 {
  margin: 44px 0 12px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 1.25rem;
  color: #f2f1ee;
  scroll-margin-top: 90px;
}

.yasal p,
.yasal ul,
.yasal ol {
  margin-bottom: 14px;
}

.yasal ul,
.yasal ol {
  padding-left: 22px;
}

.yasal li {
  margin-bottom: 8px;
}

.yasal ul {
  list-style: disc;
}

.yasal strong {
  color: #f2f1ee;
}

.yasal em {
  display: block;
  margin-top: 2px;
  color: #8d8880;
  font-size: 0.88rem;
}

.yasal a {
  color: var(--turuncu);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.yasal-icindekiler {
  margin-bottom: 30px;
  padding: 18px 24px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.yasal-icindekiler ol {
  margin: 0;
  columns: 2;
  column-gap: 30px;
  font-size: 0.9rem;
}

.yasal-icindekiler li {
  margin-bottom: 4px;
  break-inside: avoid;
}

.yasal-kutu {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 8px 22px;
  margin-bottom: 14px;
  padding: 18px 22px;
  border-radius: 12px;
  background: rgba(210, 122, 69, 0.06);
  border: 1px solid rgba(210, 122, 69, 0.25);
}

.yasal-kutu dt {
  color: #8d8880;
}

.yasal-kutu dd {
  color: #f2f1ee;
  font-weight: 500;
}

.yasal-tablo-sar {
  overflow-x: auto;
  margin-bottom: 16px;
}

.yasal-tablo {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.yasal-tablo th,
.yasal-tablo td {
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  text-align: left;
  vertical-align: top;
}

.yasal-tablo th {
  background: rgba(255, 255, 255, 0.04);
  color: #f2f1ee;
  font-weight: 600;
}

.yasal-ilgili {
  margin-top: 40px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* Alt bilgideki yasal linkler (tüm sayfalarda) */
.yasal-linkler a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.25);
  text-underline-offset: 3px;
}

.yasal-linkler a:hover {
  color: var(--turuncu);
}

/* Formların altındaki kısa bilgilendirme notu */
.form-not {
  margin-top: 12px;
  font-size: 0.78rem;
  color: #8d8880;
}

.form-not a {
  color: inherit;
  text-decoration: underline;
}

@media (max-width: 600px) {
  .yasal-icindekiler ol {
    columns: 1;
  }

  .yasal-kutu {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .yasal-kutu dd {
    margin-bottom: 8px;
  }
}

/* ---------- 17. MOBİL UYUM (RESPONSIVE) ---------- */
/* Ekran 900px'ten darsa bu kurallar devreye girer */
@media (max-width: 900px) {
  .giris .kapsayici,
  .iki-sutun,
  .iletisim-izgara {
    grid-template-columns: 1fr; /* iki sütun alt alta iner */
  }

  .giris h1 {
    font-size: 3.2rem;
  }

  .giris-gorsel {
    max-width: 380px;
    margin: 0 auto;
  }

  .kartlar,
  .proje-izgara {
    grid-template-columns: 1fr 1fr;
  }

  /* Menü linkleri gizlenir, hamburger butonu görünür */
  .menu-butonu {
    display: block;
  }

  .menu-linkleri {
    position: absolute;
    top: 76px;
    left: 0;
    right: 0;
    flex-direction: column;
    gap: 0;
    background: var(--beyaz);
    border-bottom: 1px solid var(--cizgi);
    display: none;
  }

  .menu-linkleri.acik {
    display: flex;
  }

  .menu-linkleri a {
    display: block;
    padding: 16px 20px;
    border-top: 1px solid var(--cizgi);
  }

  .menu-linkleri a::after {
    display: none;
  }

  /* Menü açıkken hamburger "X" şekline döner */
  .menu-butonu.acik span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }

  .menu-butonu.acik span:nth-child(2) {
    opacity: 0;
  }

  .menu-butonu.acik span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }
}

@media (max-width: 600px) {
  .bolum {
    padding: 64px 0;
  }

  .kartlar,
  .proje-izgara {
    grid-template-columns: 1fr;
  }

  .giris h1 {
    font-size: 2.6rem;
  }

  .arka-yazili-baslik h2 {
    font-size: 2rem;
  }

  .arka-yazili-baslik .arka-yazi {
    font-size: 4rem;
  }

  .zirh-marka {
    top: 18px;
    left: 16px;
    gap: 10px;
  }

  .ca-logo {
    width: 32px;
  }

  .zirh-marka-yazi {
    font-size: 0.8rem;
  }

  .bolum-baslik h2 {
    font-size: 1.7rem;
  }

  .yapiskan-not.not-1,
  .yapiskan-not.not-2 {
    left: -8px;
  }

  .form {
    padding: 24px;
  }
}
