/* Yazı tipleri yerel sunucudan (Google Fonts'a dış istek yok) */
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url('../assets/font/figtree-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url('../assets/font/figtree-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/font/figtree-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/font/figtree-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:800;font-display:swap;src:url('../assets/font/figtree-800-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:800;font-display:swap;src:url('../assets/font/figtree-800-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/font/inter-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/font/inter-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../assets/font/inter-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../assets/font/inter-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../assets/font/inter-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../assets/font/inter-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/font/inter-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/font/inter-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url('../assets/font/playfairdisplay-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url('../assets/font/playfairdisplay-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ==========================================================================
   DÜŞÜNÜR KOLEJİ — "Bir Soruyla Başlar" Ana Sayfa
   Sinematik kaydırma yolculuğu + gündüz sayfası. Tasarım kaynağı:
   03-web-sitesi/TASARIM-PAKETI.md — metinler ve bandlar oradan birebir gelir.
   Harici bağımlılık: yalnızca Google Fonts.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. JETONLAR
   -------------------------------------------------------------------------- */
:root{
  /* gece (kahraman dünyası) */
  --gece:        #0A1226;
  --gece-2:      #101B38;
  --gece-3:      #182448;
  /* gündüz (site) */
  --canvas:      #F7F8FB;
  --panel:       #FFFFFF;
  --panel-2:     #EFF2F7;
  --cizgi:       #E3E7EE;
  --cizgi-2:     #CFD5E0;
  /* marka (logodan) */
  --accent:      #EB0F2D;
  --accent-hover:#C40B23;
  --accent-ak:   #FF5C72;
  --accent-muted:rgba(235,15,45,.14);
  --mavi:        #0871B9;
  --mavi-koyu:   #05528A;
  --mavi-acik:   #2A96E0;
  --mavi-sis:    #EFF7FD;
  /* metin */
  --text-primary:   #1C2740;
  --text-secondary: #5C6884;
  --text-uc:        #5F6985;
  --text-gece:      #F2F5FB;
  --text-gece-2:    #A9B4CC;
  /* yazı: başlıklar Figtree (marka kimliği belgesinin tercihi),
     gövde Inter, logo kilidi logonun kendi serif dünyası */
  --f-sergi: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-govde: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-logo:  'Playfair Display', 'Times New Roman', Georgia, serif;
  --f-mono:  'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  /* ölçüler */
  --en:      1560px;
  --en-orta: 1180px;
  --en-dar:  820px;
  /* İçerik sayfalarında TEK genişlik: başlık, paragraf, tablo,
     ızgara ve görsel aynı sol ve sağ çizgiyi paylaşır. */
  --en-icerik: 900px;
  --pad: clamp(1.15rem, 3.5vw, 3rem);
  --dikey: clamp(2.5rem, 4.5vw, 3.75rem);
  --r-s: 8px; --r-m: 10px; --r-l: 14px; --r-tam: 999px;
  /* gölge ve geçiş */
  --g-s: 0 2px 10px rgba(14,27,51,.07);
  --g-m: 0 10px 34px rgba(14,27,51,.10);
  --g-l: 0 24px 70px rgba(14,27,51,.16);
  --ease: cubic-bezier(.22,1,.36,1);
  --gecis: 240ms var(--ease);
  --gecis-yavas: 620ms var(--ease);
  /* metin gölgesi (gece bandları) */
  --tshadow: 0 1px 2px rgba(5,8,18,.95), 0 3px 12px rgba(5,8,18,.78), 0 10px 44px rgba(5,8,18,.8);
}

/* --------------------------------------------------------------------------
   2. TABAN
   -------------------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0 }
html{ scroll-behavior:smooth; overflow-x:hidden; overflow-x:clip; scroll-padding-top:120px }
/* Gövde 16 px / 1.65 idi; sayfa "her şey büyük" hissi veriyordu
   (kullanıcı geri bildirimi). 15 px / 1.6 — başlık basamakları da
   aşağıdaki ölçekte orantılı düşürüldü, hiyerarşi korunuyor. */
body{
  font-family:var(--f-govde); font-size:.9375rem; line-height:1.6;
  color:var(--text-primary); background:var(--canvas);
  overflow-x:hidden; overflow-x:clip;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}

/* Tek çevre: tüm sayfanın arkasında yavaşça kayan defter ızgarası */
body::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background-image:
    linear-gradient(rgba(14,27,51,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(14,27,51,.045) 1px, transparent 1px);
  background-size:56px 56px;
  animation:izgara-kayma 120s linear infinite;
}
@keyframes izgara-kayma{ from{background-position:0 0} to{background-position:0 -560px} }

img{ max-width:100%; height:auto; display:block }
a{ color:var(--mavi); text-decoration:none }
a:hover{ text-decoration:underline }
/* Gövde metni içindeki bağlantılar renkle değil, alt çizgiyle de ayrışır:
   mavi ile metin arasındaki kontrast 2,88:1 idi, renk tek başına yeterli
   bir ayırt edici değil (denetim bulgusu). Menü/düğme/kart bağlantıları
   kendi kurallarında text-decoration:none taşıdığı için etkilenmez. */
.icerik p a, .icerik li a, .icerik blockquote a, .buyuk-p a{
  text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px;
}
h1,h2,h3,h4{ font-family:var(--f-sergi); line-height:1.18; color:var(--text-primary); font-weight:700 }
h2{ font-size:clamp(1.35rem, 2vw, 1.8rem); letter-spacing:-.02em; margin-bottom:.6rem }
/* ara başlık gövdeden net ayrışsın: 34 / 29 / 18 / 15 px ölçeği */
h3{ font-size:1.125rem; margin-bottom:.45rem }
h3,h4{ line-height:1.35 }
:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:2px }
/* gece zeminlerinde odak halkası açık kırmızıyla seçilir kalsın */
.bolum-gece :focus-visible, .sayfa-bas :focus-visible, .sayfa-cta :focus-visible,
.duragan :focus-visible, .yolculuk :focus-visible, .form-kart :focus-visible,
.alt :focus-visible, .ust:not(.aydinlik) :focus-visible{ outline-color:var(--accent-ak) }

.gizli{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}
.atla{
  position:fixed; top:-60px; left:1rem; z-index:200;
  background:var(--accent); color:#fff; padding:.6rem 1.1rem;
  border-radius:0 0 var(--r-s) var(--r-s); font-weight:600;
  transition:top var(--gecis);
}
.atla:focus{ top:0; text-decoration:none }

.kap{ max-width:var(--en); margin-inline:auto; padding-inline:var(--pad) }
.kap-orta{ max-width:var(--en-orta) }
.kap-dar{ max-width:var(--en-dar) }
.orta-metin{ text-align:center }

.capa-esdeger{ position:absolute; transform:translateY(-130px) }

/* Butonlar */
.btn{
  display:inline-flex; align-items:center; gap:.5rem; white-space:nowrap;
  font-family:var(--f-govde); font-weight:700; font-size:.9375rem;
  padding:.78rem 1.5rem; border-radius:var(--r-tam); border:2px solid transparent;
  cursor:pointer; transition:transform var(--gecis), background var(--gecis),
    color var(--gecis), border-color var(--gecis), box-shadow var(--gecis);
  text-decoration:none !important; text-shadow:none;
}
.btn svg{ width:17px; height:17px; flex-shrink:0 }
.btn-buyuk{ padding:.95rem 1.9rem; font-size:1rem }
.btn-ana{ background:var(--accent); color:#fff; box-shadow:0 8px 26px rgba(235,15,45,.32) }
.btn-ana:hover{ background:var(--accent-hover); transform:translateY(-2px) }
/* AURORA: ana çağrı butonunun içinde marka renklerinde yavaş dönen ışık.
   Yalnız üzerine gelince görünür; hareket azaltma isteğinde durur. */
.btn-ana{ position:relative; overflow:hidden; isolation:isolate }
.btn-ana::before{
  content:""; position:absolute; z-index:-1; left:50%; top:50%;
  width:230%; aspect-ratio:1; translate:-50% -50%;
  background:conic-gradient(from 0deg, #EB0F2D, #7A0716, #0A1226, #2A96E0, #EB0F2D);
  opacity:0; transition:opacity .35s var(--ease);
  animation:aurora-don 7s linear infinite;
}
.btn-ana:hover::before, .btn-ana:focus-visible::before{ opacity:.7 }
@keyframes aurora-don{ to{ rotate:360deg } }
@media (prefers-reduced-motion: reduce){ .btn-ana::before{ animation:none } }
.btn-mavi{ background:var(--mavi); color:#fff; box-shadow:0 8px 26px rgba(8,113,185,.3) }
.btn-mavi:hover{ background:var(--mavi-koyu); transform:translateY(-2px) }
.btn-cizgi{ border-color:var(--cizgi-2); color:var(--text-primary); background:transparent }
.btn-cizgi:hover{ border-color:var(--text-primary); transform:translateY(-2px) }
.btn-cizgi-ak{ border-color:rgba(255,255,255,.4); color:#fff; background:transparent }
.btn-cizgi-ak:hover{ border-color:#fff; transform:translateY(-2px) }
.btn-grup{ display:flex; flex-wrap:wrap; gap:.8rem; align-items:center }
.btn-grup.orta{ justify-content:center }
/* basma geri bildirimi: dokunmatikte tek görsel kanal */
.btn:active{ transform:translateY(0) }
.btn-ana:active{ background:var(--accent-hover) }
.btn-mavi:active{ background:var(--mavi-koyu) }
.filtre:active{ background:var(--panel-2) }
.sosyal-sira a:active{ transform:translateY(0) }
@media (pointer:coarse){
  .btn{ min-height:44px; display:inline-flex; align-items:center; justify-content:center }
  .filtre{ min-height:44px }
  .sosyal-sira a{ width:42px; height:42px }
  .hb-kapat{ width:38px; height:38px }
  .harita-liste button{ padding-block:.65rem }
}
/* durum değişimleri yumuşak belirir */
@keyframes belirme{ from{ opacity:0; transform:translateY(6px) } }
.harita-bilgi:not([hidden]), #form-sonuc > div{ animation:belirme .24s var(--ease) }
.sss-liste details[open] p{ animation:belirme .28s var(--ease) }
/* metin bağlantılarında renk geçişi */
.ust-baglanti, .alt-liste a, .alt-ilet a, .alt-serit a, .kart-baslik-baglanti,
.kirinti a, .altmenu a, .harita-liste button, .hb-kapat{
  transition:color var(--gecis), background-color var(--gecis);
}

/* Etiketler ve kicker'lar */
.etiket{
  display:inline-block; font-family:var(--f-mono); font-weight:600;
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent-hover); background:var(--accent-muted);
  padding:.3rem .8rem; border-radius:var(--r-tam); margin-bottom:1rem;
}
/* mavi etiketin zemini kırmızı çeşitle aynı görünür ağırlıkta olmalı;
   --mavi-sis sayfa zeminiyle 1,02:1 idi, hap görünmüyordu */
.etiket-mavi{ color:var(--mavi-koyu, #0871B9); background:rgba(8,113,185,.13) }
.etiket-gece{ color:var(--accent-ak); background:rgba(235,15,45,.16) }
.kicker{
  font-family:var(--f-mono); font-weight:600; font-size:.78rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--mavi-acik);
}

/* açık zeminde küçük metinde marka kırmızısı 4,03:1 kalıyordu;
   bir tık koyu ton 5,3:1 verir ve kimliği bozmaz (denetim bulgusu) */
.ok-baglanti{
  display:inline-flex; align-items:baseline; gap:.4rem; font-weight:600;
  color:#A80A1E; margin-top:.6rem;
}
.bolum-gece .ok-baglanti, .sayfa-cta .ok-baglanti{ color:#A80A1E }
.ok-baglanti svg{ width:15px; height:15px; align-self:center; transition:transform var(--gecis) }
.ok-baglanti:hover svg{ transform:translateX(4px) }
.buyuk-p{ font-size:.98rem; color:var(--text-secondary) }

/* --------------------------------------------------------------------------
   3. BAŞLIK (tek bar, tam genişlik: en soldan en sağa)
   -------------------------------------------------------------------------- */
.ust{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.9); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--cizgi);
  transition:background var(--gecis), border-color var(--gecis), box-shadow var(--gecis);
}
/* Şerit 106 px idi: dikey logo kilidi yüzünden ekranın tepesinde
   gereğinden fazla yer kaplıyordu (kullanıcı geri bildirimi). 84 px. */
.ust .kap{
  display:flex; align-items:center; justify-content:space-between;
  gap:1.2rem; min-height:84px; max-width:none;
}

/* gündüz teması: kahraman geçildikten sonra */
.ust.aydinlik{
  background:rgba(255,255,255,.94); border-bottom-color:var(--cizgi);
}
.ust.aydinlik.kaydi{ box-shadow:var(--g-s) }

/* LOGO KİLİDİ — GERÇEK DOSYA
   Önce amblem görseli + marka adı metni + slogan metni ayrı ayrı
   çiziliyordu; slogan marka adından taşıyor ve yazı karakteri
   orijinalden ayrışıyordu (kullanıcı geri bildirimi). Artık tek parça
   assets/logo.png: karakter, oran ve renk birebir orijinal. */
.logo{
  display:flex; align-items:center; flex-shrink:0;
  text-decoration:none !important; padding-block:.3rem;
}
/* Şerit ve alt bilgide SLOGANSIZ sürüm (assets/logo-serit.png):
   64 px'lik barda slogan bandı ~4 piksele iniyor ve mavi bir leke gibi
   duruyordu (kullanıcı: "hiç gözükmüyor, silmeyi deneyelim").
   Slogan yalnız kahramanda kalıyor; orada logo 620 px ve net okunuyor. */
.logo img{
  height:58px; width:auto; display:block;
  transition:transform var(--gecis);
}
.logo:hover img{ transform:scale(1.04) }

/* Menü */
.menu{ display:flex; align-items:center; gap:.1rem; list-style:none }
.menu > li{ position:relative }
.menu > li > a{
  display:flex; align-items:center; gap:.3rem; white-space:nowrap;
  font-weight:600; font-size:.875rem; color:var(--text-primary);
  padding:.5rem .6rem; border-radius:var(--r-s);
  transition:color var(--gecis), background var(--gecis);
  text-decoration:none !important;
}
.menu > li > a:hover{ background:rgba(255,255,255,.08) }
.ust.aydinlik .menu > li > a{ color:var(--text-primary) }
.ust.aydinlik .menu > li > a:hover{ background:var(--panel-2) }
.menu .ok{ width:13px; height:13px; transition:transform var(--gecis) }
.menu > li:hover .ok{ transform:rotate(180deg) }

.altmenu{
  position:absolute; top:calc(100% + 8px); left:0; min-width:250px;
  background:#fff; border:1px solid var(--cizgi); border-radius:var(--r-m);
  box-shadow:var(--g-l); padding:.5rem; list-style:none;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity var(--gecis), transform var(--gecis), visibility var(--gecis);
  z-index:70;
}
.menu > li:hover > .altmenu,
.menu > li:focus-within > .altmenu{ opacity:1; visibility:visible; transform:none }
.altmenu a{
  display:block; padding:.55rem .8rem; border-radius:var(--r-s);
  color:var(--text-primary); font-size:.9rem; font-weight:500;
  text-decoration:none !important;
}
.altmenu a:hover{ background:var(--panel-2); color:var(--accent) }
.altmenu small{ display:block; font-size:.75rem; color:var(--text-uc) }

.ust-sag{ display:flex; align-items:center; gap:.85rem }
.ust-baglanti{
  font-size:.875rem; font-weight:600; color:#C9D3E8;
  text-decoration:none !important; white-space:nowrap;
}
.ust-baglanti:hover{ color:#fff }
.ust.aydinlik .ust-baglanti{ color:var(--text-secondary) }
.ust.aydinlik .ust-baglanti:hover{ color:var(--text-primary) }
.ust-tel{
  display:inline-flex; align-items:center; gap:.4rem; white-space:nowrap;
  font-weight:700; font-size:.9375rem; color:#fff; text-decoration:none !important;
  transition:color var(--gecis);
}
.ust-tel svg{ flex-shrink:0 }
.ust-tel:hover{ color:var(--accent-ak) }
.ust.aydinlik .ust-tel{ color:var(--text-primary) }
.ust.aydinlik .ust-tel:hover{ color:var(--accent) }
.btn-burs{
  border:2px solid var(--mavi); color:var(--mavi); background:transparent;
  white-space:nowrap;
}
.btn-burs:hover{ border-color:var(--mavi-koyu); color:var(--mavi-koyu); transform:translateY(-2px) }
.ust.aydinlik .btn-burs{ border-color:var(--mavi); color:var(--mavi) }
.ust.aydinlik .btn-burs:hover{ border-color:var(--mavi-koyu); color:var(--mavi-koyu) }
@media (max-width: 1500px){ .ust-baglanti{ display:none } }
@media (max-width: 1320px){ .ust-tel{ display:none } }
/* 1180 px yetmiyordu: 1200-1400 arası genişliklerde (1366 dizüstü dahil)
   menü + iki düğme üst çubuğu taşırıyor, "Ön Kayıt" ekranın dışında
   kalıyordu. 1440'ta ikisi de rahat sığıyor; sınır 1400. */
@media (max-width: 1400px){ .btn-burs{ display:none } }
.hamburger{
  display:none; width:44px; height:44px; border:0; background:transparent;
  cursor:pointer; place-items:center; border-radius:var(--r-s);
}
.hamburger span, .hamburger span::before, .hamburger span::after{
  content:""; display:block; width:22px; height:2px; border-radius:2px;
  background:var(--text-primary); position:relative; transition:transform var(--gecis), background var(--gecis);
}
.ust.aydinlik .hamburger span,
.ust.aydinlik .hamburger span::before,
.ust.aydinlik .hamburger span::after{ background:var(--text-primary) }
.hamburger span::before{ position:absolute; top:-7px }
.hamburger span::after{ position:absolute; top:7px }

.ortu{
  position:fixed; inset:0; z-index:88; background:rgba(10,18,38,.55);
  opacity:0; visibility:hidden; transition:opacity var(--gecis), visibility var(--gecis);
}
.ortu.acik{ opacity:1; visibility:visible }

/* --------------------------------------------------------------------------
   4. KAHRAMAN · KAYDIRMA YOLCULUĞU
   -------------------------------------------------------------------------- */
/* KAHRAMAN — AÇIK ZEMİN
   Sahne tamamen koyu lacivertti; sitenin ilk gördüğü ekran olduğu için
   "içim daraldı" hissinin en büyük kaynağıydı (kullanıcı geri bildirimi).
   Zemin açıldı, yazılar lacivert mürekkebe döndü. */
.yolculuk{ display:none; position:relative; height:600vh; background:var(--canvas); margin-top:-84px }
html.js .yolculuk{ display:block }

.sahne-sabit{
  position:sticky; top:0; height:100vh; height:100svh; overflow:hidden;
  background:
    radial-gradient(ellipse 120% 90% at 50% 26%, #FFFFFF 0%, var(--canvas) 58%, #EEF1F7 100%);
}
.sahne-sabit::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(28,39,64,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(28,39,64,.045) 1px, transparent 1px);
  background-size:56px 56px;
  transform:translateY(calc(var(--kaydi, 0) * -18vh));
}

#tuval{
  position:absolute; inset:0; width:100%; height:100%;
  will-change:transform; transform:translateZ(0);
}

/* Amblem: sahnenin çizdiği sadeleştirilmiş kalkan */
.amblem{
  position:absolute; left:50%; top:44%;
  width:min(31vh, 270px); height:auto; transform:translate(-50%,-50%);
  overflow:visible;
}
.amblem .a-kalkan{
  fill:none; stroke:var(--accent); stroke-width:3.4; stroke-linecap:round;
  stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--ciz-kalkan, 0));
  opacity:clamp(0, calc(var(--ciz-kalkan, 0) * 40), 1);
  filter:drop-shadow(0 0 14px rgba(235,15,45,.36));
}
.amblem .a-defne{
  fill:none; stroke:var(--mavi-acik); stroke-width:2.6; stroke-linecap:round;
  stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--ciz-defne, 0));
  opacity:clamp(0, calc(var(--ciz-defne, 0) * 40), 1);
}
.amblem .a-yaprak{
  fill:none; stroke:var(--mavi-acik); stroke-width:2.2; stroke-linecap:round;
  stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--ciz-defne, 0));
  opacity:calc(var(--ciz-defne, 0));
}
.amblem .a-d{
  fill:none; stroke:var(--text-gece); stroke-width:3.2; stroke-linejoin:round;
  stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--ciz-d, 0));
  opacity:clamp(0, calc(var(--ciz-d, 0) * 40), 1);
  filter:drop-shadow(0 0 10px rgba(242,245,251,.3));
}
.amblem .a-sayfa{
  fill:none; stroke:var(--text-gece); stroke-width:2.2; stroke-linecap:round;
  stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--ciz-d, 0));
  opacity:clamp(0, calc(var(--ciz-d, 0) * .8), .8);
}
.amblem .a-yildizlar circle{ fill:var(--accent); opacity:var(--ciz-yildiz, 0) }
.amblem.cizili{ --ciz-kalkan:1; --ciz-defne:1; --ciz-d:1; --ciz-yildiz:1 }

/* Karalama tamamlanınca gerçek amblem belirir: çizim gerçeğe dönüşür */
.amblem{ opacity:calc(1 - var(--foto, 0) * .85) }
.amblem-gercek{
  position:absolute; left:50%; top:44%;
  width:auto; height:min(31vh, 270px);
  transform:translate(-50%,-50%) scale(calc(.94 + .06 * var(--foto, 0)));
  opacity:var(--foto, 0);
  filter:drop-shadow(0 8px 34px rgba(235,15,45,.3));
  pointer-events:none;
}

/* Taban karartma: hiçbir kare çıplak kalmaz */
.karart{
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 120% 90% at 50% 45%,
    rgba(6,10,22,0) 35%, rgba(6,10,22,.6) 100%);
}

/* ==========================================================================
   SÖZLER: kaydırdıkça gelen cümleler; her biri başka biçimde açılır.
   Değişkenleri js/sahne.js yazar: --o (görünürlük), --t (0..1 yerel ilerleme)
   ========================================================================== */
.sozler{ position:absolute; inset:0; display:grid; place-items:center; padding-inline:var(--pad) }
.soz{
  --o:0; --t:0;
  position:absolute; width:min(1040px, 88vw); text-align:center;
  opacity:var(--o); color:var(--text-primary); pointer-events:none;
  will-change:transform, opacity;
}
.soz-no{
  display:block; font-family:var(--f-mono); font-weight:700; font-size:.7rem;
  letter-spacing:.34em; color:var(--text-uc); margin-bottom:1.1rem;
}
.soz-metin{
  position:relative; display:block;
  font-family:var(--f-sergi); font-weight:700; color:var(--text-primary);
  font-size:clamp(1.9rem, 5.1vw, 3.9rem); line-height:1.14; letter-spacing:-.022em;
}
.soz-alt{ display:block; margin-top:1.1rem; color:var(--text-secondary); font-size:1.05rem }
/* kromatik sapma: yalnız hızlı kaydırmada açılır, dururken tamamen kapanır */
.soz-metin .gh{ position:absolute; inset:0; opacity:var(--cao, 0); pointer-events:none; mix-blend-mode:multiply }
.soz-metin .gr{ color:var(--accent); transform:translate3d(var(--ca, 0px), 0, 0) }
.soz-metin .gb{ color:var(--mavi); transform:translate3d(calc(var(--ca, 0px) * -1), 0, 0) }
.soz-metin .mn{ position:relative }

/* biçim 1: bulanıktan netleşir (odaklanma) */
.fmt-netlik{ filter:blur(calc((1 - var(--t)) * 14px)); transform:scale(calc(.975 + var(--t) * .025)) }
/* biçim 2: yandan kayarak gelir, karşı yöne kayarak gider */
.fmt-kay{ transform:translate3d(calc((1 - var(--t)) * 46px * var(--yon, 1)), 0, 0) }
/* biçim 3: sözcükler tek tek yukarıdan süzülür */
.fmt-yuksel .w{
  display:inline-block; white-space:pre;
  --kw:clamp(0, calc((var(--t) - var(--g, 0)) * 3.4), 1);
  opacity:var(--kw);
  transform:translate3d(0, calc((1 - var(--kw)) * 26px), 0);
}
/* biçim 4: harfler dağınıktan toplanır */
.fmt-topla .c{
  display:inline-block; white-space:pre;
  --kc:clamp(0, calc((var(--t) - var(--g, 0)) * 2.6), 1);
  opacity:var(--kc);
  transform:translate3d(calc((1 - var(--kc)) * var(--dx, 0) * 1px),
                        calc((1 - var(--kc)) * var(--dy, 0) * 1px), 0)
            rotate(calc((1 - var(--kc)) * var(--dr, 0) * 1deg));
}

/* SON PERDE: amblem + sayılar + vaat */
.son-perde{
  --o:0; --t:0;
  position:absolute; inset:0; z-index:3;
  display:flex; flex-direction:column; align-items:center;
  /* üst blok (amblem-ad-slogan-sayılar) ortada, düğmeler ve marka vaadi
     ekranın altına yakın durur (kullanıcı isteği) */
  justify-content:space-between;
  padding:clamp(5rem, 11vh, 8rem) var(--pad) clamp(2.2rem, 5vh, 3.4rem);
  text-align:center; opacity:var(--o); pointer-events:none;
}
.son-ust{
  display:flex; flex-direction:column; align-items:center;
  gap:clamp(.45rem, 1vw, .8rem); margin-block:auto;
}
.son-alt{
  display:flex; flex-direction:column; align-items:center;
  gap:clamp(.7rem, 1.4vw, 1rem);
}
.son-perde.acik{ pointer-events:auto }
/* Kahraman perdesindeki gerçek logo kilidi (amblem + marka adı + slogan
   tek dosyada). Metinle yeniden çizim yapılmıyor; karakter ve oran
   orijinalin aynısı. */
.son-logo{
  width:clamp(280px, 40vw, 620px); height:auto; display:block;
  opacity:clamp(0, calc(var(--t) * 2.2), 1);
  transform:scale(calc(.9 + clamp(0, calc(var(--t) * 2.2), 1) * .1));
  filter:drop-shadow(0 10px 34px rgba(235,15,45,.18));
}
.son-sayilar{
  --kf:clamp(0, calc((var(--t) - .56) * 3), 1);
  font-weight:700; color:var(--text-primary); font-size:clamp(.95rem, 1.6vw, 1.15rem);
  opacity:var(--kf); transform:translate3d(0, calc((1 - var(--kf)) * 16px), 0);
}
.son-sayilar b{ color:var(--accent) }
/* Marka vaadi: perdenin en altında, TEK SATIR halinde.
   26ch kapağı cümleyi iki satıra bölüyordu; kapak kalktı, punto tek
   satıra sığacak şekilde sınırlandı (kullanıcı isteği). */
.son-vaat{
  --kf:clamp(0, calc((var(--t) - .66) * 3), 1);
  margin:0; max-width:none; white-space:normal;
  font-family:var(--f-sergi); font-weight:700; color:var(--text-primary);
  font-size:clamp(1rem, 2.3vw, 1.95rem); line-height:1.25; letter-spacing:-.015em;
  opacity:var(--kf); transform:translate3d(0, calc((1 - var(--kf)) * 14px), 0);
}
.son-vaat i{ font-style:normal; color:var(--accent) }
.son-slogan{
  --kf:clamp(0, calc((var(--t) - .22) * 3), 1);
  font-size:.82rem; letter-spacing:.26em; text-transform:uppercase; font-weight:700;
  color:var(--text-uc); opacity:var(--kf);
}
.son-btnler{
  --kf:clamp(0, calc((var(--t) - .46) * 3), 1);
  display:flex; flex-wrap:wrap; gap:.8rem; justify-content:center; margin-top:.4rem;
  opacity:var(--kf); transform:translate3d(0, calc((1 - var(--kf)) * 18px), 0);
}
.son-btnler a{ pointer-events:auto }

/* Bandlar (eski kahraman sürümünden kalan taban; .duragan da kullanır) */
.band{
  position:absolute; inset-inline:0; top:50%; transform:translateY(-50%);
  padding-inline:var(--pad); opacity:0; text-shadow:var(--tshadow);
  color:var(--text-gece); text-align:center; pointer-events:none;
}
.band::before{
  content:""; position:absolute; inset:-10% -4%; pointer-events:none; z-index:-1;
  opacity:calc(.25 + .75 * var(--k, 0));
  background:radial-gradient(ellipse 68% 60% at 50% 50%,
    rgba(5,8,18,.62) 0%, rgba(5,8,18,.4) 46%, rgba(5,8,18,0) 76%);
}
.band .kicker{ margin-bottom:1rem }
.b-buyuk{
  font-family:var(--f-sergi); font-weight:700; color:#fff;
  font-size:clamp(2.2rem, 5vw, 4.1rem); line-height:1.15; letter-spacing:-.018em;
  max-width:18ch; margin-inline:auto;
}
.b-satir{
  font-family:var(--f-sergi); font-weight:600; color:#fff;
  font-size:clamp(1.8rem, 3.4vw, 2.9rem); line-height:1.22; letter-spacing:-.012em;
  max-width:17ch;
}
.b-alt{ margin-top:1.1rem; color:var(--text-gece-2); font-size:1.05rem }

.konum-sag{ text-align:left; inset-inline:52% 6% }
.konum-sag .b-satir{ margin-inline:0 }
.konum-sag::before{ inset:-14% -8% }
.konum-sol{ text-align:left; inset-inline:6% 52% }
.konum-sol::before{ inset:-14% -8% }

/* kuyruklu yıldız imleci: sahne.js oluşturur, yalnız hassas imleçte */
.imlec-iz{ position:fixed; inset:0; z-index:60; pointer-events:none }
.imlec-iz i{ position:absolute; border-radius:50%; display:block }
@media (max-width: 720px), (pointer: coarse), (prefers-reduced-motion: reduce){
  .imlec-iz{ display:none }
}

.asagi-ip{
  display:inline-grid; place-items:center; margin-top:2.2rem;
  width:38px; height:38px; border:1px solid rgba(255,255,255,.25);
  border-radius:50%; color:var(--text-gece-2);
  animation:ip-in 2.4s var(--ease) infinite; animation-delay:-1.2s;
}
@keyframes ip-in{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(7px) } }

/* Yerleşme bloğu: amblem üstte, metin altında.
   Butonlar gerçek bağlantılardır; band görünürken tıklanabilirler. */
.yerlesme{ top:auto; bottom:7%; transform:none; padding-top:0 }
.yerlesme .y-btnler a{ pointer-events:auto }
.y-h1{ margin:0 }
.y-baslik{ display:block }

/* Parlayan güven rozetleri: Kampüsünüzü Bulun'un sağında */
.y-rozetler{ display:inline-flex; flex-wrap:wrap; gap:.45rem; align-items:center; margin-left:.5rem }
.rozet-isik{
  position:relative; display:inline-flex; align-items:center; gap:.4rem;
  font-family:var(--f-mono); font-weight:700; font-size:.66rem;
  letter-spacing:.08em; text-transform:uppercase; white-space:nowrap;
  color:#CDE4F7; background:rgba(42,150,224,.12);
  border:1px solid rgba(42,150,224,.42); border-radius:var(--r-tam);
  padding:.34rem .7rem; text-shadow:none;
}
.rozet-isik svg{ width:13px; height:13px; color:var(--mavi-acik) }
.rozet-isik::after{
  content:""; position:absolute; inset:-1px; border-radius:inherit; z-index:-1;
  box-shadow:0 0 18px rgba(42,150,224,.55);
  opacity:0; animation:rozet-parla 3.6s ease-in-out infinite;
}
.rozet-isik:nth-child(1)::after{ animation-delay:-.4s }
.rozet-isik:nth-child(2)::after{ animation-delay:-1.6s }
.rozet-isik:nth-child(3)::after{ animation-delay:-2.8s }
@keyframes rozet-parla{ 0%,100%{ opacity:.15 } 50%{ opacity:.8 } }
.duragan-rozetler{ justify-content:center; margin:1.2rem 0 0 }
@media (prefers-reduced-motion: reduce){ .rozet-isik::after{ animation:none; opacity:.35 } }
.yerlesme::before{
  inset:-16% -6%;
  background:radial-gradient(ellipse 70% 66% at 50% 58%,
    rgba(5,8,18,.68) 0%, rgba(5,8,18,.44) 48%, rgba(5,8,18,0) 76%);
}
.y-baslik{
  font-family:var(--f-sergi); font-weight:800; color:#fff;
  font-size:clamp(2.3rem, 4.6vw, 4rem); line-height:1.12; letter-spacing:-.022em;
}
.y-alt{
  margin:1.1rem auto 1.6rem; max-width:52ch;
  color:var(--text-gece-2); font-size:clamp(1rem, 1.4vw, 1.15rem);
  opacity:var(--ks, 0); transform:translateY(calc((1 - var(--ks, 0)) * 14px));
}
.y-btnler{
  display:flex; flex-wrap:wrap; gap:.8rem; justify-content:center;
  opacity:var(--kb, 0); transform:translateY(calc((1 - var(--kb, 0)) * 14px));
}
.yerlesme .btn{ pointer-events:none }

/* ── Giriş koreografisi: sabit kısım her giriş için aynı:
     yalnız transform + opacity, bandın --k değişkeninden, geri sarılabilir ── */
.w{ display:inline-block; white-space:pre }
.c{ display:inline-block; white-space:pre }

/* (a) netlik: bulanıktan keskine (band 1) */
.g-netlik .keskin{ opacity:var(--k, 0) }
/* kromatik sapma: kaydırırken kırmızı/mavi hayaletler zıt yöne açılır,
   durunca kapanır. --ayr değerini sahne.js kaydırma hızından yazar. */
.g-netlik .b-buyuk .keskin{
  text-shadow:
    calc(var(--ayr, 0px) *  1) 0 0 rgba(235,15,45,  calc(var(--ayrk, 0) * .55)),
    calc(var(--ayr, 0px) * -1) 0 0 rgba(42,150,224, calc(var(--ayrk, 0) * .5));
}
@media (prefers-reduced-motion: reduce){
  .g-netlik .b-buyuk .keskin{ text-shadow:none }
}
.g-netlik .soft{
  position:absolute; inset:0; filter:blur(10px);
  opacity:calc(1 - var(--k, 0)); pointer-events:none;
}
.g-netlik .b-buyuk{ position:relative }

/* (f) iniş: sözcükler yukarıdan süzülür (band 2 ve 5) */
.g-inis .w{
  --kc:clamp(0, calc((var(--k, 0) - var(--th, 0)) * 2.8), 1);
  opacity:var(--kc);
  transform:translateY(calc((1 - var(--kc)) * -24px));
}

/* (a) saçılım: karakterler dağınıktan toplanır (band 3) */
.g-sacilim .c{
  --kc:clamp(0, calc((var(--k, 0) - var(--th, 0)) * 2.6), 1);
  opacity:var(--kc);
  transform:translate(calc((1 - var(--kc)) * var(--jx, 0px)),
                      calc((1 - var(--kc)) * var(--jy, 0px)))
           rotate(calc((1 - var(--kc)) * var(--jr, 0deg)));
}

/* (b) hizala: karakterler okuma sırasıyla yatay kayarak oturur (band 4) */
.g-hizala .c{
  --kc:clamp(0, calc((var(--k, 0) - var(--th, 0)) * 2.6), 1);
  opacity:var(--kc);
  transform:translateX(calc((1 - var(--kc)) * var(--jx, 0px)));
}

/* (e) yükseliş: sözcükler yükselir, alt satır ve butonlar kademeli (yerleşme) */
.g-yukselis .w{
  --kc:clamp(0, calc((var(--k, 0) - var(--th, 0)) * 3), 1);
  opacity:var(--kc);
  transform:translateY(calc((1 - var(--kc)) * 26px));
}

/* --------------------------------------------------------------------------
   5. DURAĞAN KAHRAMAN (telefon / azaltılmış hareket / JS'siz)
   -------------------------------------------------------------------------- */
.duragan{
  position:relative; background:
    radial-gradient(ellipse 120% 90% at 50% 26%, #FFFFFF 0%, var(--canvas) 60%, #EEF1F7 100%);
  color:var(--text-primary); text-align:center;
  padding:clamp(4rem, 9vw, 7rem) 0 clamp(4.5rem, 9vw, 7.5rem);
  margin-top:-84px; padding-top:calc(clamp(4rem, 9vw, 7rem) + 84px);
}
html.js .duragan{ display:none }
.duragan::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(28,39,64,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(28,39,64,.045) 1px, transparent 1px);
  background-size:56px 56px;
}
.amblem-duragan{
  width:auto; height:min(30vh, 185px); margin:0 auto 1.6rem;
  filter:drop-shadow(0 8px 30px rgba(235,15,45,.28));
}
.duragan .kicker{ display:block; margin-bottom:.8rem }
.d-soru{
  font-family:var(--f-sergi); font-weight:600; font-size:clamp(1.2rem, 3.4vw, 1.6rem);
  color:var(--text-secondary); margin-bottom:.9rem;
}
.d-baslik{
  font-family:var(--f-sergi); font-weight:800; color:var(--text-primary);
  font-size:clamp(1.75rem, 5.6vw, 3.4rem); line-height:1.14; letter-spacing:-.022em;
}
.d-alt{ margin:1rem auto 1.7rem; max-width:46ch; color:var(--text-secondary) }
/* Düğmeler dar ekranda yan yana sığmayıp taşıyordu: sarılsınlar */
.duragan .btn-grup{ justify-content:center; flex-wrap:wrap; gap:.7rem }
@media (max-width: 460px){
  .duragan .btn-grup{ flex-direction:column; align-items:stretch }
  .duragan .btn-grup .btn{ width:100%; justify-content:center }
}

/* durağan kahramanda da vaat düğmelerin hemen altında */
.d-vaat{
  margin:1.5rem auto 0; max-width:26ch;
  font-family:var(--f-sergi); font-weight:700; color:var(--text-primary);
  font-size:clamp(1.05rem, 3.6vw, 1.4rem); line-height:1.28; letter-spacing:-.01em;
}
.d-vaat i{ font-style:normal; color:var(--accent) }

/* Beş kapı: kapı eşleşince kaydırma yolculuğu kapanır, durağan açılır.
   JS'teki GATES dizisiyle KARAKTERİ KARAKTERİNE aynı olmalıdır. */
@media (max-width: 720px),
       (orientation: portrait) and (max-width: 1024px),
       (orientation: portrait) and (pointer: coarse),
       (orientation: landscape) and (pointer: coarse) and (max-height: 560px),
       (prefers-reduced-motion: reduce){
  html.js .yolculuk{ display:none }
  html.js .duragan{ display:block }
}

/* --------------------------------------------------------------------------
   6. BÖLÜM TABANI + GİRİŞLER + İPLİK
   -------------------------------------------------------------------------- */
.bolum{ position:relative; padding-block:var(--dikey) }
.bolum-panel{ background:var(--panel-2) }
/* Koyu bölümler açık zemine alındı (kullanıcı: "lacivert temadan
   vazgeçebiliriz"). Sınıf adı geriye dönük uyum için korunuyor. */
.bolum-gece{ background:var(--panel-2); color:var(--text-primary) }
.bolum-gece h2, .bolum-gece h3{ color:var(--text-primary) }
.bolum-gece .bolum-bas p{ color:var(--text-secondary) }
.bolum-gece .etiket-gece{
  background:var(--accent-muted); color:#A80A1E; border-color:transparent;
}
.bolum-gece p{ color:var(--text-secondary) }
.bolum-bas{ max-width:52rem; margin-bottom:clamp(1.5rem, 3vw, 2.4rem) }
.bolum-bas.orta{ margin-inline:auto; text-align:center }
.bolum-bas p{ color:var(--text-secondary); font-size:1rem; max-width:62ch }
.bolum-bas.orta p{ margin-inline:auto }


/* İmza öğe: kırmızı düşünce çizgisi bölüm kenarında kendini çizer */
.iplik{
  position:absolute; left:clamp(.2rem, 1.5vw, 1.6rem); top:0;
  width:56px; height:100%; pointer-events:none; overflow:visible; z-index:1;
}
.iplik path{
  fill:none; stroke:var(--accent); stroke-width:2; opacity:.3;
  stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--cek, 0));
  vector-effect:non-scaling-stroke; stroke-linecap:round;
}
@media (max-width: 1100px){ .iplik{ display:none } }

/* Girişler: JS .in ekler; kademeler satır içi transition-delay ile verilir
   ve geçiş bitince JS gecikmeyi sıfırlar (hover asla gecikmez) */
html.js .girdi{ opacity:0; transform:translateY(18px); filter:blur(7px);
  transition:opacity .7s var(--ease), transform .7s var(--ease), filter .7s var(--ease) }
html.js .girdi.in{ opacity:1; transform:none; filter:none }
/* büyük başlıklarda odaklanma hissi daha belirgin (y yok, sadece netleşme) */
html.js .bolum-bas.girdi{ transform:none; filter:blur(11px) }
html.js .bolum-bas.girdi.in{ filter:none }

.izgara{ display:grid; gap:1.4rem }
.iz-3{ grid-template-columns:repeat(3, 1fr) }
.iz-4{ grid-template-columns:repeat(4, 1fr) }

/* --------------------------------------------------------------------------
   7. A · SORULAR
   -------------------------------------------------------------------------- */
.sorular{ padding-top:clamp(3.25rem, 6vw, 5rem) }
.soru-liste{ list-style:none; margin-block:1.8rem }
.soru-liste li + li{ margin-top:.4rem }
.soru-liste a{
  display:flex; align-items:baseline; gap:.9rem;
  font-family:var(--f-sergi); font-weight:700; color:var(--text-primary); letter-spacing:-.015em;
  font-size:clamp(1.2rem, 1.8vw, 1.6rem); line-height:1.35;
  padding:.6rem .6rem; border-radius:var(--r-m);
  transition:background var(--gecis), color var(--gecis), transform var(--gecis);
  text-decoration:none !important;
}
.soru-liste a:hover{ background:var(--panel); color:var(--accent); transform:translateX(8px); box-shadow:var(--g-s) }
.soru-im{
  font-family:var(--f-sergi); color:var(--accent); font-weight:700;
  font-size:.8em; flex-shrink:0; position:relative; top:-.05em;
}
.soru-liste li:nth-child(1) .soru-im{ animation:soru-nabiz 4.5s ease-in-out infinite; animation-delay:-1.2s }
@keyframes soru-nabiz{ 0%,100%{ opacity:1 } 50%{ opacity:.45 } }
.soru-kapanis{ color:var(--text-secondary); font-size:1.12rem; padding-left:.6rem }

/* --------------------------------------------------------------------------
   8. B · CEVAP
   -------------------------------------------------------------------------- */
.cevap-iz{ display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(2rem, 5vw, 5rem); align-items:center }
.cevap-iz p + p{ margin-top:.8rem }
.cevap-madde{ list-style:none; display:grid; gap:1rem }
.cevap-madde li{
  display:flex; gap:.8rem; align-items:flex-start;
  background:var(--panel); border:1px solid var(--cizgi);
  border-radius:var(--r-m); padding:1.1rem 1.25rem; box-shadow:var(--g-s);
}
.cevap-madde svg{ width:20px; height:20px; color:var(--accent); flex-shrink:0; margin-top:.2rem }

/* --------------------------------------------------------------------------
   9. C · DES + ETKİLEŞİM ANI
   -------------------------------------------------------------------------- */
.tut-kutu{ text-align:center; margin-bottom:clamp(2.2rem, 4vw, 3.4rem) }
.tut{
  display:inline-flex; align-items:center; gap:1rem;
  background:var(--gece); color:var(--text-gece);
  border:0; border-radius:var(--r-tam); cursor:pointer;
  padding:1rem 1.9rem; min-height:64px;
  font-family:var(--f-govde); font-weight:700; font-size:1rem;
  box-shadow:var(--g-m);
  transition:transform var(--gecis), box-shadow var(--gecis);
  /* touch-action:none idi: düğmenin üzerinden parmakla kaydırınca sayfa
     kilitleniyordu. manipulation çift dokunuşla yakınlaştırmayı engeller
     ama kaydırmayı serbest bırakır (denetim bulgusu). */
  touch-action:manipulation; user-select:none; -webkit-user-select:none;
}
.tut:hover{ transform:translateY(-2px); box-shadow:var(--g-l) }
.tut:active{ transform:translateY(0) }
.tut-soru{ width:30px; height:40px; overflow:visible }
.tut-cizgi{
  fill:none; stroke:var(--accent-ak); stroke-width:5; stroke-linecap:round;
  stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--tp, 0));
}
.tut-nokta{
  fill:var(--mavi-acik);
  opacity:calc(.35 + .65 * var(--tp, 0));
  transform:scale(calc(.7 + .8 * var(--tp, 0))); transform-origin:24px 54px;
}
.tut-ipucu{ margin-top:.8rem; font-size:.85rem; color:var(--text-uc) }
.tut-sonuc{ margin-top:.5rem; font-weight:600; color:var(--mavi); min-height:1.6em }

.des-iz{ display:grid; grid-template-columns:repeat(4, 1fr); gap:1.4rem; counter-reset:evre }
.des-adim{
  position:relative; background:var(--panel); border:1px solid var(--cizgi);
  border-radius:var(--r-l); padding:1.3rem 1.2rem 1.2rem; box-shadow:var(--g-s);
  transition:border-color .5s var(--ease), box-shadow .5s var(--ease), transform .5s var(--ease), opacity .7s var(--ease);
}
.des-gorsel{
  display:block; width:calc(100% + 2.4rem); max-width:none;
  margin:-1.3rem -1.2rem 1rem;
  border-radius:var(--r-l) var(--r-l) 0 0;
  aspect-ratio:7 / 5; object-fit:cover; object-position:center 42%;
}
.des-no{
  font-family:var(--f-mono); font-weight:600; font-size:.85rem;
  display:inline-grid; place-items:center; width:34px; height:34px;
  border-radius:50%; background:var(--accent); color:#fff;
  margin-bottom:.9rem; transition:background .5s var(--ease), color .5s var(--ease);
}
.des-adim .ornek{
  margin-top:.7rem; padding-top:.7rem; border-top:1px dashed var(--cizgi-2);
  font-size:.875rem; color:var(--text-secondary); font-style:italic;
}
/* tutma tamamlanınca kartlar sırayla yanar */
.des.tamamlandi .des-adim{ border-color:var(--accent); box-shadow:0 10px 34px rgba(235,15,45,.14); transform:translateY(-4px) }
.des.tamamlandi .des-adim .des-no{ background:var(--accent); color:#fff }
.des.tamamlandi .des-adim:nth-child(1){ transition-delay:0s }
.des.tamamlandi .des-adim:nth-child(2){ transition-delay:.15s }
.des.tamamlandi .des-adim:nth-child(3){ transition-delay:.3s }
.des.tamamlandi .des-adim:nth-child(4){ transition-delay:.45s }
.des.tamamlandi .tut{ cursor:default }
.des.tamamlandi .tut:hover{ transform:none; box-shadow:var(--g-m) }

/* --------------------------------------------------------------------------
   10. D · DÖRT SÜTUN
   -------------------------------------------------------------------------- */
.sutun-iz{ display:grid; grid-template-columns:repeat(4, 1fr); gap:clamp(1.2rem, 3vw, 2.6rem) }
.sutun{ text-align:center; padding:1.2rem .9rem }
.sutun-ikon{
  display:inline-grid; place-items:center; width:50px; height:50px;
  border-radius:14px; background:var(--accent-muted); color:var(--accent);
  margin-bottom:.9rem; transition:transform var(--gecis);
}
.sutun-ikon.mavi{ background:var(--mavi-sis); color:var(--mavi) }
.sutun:hover .sutun-ikon{ transform:translateY(-4px) }
.sutun-ikon svg{ width:23px; height:23px }
.sutun p{ color:var(--text-secondary); font-size:.9rem }

/* --------------------------------------------------------------------------
   11. E · KADEMELER
   -------------------------------------------------------------------------- */
.kademe{
  background:var(--panel); border:1px solid var(--cizgi); border-radius:var(--r-l);
  padding:1.25rem; box-shadow:var(--g-s); display:flex; flex-direction:column;
  transition:transform var(--gecis-yavas), box-shadow var(--gecis-yavas), opacity .7s var(--ease);
}
.kademe:hover{ transform:translateY(-6px); box-shadow:var(--g-m) }
.kademe-ust{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem }
.kademe-yas{
  font-family:var(--f-mono); font-weight:600; font-size:.72rem;
  letter-spacing:.1em; text-transform:uppercase;
  background:var(--gece); color:#fff; padding:.3rem .75rem; border-radius:var(--r-tam);
}
.kademe-ikon{ width:26px; height:26px; color:var(--mavi) }
.kademe-slogan{ font-weight:600; color:var(--accent); font-size:.92rem; margin-bottom:.5rem }
.kademe > p:not(.kademe-slogan){ font-size:.93rem; color:var(--text-secondary) }
.kademe-ozet{ display:grid; gap:.45rem; margin-block:1rem; font-size:.875rem }
.kademe-ozet div{
  display:flex; justify-content:space-between; align-items:baseline; gap:.6rem;
  border-bottom:1px dashed var(--cizgi-2); padding-bottom:.4rem;
}
.kademe-ozet span{ color:var(--text-uc) }
.kademe .ok-baglanti{ margin-top:auto }

/* --------------------------------------------------------------------------
   12. F · SAYILARLA + GÜVEN (gece)
   -------------------------------------------------------------------------- */
/* İki somut sonuç kartı: merkezî sınav ve uluslararası olimpiyat.
   Bölüm daha önce "aşağıdaki veriler" diyip altında hiç veri göstermiyordu. */
.basari-iz{
  display:grid; grid-template-columns:repeat(2, 1fr);
  gap:clamp(1rem, 2vw, 1.6rem);
  margin-bottom:clamp(2rem, 4vw, 3rem);
}
.basari-kart{
  position:relative; overflow:hidden;
  padding:clamp(1.5rem, 2.6vw, 2.2rem);
  border:1px solid var(--cizgi); border-radius:var(--r-l);
  background:var(--panel); box-shadow:var(--g-s);
}
/* köşede markanın kırmızı işareti */
.basari-kart::before{
  content:""; position:absolute; inset:0 auto auto 0; width:4px; height:100%;
  background:linear-gradient(var(--accent), transparent);
}
.bk-etiket{
  display:block; font-family:var(--f-mono); font-size:.72rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--mavi); margin-bottom:.9rem;
}
.bk-rakam{ display:flex; align-items:baseline; gap:.5rem; margin:0 }
.bk-rakam b{
  font-family:var(--f-sergi); font-weight:800; line-height:1; letter-spacing:-.03em;
  font-size:clamp(2.6rem, 5vw, 3.9rem); color:var(--accent);
}
.bk-rakam i{ font-style:normal; font-size:.95rem; color:var(--text-secondary) }
.basari-kart h3{
  color:var(--text-primary); font-size:clamp(1.1rem, 1.6vw, 1.3rem);
  margin:.55rem 0 .5rem;
}
.bk-metin{ color:var(--text-secondary); font-size:.95rem; line-height:1.6; margin:0 }
.bk-metin b{ color:var(--text-primary); font-weight:600 }
.basari-not{
  max-width:60ch; margin:0 auto clamp(2rem, 4vw, 2.8rem);
  text-align:center; color:var(--text-secondary); font-size:.95rem;
}
@media (max-width: 760px){
  .basari-iz{ grid-template-columns:1fr }
}
.guven-serit{
  display:flex; flex-wrap:wrap; justify-content:center; gap:.9rem 2.4rem;
  border-top:1px solid var(--cizgi); padding-top:2rem;
}
.guven-oge{
  display:inline-flex; align-items:center; gap:.6rem;
  color:var(--text-secondary); font-size:.92rem;
}
.guven-oge strong{ color:var(--text-primary); font-weight:600 }
.guven-oge svg{ width:20px; height:20px; color:var(--mavi); flex-shrink:0 }
.veri-not{
  margin-top:1.6rem; text-align:center; font-size:.8125rem; color:var(--text-uc);
}

/* --------------------------------------------------------------------------
   13. G · ÜCRET
   -------------------------------------------------------------------------- */
.ucret-iz{ display:grid; grid-template-columns:1.35fr 1fr; gap:clamp(2rem, 5vw, 4.5rem); align-items:start }
.ucret-liste{ list-style:none; display:grid; gap:1.15rem; margin-top:1.4rem }
.ucret-liste li{ display:flex; gap:.9rem; align-items:flex-start }
.ucret-liste svg{ width:22px; height:22px; color:var(--accent); flex-shrink:0; margin-top:.25rem }
.ucret-liste b{ display:block; font-size:1.02rem }
.ucret-liste p{ color:var(--text-secondary); font-size:.92rem }
.ucret-kutu{
  background:var(--gece); color:var(--text-gece); border-radius:var(--r-l);
  padding:clamp(1.6rem, 3vw, 2.4rem); box-shadow:var(--g-l);
  position:sticky; top:120px;
}
.ucret-kutu h3{ color:#fff; font-size:1.45rem }
.ucret-kutu p{ color:var(--text-gece-2); margin-block:.7rem 1.3rem }
.ucret-kutu .ust-etiket{
  display:inline-block; font-family:var(--f-mono); font-weight:600;
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--mavi-acik); margin-bottom:.7rem;
}
.ucret-kutu .btn-cizgi{ border-color:rgba(255,255,255,.35); color:#fff }
.ucret-kutu .btn-cizgi:hover{ border-color:#fff }

/* --------------------------------------------------------------------------
   14. H · BURSLULUK + KARTLAR
   -------------------------------------------------------------------------- */
.kart{
  background:var(--panel); border:1px solid var(--cizgi); border-radius:var(--r-l);
  padding:1.25rem 1.2rem; box-shadow:var(--g-s);
  transition:transform var(--gecis-yavas), box-shadow var(--gecis-yavas), opacity .7s var(--ease);
}
.kart:hover{ transform:translateY(-6px); box-shadow:var(--g-m) }
.kart-ikon{
  display:inline-grid; place-items:center; width:52px; height:52px;
  border-radius:16px; background:var(--accent-muted); color:var(--accent); margin-bottom:1rem;
}
.kart-ikon.mavi{ background:var(--mavi-sis); color:var(--mavi) }
.kart-ikon svg{ width:24px; height:24px }
.kart p{ color:var(--text-secondary); font-size:.94rem }
.kart p a{ overflow-wrap:anywhere }
.kart-liste{ list-style:none; margin-top:1rem; display:grid; gap:.5rem }
.kart-liste li{ display:flex; align-items:baseline; gap:.55rem; font-size:.9rem }
.kart-liste svg{ width:15px; height:15px; color:var(--mavi); flex-shrink:0; align-self:center }
.orta-cta{ text-align:center; margin-top:2.5rem }

/* --------------------------------------------------------------------------
   15. I · KAMPÜS BULUCU
   -------------------------------------------------------------------------- */
.ara-kutu{
  display:flex; align-items:center; gap:.8rem; max-width:560px;
  margin:0 auto 1.2rem; background:var(--panel);
  border:1px solid var(--cizgi-2); border-radius:var(--r-tam);
  padding:.35rem .5rem .35rem 1.2rem; box-shadow:var(--g-s);
  transition:border-color var(--gecis), box-shadow var(--gecis), opacity .7s var(--ease), transform .7s var(--ease);
}
.ara-kutu:focus-within{ border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-muted) }
.ara-kutu svg{ width:19px; height:19px; color:var(--text-uc); flex-shrink:0 }
.ara-kutu input{
  flex:1; border:0; background:transparent; font:inherit;
  padding:.55rem 0; color:var(--text-primary); outline:none;
}
.filtreler{ display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; margin-bottom:2rem }
.filtre{
  font:inherit; font-weight:600; font-size:.85rem;
  border:1px solid var(--cizgi-2); background:var(--panel);
  color:var(--text-secondary); border-radius:var(--r-tam);
  padding:.42rem 1.05rem; cursor:pointer;
  transition:background var(--gecis), color var(--gecis), border-color var(--gecis);
}
.filtre:hover{ border-color:var(--text-secondary) }
.filtre[aria-pressed="true"]{ background:var(--gece); border-color:var(--gece); color:#fff }
.kampus-iz{ display:grid; grid-template-columns:repeat(auto-fill, minmax(215px, 1fr)); gap:1rem }
.kampus{
  background:var(--panel); border:1px solid var(--cizgi); border-radius:var(--r-m);
  padding:1.1rem 1.2rem; box-shadow:var(--g-s);
  transition:transform var(--gecis), box-shadow var(--gecis), border-color var(--gecis);
}
.kampus:hover{ transform:translateY(-4px); border-color:var(--cizgi-2); box-shadow:var(--g-m) }
.kampus .il{
  font-family:var(--f-mono); font-weight:600; font-size:.68rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--accent);
}
.kampus .ad{ font-family:var(--f-sergi); font-weight:600; font-size:1.12rem; margin:.25rem 0 .6rem }
.kampus .yol{
  display:inline-flex; align-items:center; gap:.35rem; margin-top:.55rem;
  font-size:.8rem; font-weight:700; color:var(--mavi);
}
.kampus .yol:hover{ color:var(--mavi-koyu) }
.kampus .kad{ list-style:none; display:flex; flex-wrap:wrap; gap:.35rem }
.kampus .kad span{
  font-size:.72rem; font-weight:600; color:var(--text-secondary);
  background:var(--panel-2); border-radius:var(--r-tam); padding:.18rem .6rem; display:inline-block;
}
.bos-sonuc{ grid-column:1 / -1; text-align:center; color:var(--text-secondary); padding:2rem 0 }

/* Türkiye haritası: kobalt 3B zemin, merkezden ışık ağı, kalkan rozetli şehirler.
   Dokununca o şehirdeki kampüs kartı açılır. */
/* kart tasarım sistemine döndü: pembe geçiş sitenin başka hiçbir yerinde
   geçmiyordu ve yabancı bir yüzey gibi duruyordu (denetim bulgusu) */
.harita-kutu{
  position:relative; border:1px solid var(--cizgi);
  background:var(--panel);
  border-radius:var(--r-l); box-shadow:var(--g-m);
  padding:clamp(1rem, 2.5vw, 2rem); margin-bottom:2rem;
  display:grid; grid-template-columns:minmax(235px, 295px) 1fr;
  gap:clamp(1rem, 2vw, 1.6rem); align-items:start;
}
.harita-alan{ position:relative }
.harita-cizim{ display:block; width:100%; height:auto; overflow:visible }
/* Kaydırılabilir liste: alt kenarda solma, listenin devamı olduğunu
   gösterir. Önceden satırlar kesiliyor, aşağısı yokmuş gibi duruyordu
   (denetim bulgusu). mask ile son satır yumuşakça silinir. */
.harita-liste{
  align-self:stretch; max-height:540px; overflow-y:auto;
  background:var(--panel); border:1px solid var(--cizgi);
  border-radius:var(--r-m); padding:0 0 .6rem;
  scrollbar-width:thin; overscroll-behavior:contain;
  mask-image:linear-gradient(#000 calc(100% - 34px), transparent);
  -webkit-mask-image:linear-gradient(#000 calc(100% - 34px), transparent);
}
/* sona gelindiğinde solma kalksın diye betik .son sınıfını ekler */
.harita-liste.son{ mask-image:none; -webkit-mask-image:none }
.harita-liste h3{
  position:sticky; top:0; z-index:2;
  font-size:.85rem; letter-spacing:.08em; text-transform:uppercase;
  background:var(--accent); color:#fff;
  padding:.7rem 1rem; margin-bottom:.5rem;
  border-radius:var(--r-m) var(--r-m) 0 0;
}
.harita-liste ol{ padding-inline:.6rem }
.harita-liste ol{ list-style:none; display:grid; gap:.15rem }
.harita-liste button, .harita-liste ol a{
  display:grid; grid-template-columns:24px 1fr; gap:.6rem; align-items:baseline;
  width:100%; text-align:left; border:0; background:transparent; cursor:pointer;
  padding:.42rem .5rem; border-radius:var(--r-s);
  font-size:.83rem; color:var(--text-primary); text-decoration:none;
}
.harita-liste button:hover, .harita-liste ol a:hover{ background:var(--accent-muted) }
.harita-liste ol a:hover > span:not(.no){ text-decoration:underline; text-underline-offset:2px }
.harita-liste .no{
  font-family:var(--f-mono); font-weight:700; font-size:.7rem;
  display:inline-grid; place-items:center; width:22px; height:22px;
  background:var(--accent); color:#fff; border-radius:5px; align-self:center;
}
.harita-liste .hl-il{ display:block; font-size:.68rem; color:var(--text-uc) }
.harita-taban{ fill:#A50A22; transform:translateY(8px) }
.harita-sinir{
  fill:url(#tr-dolgu); stroke:rgba(255,255,255,.65); stroke-width:1.3;
  stroke-linejoin:round;
  filter:drop-shadow(0 16px 22px rgba(190,15,45,.28));
}
.harita-iller{
  fill:none; stroke:rgba(255,255,255,.34); stroke-width:.7;
  stroke-linejoin:round; stroke-linecap:round;
}
.harita-aglar path{ fill:none; stroke-linecap:round }
.ag-iz{ stroke:rgba(255,255,255,.30); stroke-width:1 }
/* ışık hatları iğnelerin ALTINDA kalır ve parlaması yarıya iner:
   önceden İstanbul rozetini tamamen siliyordu (denetim bulgusu) */
.ag-akis{
  stroke:#FFFFFF; stroke-width:1.7; stroke-dasharray:.10 .90; opacity:.6;
  animation:ag-akis 4.2s linear infinite; animation-delay:var(--gec, 0s);
  filter:drop-shadow(0 0 2px rgba(255,255,255,.5));
}
@keyframes ag-akis{ to{ stroke-dashoffset:-1 } }
.harita-noktalar{ position:absolute; inset:0; pointer-events:none }
.h-nokta{
  position:absolute; transform:translate(-50%,-56%); pointer-events:auto;
  width:46px; height:46px; border:0; background:transparent; cursor:pointer;
  display:grid; place-items:center; z-index:4;
}
/* Sade amblem: küçükken de tanınır. Tam logo kilidi (yazılı) burada
   kullanılmaz; okunmaz hale gelip markayı zedeliyordu. */
.h-kalkan{
  width:30px; height:auto; display:block;
  filter:drop-shadow(0 2px 5px rgba(60,0,10,.55));
  transition:transform var(--gecis);
}
.h-nokta.h-merkez .h-kalkan{ width:38px }
.h-nokta::after{
  content:""; position:absolute; width:15px; height:15px; border-radius:50%;
  background:rgba(255,255,255,.9); opacity:0; z-index:-1;
  animation:nokta-nabiz 3.2s ease-out infinite; animation-delay:var(--gec, 0s);
}
@keyframes nokta-nabiz{ 0%{ transform:scale(1); opacity:.5 } 70%,100%{ transform:scale(2.6); opacity:0 } }
.h-nokta:hover .h-kalkan, .h-nokta[aria-expanded="true"] .h-kalkan{ transform:scale(1.55); position:relative; z-index:6 }
.h-nokta .h-sayi{
  position:absolute; top:-3px; right:1px;
  font-family:var(--f-mono); font-weight:700; font-size:.6rem;
  background:#fff; color:var(--accent-hover); border:1px solid rgba(150,9,29,.35);
  border-radius:var(--r-tam); box-shadow:0 1px 3px rgba(70,0,12,.35);
  min-width:16px; height:16px; display:grid; place-items:center; padding-inline:3px;
}
.h-nokta .h-ad{
  position:absolute; top:100%; left:50%; transform:translateX(-50%);
  font-size:.62rem; font-weight:700; color:#fff; white-space:nowrap;
  background:rgba(84,4,18,.75); border-radius:var(--r-tam);
  padding:.08rem .45rem; letter-spacing:.02em;
}
.h-nokta.h-ust .h-ad{ top:auto; bottom:100% }
.harita-bilgi{
  position:absolute; top:0; right:0;
  width:min(330px, 52%); background:var(--panel); border:1px solid var(--cizgi-2);
  border-radius:var(--r-m); box-shadow:var(--g-l); padding:1.1rem 1.2rem;
  z-index:5; max-height:100%; overflow-y:auto;
}
.hb-satir{ font-size:.83rem; color:var(--text-secondary); margin-top:.25rem }
.hb-kampus .hb-satir b{ display:inline; font-weight:700; font-size:.83rem; color:var(--text-primary) }
.hb-eposta{
  display:block; margin-top:.35rem; font-size:.83rem; font-weight:600;
  color:var(--mavi); word-break:break-all;
}
.harita-bilgi h3{ font-size:1.15rem; margin-bottom:.2rem }
.harita-bilgi .hb-il{
  font-family:var(--f-mono); font-weight:700; font-size:.68rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--accent);
}
.hb-kampus{ border-top:1px dashed var(--cizgi-2); padding-block:.7rem }
.hb-kampus:first-of-type{ border-top:0 }
.hb-kampus b{ display:block; font-size:.95rem }
.hb-kampus .kad{ list-style:none; display:flex; flex-wrap:wrap; gap:.3rem; margin-top:.35rem }
.hb-kampus .kad span{
  font-size:.68rem; font-weight:600; color:var(--text-secondary);
  background:var(--panel-2); border-radius:var(--r-tam); padding:.14rem .55rem; display:inline-block;
}
.hb-kampus .hb-adres{ font-size:.8rem; color:var(--text-uc); margin-top:.3rem }
.hb-tel{
  display:inline-flex; align-items:center; gap:.4rem; margin-top:.6rem;
  font-weight:700; font-size:.875rem; color:var(--accent);
}

/* Çekmece düğmeleri yalnız dar ekranda; masaüstünde üst çubukta zaten varlar */
.menu-cta{ display:none }

/* TEK TELEFON BİÇİMİ
   İletişim sayfasında aynı numara dört ayrı görünümde çıkıyordu (kimi
   kırmızı-ikonlu, kimi mavi-kalın, kimi düz bağlantı); ziyaretçi hangisinin
   asıl numara olduğunu ayırt edemiyordu (denetim bulgusu).
   .numara ortak biçim, .numara-ana ise yalnız merkezi hat için vurgu. */
.numara{
  display:inline-flex; align-items:center; gap:.4rem;
  font-weight:700; color:var(--text-primary); text-decoration:none;
}
.numara svg{ flex:none; color:var(--accent) }
.numara:hover{ color:var(--accent); text-decoration:none }
.numara-ana{ font-size:1.05rem; letter-spacing:.01em }
.numara-sade{ font-weight:600; font-size:inherit }
.numara-not{
  font-weight:600; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--text-uc);
}
.hb-kapat{
  position:absolute; top:.6rem; right:.6rem; width:30px; height:30px;
  border:0; background:var(--panel-2); border-radius:50%; cursor:pointer;
  font-size:1rem; line-height:1; color:var(--text-secondary);
}
.hb-kapat:hover{ background:var(--cizgi); color:var(--text-primary) }
.hb-foto{ display:block; width:100%; height:auto; border-radius:var(--r-m); margin:.45rem 0 .15rem }
.hb-git{
  display:inline-flex; align-items:center; gap:.4rem; margin-top:.6rem;
  font-weight:700; font-size:.82rem; color:#fff; background:var(--mavi);
  border-radius:var(--r-tam); padding:.44rem 1rem;
}
.hb-git:hover{ filter:brightness(1.1); color:#fff }
.hb-git:active{ transform:translateY(1px) }
.hb-git svg{ flex:none }
.hb-tum{
  display:block; width:100%; margin-top:.75rem; padding:.5rem .8rem;
  border:1px dashed var(--cizgi-2); background:var(--panel-2); border-radius:var(--r-m);
  font:inherit; font-weight:600; font-size:.8rem; color:var(--text-secondary); cursor:pointer;
}
.hb-tum:hover{ background:var(--cizgi); color:var(--text-primary) }
@media (max-width: 720px){
  /* telefonda çizim gizlenir; liste tam genişlik kalır ve kampüs sayfasına götürür */
  .harita-kutu{ grid-template-columns:1fr }
  .harita-alan{ display:none }
  .harita-liste{ max-height:420px }
}
@media (prefers-reduced-motion: reduce){
  .h-nokta::after{ animation:none }
  .ag-akis{ animation:none; opacity:.45 }
}

/* --------------------------------------------------------------------------
   16. K · SSS
   -------------------------------------------------------------------------- */
.sss-liste{ display:grid; gap:.8rem }
/* overflow:hidden odak halkasını kırpıyordu; yuvarlak köşe zaten
   border-radius ile duruyor, kırpmaya gerek yok */
.sss-liste details{
  background:var(--panel); border:1px solid var(--cizgi); border-radius:var(--r-m);
  box-shadow:var(--g-s);
}
.sss-liste summary{
  list-style:none; cursor:pointer; display:flex; align-items:baseline; gap:.8rem;
  font-family:var(--f-sergi); font-weight:600; font-size:1rem;
  padding:.85rem 1.1rem; transition:color var(--gecis);
}
.sss-liste summary::-webkit-details-marker{ display:none }
.sss-liste summary::before{
  content:"?"; font-family:var(--f-sergi); font-weight:700; color:var(--accent);
  flex-shrink:0; align-self:center;
}
/* Aç/kapa göstergesi: önce baştaki "?" 180° döndürülüyordu — ters duran bir
   soru işareti "açık" anlamına gelmiyordu (denetim bulgusu). Artık sağda
   aşağı bakan bir ok var; açıkken yukarı döner. */
.sss-liste summary::after{
  content:""; margin-left:auto; align-self:center; flex:none;
  width:9px; height:9px; border-right:2px solid var(--text-uc);
  border-bottom:2px solid var(--text-uc); border-radius:1px;
  transform:translateY(-2px) rotate(45deg);
  transition:transform var(--gecis), border-color var(--gecis);
}
.sss-liste details[open] summary{ color:var(--accent) }
.sss-liste details[open] summary::after{
  transform:translateY(2px) rotate(-135deg); border-color:var(--accent);
}
.sss-liste summary:hover{ color:var(--accent) }
.sss-liste summary:hover::after{ border-color:var(--accent) }
.sss-liste details p{
  padding:0 1.3rem 1.2rem 2.9rem; color:var(--text-secondary); font-size:.97rem;
}

/* --------------------------------------------------------------------------
   17. L · ÖN KAYIT FORMU
   -------------------------------------------------------------------------- */
.kayit-iz{ display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(2rem, 5vw, 4.5rem); align-items:center }
.kayit-liste{ list-style:none; display:grid; gap:.9rem; margin-top:1.4rem }
.kayit-liste li{ display:flex; gap:.7rem; align-items:baseline }
.kayit-liste svg{ width:19px; height:19px; color:var(--accent); flex-shrink:0; align-self:center }
/* FORM KARTI — AÇIK ZEMİN
   Kart lacivertti; sayfadaki son büyük koyu bloklardan biriydi ve
   "içim daraldı" geri bildiriminin kaynaklarındandı. Artık beyaz panel,
   lacivert mürekkep, gri çerçeveli alanlar. */
.form-kart{
  background:var(--panel); border:1px solid var(--cizgi);
  border-radius:var(--r-l); color:var(--text-primary);
  padding:clamp(1.6rem, 3.4vw, 2.6rem); box-shadow:var(--g-l);
}
.alan{ margin-bottom:1.05rem }
.alan-2{ display:grid; grid-template-columns:1fr 1fr; gap:1rem }
.alan label{
  display:block; font-weight:600; font-size:.875rem; margin-bottom:.4rem;
  color:var(--text-primary);
}
.alan label i{ color:var(--accent); font-style:normal }
/* etiket yanındaki açıklama: zorunlu olmayan alanlarda ne işe yaradığını söyler */
.alan-not{ display:block; font-weight:500; font-size:.76rem; color:var(--text-uc);
           margin-top:.15rem; letter-spacing:0 }
.alan input, .alan select, .alan textarea{
  width:100%; font:inherit; color:var(--text-primary);
  background:var(--panel-2); border:1px solid var(--cizgi-2);
  border-radius:var(--r-s); padding:.75rem .95rem;
  transition:border-color var(--gecis), background var(--gecis), box-shadow var(--gecis);
}
.alan input::placeholder, .alan textarea::placeholder{ color:var(--text-uc) }
/* henüz seçim yapılmamış açılır kutular da yer tutucu gibi görünsün */
.alan select:invalid{ color:var(--text-uc) }
.alan textarea{ resize:vertical; min-height:110px }
.alan select{ appearance:none; background-image:linear-gradient(45deg, transparent 50%, #5F6985 50%), linear-gradient(135deg, #5F6985 50%, transparent 50%); background-position:calc(100% - 20px) 55%, calc(100% - 14px) 55%; background-size:6px 6px; background-repeat:no-repeat }
.alan select option{ color:var(--text-primary); background:#fff }
.alan input:focus, .alan select:focus, .alan textarea:focus{
  outline:none; border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(235,15,45,.16); background:#fff;
}
/* KVKK onayı: kutu 13px varsayılan boyutundaydı, parmakla vurulamıyordu.
   20px kutu + tıklanabilir etiket ile dokunma alanı satırın tamamı olur. */
.onay-alan{ display:flex; flex-wrap:wrap; gap:.7rem; align-items:flex-start; font-size:.85rem }
/* hata satırı kutunun yanına değil altına düşsün */
.onay-alan .alan-hata{ flex:0 0 100%; margin-left:calc(20px + .7rem) }
/* Onay kutusu kendi çizimimiz: markanın kırmızısı ve beyaz tik */
.onay-alan input{
  appearance:none; -webkit-appearance:none;
  width:22px; height:22px; flex:0 0 22px; margin:.1rem 0 0;
  background:#fff; border:2px solid var(--cizgi-2);
  border-radius:6px; cursor:pointer; position:relative;
  transition:background var(--gecis), border-color var(--gecis);
}
.onay-alan input:hover{ border-color:var(--text-uc) }
.onay-alan input:checked{ background:var(--accent); border-color:var(--accent) }
.onay-alan input:checked::after{
  content:""; position:absolute; left:6px; top:2px; width:5px; height:10px;
  border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(45deg);
}
.onay-alan input:focus-visible{ outline:2px solid var(--accent); outline-offset:3px }
.onay-alan label{
  flex:1 1 0; min-width:0;          /* kutunun yanında kalsın, alta düşmesin */
  font-weight:500; color:var(--text-secondary); margin:0;
  cursor:pointer; padding:.35rem 0; line-height:1.5;
}
.onay-alan a{ color:var(--mavi); text-decoration:underline }
.form-gonder{ width:100%; justify-content:center; margin-top:.4rem }
#form-sonuc > div, #franchise-sonuc > div{
  margin-top:1.1rem; padding:.95rem 1.15rem; border-radius:12px;
  font-size:.9375rem; font-weight:500; line-height:1.5;
}
#form-sonuc .iyi, #franchise-sonuc .iyi{ background:#E8F7EC; color:#15703A; border:1px solid #A8DEBB }
#form-sonuc .kotu, #franchise-sonuc .kotu{ background:#FDECEE; color:#A80A1E; border:1px solid #F2B8BF }
#form-sonuc a, #franchise-sonuc a{ color:inherit; font-weight:700 }
#franchise-sonuc:focus{ outline:none }
#franchise-sonuc:focus-visible > div{ outline:2px solid var(--mavi-acik); outline-offset:3px }

/* Yasal metin PDF indirme satırı */
.belge-indir{
  display:flex; flex-wrap:wrap; align-items:center; gap:.5rem .9rem;
  margin:0 0 1.6rem; padding:.85rem 1.1rem;
  background:var(--panel-2); border:1px solid var(--cizgi);
  border-left:3px solid var(--accent); border-radius:var(--r-m);
}
.belge-indir a{
  display:inline-flex; align-items:center; gap:.5rem;
  font-weight:700; color:var(--accent); text-decoration:none;
}
.belge-indir a:hover{ text-decoration:underline }
.belge-indir svg{ flex:none }
.belge-indir small{ color:var(--text-uc); font-size:.82rem }

/* Yasal sayfalar: alıntı bloğu (açık rıza beyanı) */
.icerik blockquote{
  margin:1.2rem 0; padding:1rem 1.3rem; border-left:3px solid var(--accent);
  background:var(--accent-muted); border-radius:0 var(--r-s) var(--r-s) 0;
}
.icerik blockquote p{ margin:0; font-style:italic }

/* İçerik sayfası figürleri: metin sütunuyla aynı hizada */
/* ---------------------------------------------------------------------------
   GÖRSEL SUNUMU (editoryal figür)
   Önce: 72ch'lik metin sütununun içine bırakılmış yalın bir dikdörtgen,
   altında küçük gri bir satır. Sayfanın sağ yarısı bomboş kalıyordu ve
   görsel "sonradan eklenmiş" duruyordu.
   Şimdi: figür metin sütununu AŞAR (kabın tamamını kullanır), altyazı sağ
   kenar payına kırmızı çizgiyle asılır. Metin dar, görsel geniş — sayfada
   ritim oluşur ve boş sağ yarı işe yarar.
   --------------------------------------------------------------------------- */
.figur{
  margin-block:clamp(2rem, 4vw, 3.4rem);
  max-width:none;                       /* metin sütununu aşsın */
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(150px, 190px);
  gap:clamp(1rem, 2vw, 1.8rem);
  align-items:end;
}
/* İçerik fotoğrafları bir set gibi okunsun: kaynak dosyalar 16:9, 3:2 ve
   2.5:1 gibi farklı oranlardaydı, alt alta gelince derlenmemiş duruyordu
   (denetim bulgusu). Hepsi aynı 3:2 çerçeveye oturur, ortadan kırpılır. */
.figur img{
  display:block; width:100%; height:auto;
  aspect-ratio:3 / 2; object-fit:cover; object-position:center;
  border-radius:var(--r-l);
  border:1px solid var(--cizgi);        /* açık fotoğraf zemine karışmasın */
  box-shadow:0 18px 40px -22px rgba(14,27,51,.55);
}
/* Kurumsal şema vektörleri kırpılmaz: 3:2'ye kesilince şemanın iki yanı
   gidiyor. Kendi 16:9 oranlarında, tam görünürler. */
.figur img[src$=".svg"]{ aspect-ratio:auto; object-fit:contain; border-color:transparent }
/* Şema ve infografikler kırpılmaz: 3:2 çerçeve içeriğin bir kısmını
   keser. Kendi oranlarında, tam görünürler. */
.figur-tam img{ aspect-ratio:auto; object-fit:contain }
/* Altyazı: kenar payında, üstünde marka kırmızısı ince çizgi */
.figur figcaption{
  align-self:end; margin:0;
  border-top:2px solid var(--accent); padding-top:.7rem;
  font-size:.82rem; line-height:1.5; color:var(--text-secondary); text-align:left;
}

/* İkili figür: iki görsel yan yana, tek ortak altyazı sırası */
.figur-cift{
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(1rem, 2vw, 1.6rem); margin-block:clamp(2rem, 4vw, 3.4rem);
  max-width:none;
}
.figur-cift .figur{ margin:0; display:block }
.figur-cift .figur figcaption{ margin-top:.7rem }

/* Dar ekran: altyazı görselin altına iner, kırmızı çizgi kalır */
@media (max-width: 900px){
  .figur{ grid-template-columns:1fr; align-items:start }
  .figur figcaption{ margin-top:.75rem }
}
@media (max-width: 640px){
  .figur-cift{ grid-template-columns:1fr }
}

/* Yönetim kadrosu kişi kartları (fotoğraflar gelene kadar baş harf rozeti) */
/* Kadro ızgarası: sabit 4 sütunda son satırda iki kart öksüz kalıp yanında
   iki boş hücre bırakıyordu. Otomatik sığdırma ile kartlar satırı doldurur. */
.kadro{
  margin-top:1.4rem;
  grid-template-columns:repeat(auto-fit, minmax(215px, 1fr));
}
.kisi-avatar{
  width:64px; height:64px; border-radius:50%;
  background:var(--gece); color:#fff;
  display:grid; place-items:center;
  font-family:var(--f-sergi); font-weight:700; font-size:1.15rem; letter-spacing:.5px;
  border:2px solid var(--accent-muted); margin-bottom:.85rem;
}
/* Kurucu sayfası: portre + giriş metni yan yana */
.kurucu-giris{
  display:grid; grid-template-columns:250px 1fr;
  gap:clamp(1.4rem, 3vw, 2.4rem); align-items:start;
  margin-block:1.2rem 0; max-width:none;
}
.portre{
  width:100%; height:auto; border-radius:var(--r-l);
  border:1px solid var(--cizgi); box-shadow:var(--g-m);
}
@media (max-width: 680px){
  .kurucu-giris{ grid-template-columns:1fr }
  .portre{ max-width:240px }
}

.kisi h3{ margin:0 0 .2rem; font-size:1.02rem }
.kisi .rol{ color:var(--text-secondary); font-size:.875rem; margin:0 0 .55rem }
/* E-posta adresi alan adının ortasından bölünüyordu; kelime sonunda kırılır,
   sığmazsa üç nokta ile kısalır — tam adres yine bağlantının kendisinde. */
.kisi .eposta{ font-size:.78rem; margin:0; line-height:1.45 }
.kisi .eposta a{
  display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}

/* Franchise başvuru bölümü + form dip notu */
.franchise-basvuru{ padding-block:var(--dikey) }
.form-not{
  margin-top:1rem; font-size:.85rem; color:var(--text-gece-2); text-align:center;
}
.form-not a{ color:var(--mavi-acik); font-weight:600 }

/* --------------------------------------------------------------------------
   18. M · SON ÇAĞRI + ALT BİLGİ
   -------------------------------------------------------------------------- */
.cagri h2{ font-size:clamp(1.6rem, 2.6vw, 2.2rem); margin-bottom:1.3rem }
.cagri .btn-cizgi-ak svg{ width:16px; height:16px }

/* ALT BİLGİ — AÇIK ZEMİN
   Sayfanın son koyu bloğuydu. Artık açık gri panel, lacivert mürekkep;
   üstünde markadan gelen ince kırmızı çizgi sayfayı kapatıyor. */
.alt{
  background:var(--panel-2); color:var(--text-secondary);
  padding-top:clamp(2.2rem, 4vw, 3rem);
  border-top:2px solid var(--accent);
}
.alt-iz{
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1.3fr;
  gap:clamp(1.5rem, 3vw, 2.5rem); padding-bottom:1.9rem;
}
/* Alt bilgi logosu: üst bardakiyle bire bir aynı; blok sola dayalı, amblem yazının tam ortasında */
.alt .logo{ width:max-content }
.alt .logo img{ height:70px }
.alt-slogan{ color:var(--text-secondary); margin-top:.75rem; font-size:.875rem; line-height:1.6; max-width:34ch }
.sosyal-sira{ display:flex; gap:.5rem; margin-top:1rem }
.sosyal-sira a{
  display:grid; place-items:center; width:34px; height:34px;
  border:1px solid var(--cizgi-2); border-radius:var(--r-m); color:var(--text-secondary);
  transition:color var(--gecis), border-color var(--gecis), transform var(--gecis);
}
.sosyal-sira a:hover{ color:var(--accent); border-color:var(--accent); transform:translateY(-2px) }
.sosyal-sira svg{ width:16px; height:16px }
/* h4 idi: sayfada h2'den sonra h4 gelince başlık düzeyi atlanıyordu.
   Görünüm aynı kaldı, yalnızca etiket h3'e çekildi (denetim bulgusu). */
.alt h3{
  color:var(--text-primary); font-family:var(--f-govde); font-weight:700; font-size:.78rem;
  letter-spacing:.14em; text-transform:uppercase; margin-bottom:.75rem;
}
.alt-liste{ list-style:none; display:grid; gap:.4rem }
.alt-liste a{ color:var(--text-secondary); font-size:.875rem; line-height:1.5 }
.alt-liste a:hover{ color:var(--accent); text-decoration:none }
/* İLETİŞİM SÜTUNU
   Önce flex + sabit .2rem simge kaydırması vardı; tek satırlık maddede
   tutuyor, üç satırlık adreste bozuluyordu ve metin sol kenarları
   kaymış görünüyordu (kullanıcı geri bildirimi).
   Artık sabit genişlikte simge sütunu var: üç maddenin metni de aynı
   çizgiden başlıyor, simge her zaman ilk satırın tam ortasına oturuyor
   (kaydırma satır yüksekliğinden hesaplanıyor, elle ayar yok). */
.alt-ilet{ list-style:none; display:grid; gap:.8rem }
.alt-ilet li{
  display:grid; grid-template-columns:15px 1fr; column-gap:.7rem;
  align-items:start; font-size:.875rem; line-height:1.55;
}
.alt-ilet svg{
  width:15px; height:15px; color:var(--mavi); flex-shrink:0;
  margin-top:calc((1.55em - 15px) / 2);
}
.alt-ilet a{ color:var(--text-secondary) }
.alt-ilet a:hover{ color:var(--accent) }
.alt-ilet strong{ color:var(--text-primary); font-size:1.02rem; letter-spacing:.01em }
.alt-serit{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center;
  gap:.6rem 1.4rem; border-top:1px solid var(--cizgi);
  padding-block:1.1rem; font-size:.78rem;
}
.alt-serit nav{ display:flex; flex-wrap:wrap; gap:.5rem 1.1rem }
.alt-serit a{ color:var(--text-secondary) }
.alt-serit a:hover{ color:var(--accent) }

/* --------------------------------------------------------------------------
   18b. AKADEMİK YAPI + ÖLÇME DÖNGÜSÜ + İÇERİK SAYFALARI
   -------------------------------------------------------------------------- */
.kart-baslik-baglanti{ color:inherit; text-decoration:none !important }
.kart-baslik-baglanti:hover{ color:var(--accent) }
.kart h3 a:focus-visible{ outline-offset:2px }

.dongu-adim{ position:relative }
.dongu-no{
  position:absolute; top:1.1rem; right:1.2rem;
  font-family:var(--f-mono); font-weight:700; font-size:.8rem;
  display:grid; place-items:center; width:30px; height:30px;
  border-radius:50%; background:var(--gece); color:#fff;
}

/* İçerik sayfaları (alt sayfalar) */
/* SAYFA BAŞLIĞI — AÇIK ZEMİN
   Önce her iç sayfa 340 piksellik koyu lacivert bir blokla açılıyordu;
   60'tan fazla sayfada aynı ağır giriş "içim daraldı" hissi veriyordu
   (kullanıcı geri bildirimi). Artık açık zemin, lacivert mürekkep;
   marka kırmızısı ince bir çizgi başlığı içerikten ayırıyor. */
.sayfa-bas{
  background:var(--panel-2); color:var(--text-primary); text-align:left;
  padding:clamp(2.2rem, 4vw, 3.2rem) 0 clamp(1.9rem, 3.4vw, 2.8rem);
  position:relative; border-bottom:1px solid var(--cizgi);
}
.sayfa-bas::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(28,39,64,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(28,39,64,.045) 1px, transparent 1px);
  background-size:56px 56px;
}
/* başlığın altında markadan gelen ince kırmızı çizgi */
.sayfa-bas::after{
  content:""; position:absolute; inset:auto 0 -1px 0; height:2px;
  background:linear-gradient(90deg, var(--accent) 0 120px, var(--cizgi) 120px);
}
/* başlık, altındaki gövde metniyle aynı sol çizgiden başlasın:
   içerik kabı --en-orta, sayfa başlığı --en kullanıyordu, iki ayrı hiza
   oluşuyordu */
.sayfa-bas .kap{ max-width:var(--en-icerik); margin-inline:auto }
.sayfa-bas h1{
  color:var(--text-primary); font-size:clamp(1.55rem, 2.4vw, 2.15rem);
  letter-spacing:-.02em; margin:.4rem 0 .6rem; position:relative;
}
.sayfa-bas .lede{
  color:var(--text-secondary); max-width:none;
  font-size:clamp(.98rem, 1.2vw, 1.08rem); line-height:1.6; position:relative;
}
.kirinti{
  position:relative; font-size:.8125rem; color:var(--text-uc);
  display:flex; gap:.5rem; align-items:center; margin-bottom:1rem;
}
.kirinti a{ color:var(--text-uc) }
.kirinti a:hover{ color:var(--accent) }
.kirinti svg{ width:11px; height:11px; opacity:.6 }
/* açık zeminde gece etiketi okunmuyordu: kırmızı hap biçimine döner */
.sayfa-bas .etiket-gece{
  background:var(--accent-muted); color:var(--accent-ak-koyu, #A80A1E);
  border-color:transparent;
}

.icerik{ padding-block:var(--dikey) }
/* Okuma sütunu ortalanır: metin 72ch ile sınırlı olduğu için kabı sayfa
   genişliğine açmak sağda yarım ekran boşluk bırakıyordu (denetim bulgusu). */
.icerik .kap{ max-width:var(--en-icerik); margin-inline:auto }
.icerik h2{ font-size:clamp(1.3rem, 1.9vw, 1.7rem); margin-top:2.2rem }
.icerik h2:first-child{ margin-top:0 }
.icerik h3{ margin-top:1.8rem }
.icerik .kap > h3{ font-size:clamp(1.15rem, 1.5vw, 1.3rem); line-height:1.3; letter-spacing:-.01em }
/* 72ch kapağı kalktı: paragraf artık kabın tamamını kullanıyor, böylece
   Merak ızgarasıyla aynı sağ kenarda bitiyor (kullanıcı isteği). */
.icerik p{ margin-block:.8rem; max-width:none }
.icerik ul, .icerik ol{ margin:.8rem 0 1rem 1.4rem }
.icerik li{ margin-block:.35rem; max-width:none }
/* içerik ritmi kart bileşenine sızmasın: kart içi düzen index ile birebir */
.icerik .kart h3{ margin-top:0 }
.icerik .kart p{ margin-block:0 }
.icerik .kart p + p{ margin-top:.55rem }
.icerik .izgara{ margin-block:1.4rem }

/* tüm tablolar metin sütunuyla aynı hizada ve aynı genişlikte;
   sütun başlıkları eşit bölünür (2 sütun -> 1/2, 3 sütun -> 1/3) */
.tablo-sarici{ position:relative; overflow-x:auto; margin-block:1.4rem; max-width:none; border:1px solid var(--cizgi); border-radius:var(--r-m); background:var(--panel) }
.tablo{ width:100%; table-layout:fixed; border-collapse:collapse; font-size:.95rem; min-width:520px; line-height:1.5 }
/* telefonda: sabit eşit sütunlar yerine içeriğe göre sütun + görünür kaydırma ipucu */
@media (max-width: 680px){
  .tablo{ table-layout:auto; min-width:560px; font-size:.9rem }
  .tablo-sarici::before{
    content:"Tabloyu yana kaydırabilirsiniz ▸"; display:block; position:sticky; left:0;
    font-size:.72rem; font-weight:600; letter-spacing:.02em; color:var(--text-uc);
    padding:.5rem .9rem .3rem;
  }
}
.tablo th{
  text-align:left; font-family:var(--f-sergi); font-weight:700;
  background:var(--gece); color:#fff; padding:.7rem .9rem;
}
.tablo td{ padding:.65rem .9rem; border-bottom:1px solid var(--cizgi); vertical-align:top }
.tablo tr:nth-child(even) td{ background:var(--panel-2) }
.tablo tr:last-child td{ border-bottom:0 }

/* YAYIN KAPISI NOTLARI — GÖRÜNMEZ
   Bu kutular eksik içeriği takip etmek için kaynakta durur ama ne sitede
   ne yayın paketinde görünür (paket-yap.py etiketi tamamen siler).
   Takip listesi: dusunurkoleji.com/EKSIK-ICERIK-LISTESI.md
   Geliştirirken görmek için: <html class="gorevler"> ekleyin. */
.doldurulacak{ display:none }
html.gorevler .doldurulacak{
  display:block; background:#FFF6E5; border:1px dashed #E5B96B;
  border-radius:var(--r-s); padding:.8rem 1rem; font-size:.9rem;
  color:#8A6215; margin-block:1rem;
}

/* Çağrı bandı açık zemine alındı: alt bilgiyle arasında %6 parlaklık farkı
   olan iki koyu blok tek bir 700px'lik siyah alan gibi görünüyor, sayfa iki
   kez bitiyormuş hissi veriyordu (denetim bulgusu). */
.sayfa-cta{
  background:var(--panel-2); color:var(--text-primary); text-align:center;
  padding-block:clamp(2.4rem, 4vw, 3.2rem);
  border-top:1px solid var(--cizgi);
}
.sayfa-cta h2{ color:var(--text-primary); margin-bottom:1.2rem }
.sayfa-cta .btn-cizgi-ak{ border-color:var(--cizgi-2); color:var(--text-primary) }
.sayfa-cta .btn-cizgi-ak:hover{ border-color:var(--text-primary) }

/* --------------------------------------------------------------------------
   19. GİZLİ SEKME DURAKLATMA
   -------------------------------------------------------------------------- */
body.duraklat *, body.duraklat *::before, body.duraklat *::after{
  animation-play-state:paused !important;
}

/* --------------------------------------------------------------------------
   20. KIRILIMLAR
   -------------------------------------------------------------------------- */
@media (max-width: 1240px){
  .iz-4{ grid-template-columns:repeat(2, 1fr) }
  .des-iz{ grid-template-columns:repeat(2, 1fr) }
  .sutun-iz{ grid-template-columns:repeat(2, 1fr) }
}

@media (max-width: 1100px){
  .hamburger{ display:grid }
  .menu{
    position:fixed; inset:0 0 0 auto; width:min(88vw, 380px);
    background:#fff; border-left:1px solid var(--cizgi);
    flex-direction:column; align-items:stretch; gap:0;
    padding:6.5rem 1.35rem 2rem; overflow-y:auto;
    transform:translateX(100%);
    transition:transform 320ms var(--ease), visibility 320ms var(--ease);
    z-index:99; box-shadow:-10px 0 40px rgba(14,27,51,.14);
    /* kapalıyken sekmeyle gezilemesin: yalnız ekran dışına itmek yetmiyor,
       25 bağlantı odaklanabilir kalıyordu (denetim bulgusu) */
    visibility:hidden;
  }
  .menu.acik{ transform:none; visibility:visible }
  .menu > li > a{
    color:var(--text-primary) !important; padding:1rem .55rem;
    border-bottom:1px solid var(--cizgi); border-radius:0;
    font-size:1.02rem; justify-content:space-between;
  }
  .altmenu{
    position:static; opacity:1; visibility:hidden; transform:none;
    background:none; border:0; box-shadow:none; padding:0 0 .5rem .8rem;
    max-height:0; overflow:hidden;
    transition:max-height 300ms var(--ease), visibility 300ms var(--ease);
  }
  .menu > li.acik .altmenu{ max-height:420px; visibility:visible }
  .menu > li.acik .ok{ transform:rotate(180deg) }
  .ust-sag .btn-burs{ display:none }
  /* çekmece sonundaki eylem düğmeleri: çekmece beyaz zeminli olduğu için
     ana çubuktaki beyaz çerçeveli hâli görünmez kalıyordu; lacivert çerçeve. */
  /* üstteki bağlantı zaten alt çizgi taşıyor; ayrıca border-top koymak
     çift çizgi yapıyordu */
  .menu-cta{
    display:flex !important; flex-direction:column; gap:.7rem;
    margin-top:1.6rem;
  }
  /* .menu > li > a kuralı çekmecede köşeleri düzleştirip alt çizgi koyuyor;
     düğmeler o kuralın dışında kalmalı, üst çubuktakiyle aynı görünmeli */
  .menu-cta .btn{
    justify-content:center; min-height:50px; width:100%;
    border-bottom:0; border-radius:var(--r-tam) !important;
    padding-inline:1.2rem; font-size:.95rem;
  }
  .menu-cta .btn-burs{
    display:inline-flex;
    border:1.5px solid var(--mavi) !important; color:var(--mavi) !important;
    background:transparent;
  }
  .menu-cta .btn-burs:hover{
    border-color:var(--mavi-koyu) !important; color:var(--mavi-koyu) !important;
  }
  .menu-cta .btn-ana{ color:#fff !important }
  /* çekmece (99) örtünün (88) üstüne çıksın; hamburger çekmecenin üstünde kalıp X olsun.
     backdrop-filter fixed çekmecenin kapsayıcısını bara sıkıştırdığından mobilde kapatılır */
  .ust{ z-index:92; backdrop-filter:none; -webkit-backdrop-filter:none; background:var(--gece) }
  /* bulanıklık kapalıyken saydamlık da kapanmalı: yoksa sayfa metni
     logonun içinden geçiyor (denetim bulgusu) */
  .ust.aydinlik{ background:#fff }
  .hamburger{ position:relative; z-index:100 }
  .ust .hamburger[aria-expanded="true"] span{ background:transparent }
  .ust .hamburger[aria-expanded="true"] span::before{ top:0; transform:rotate(45deg); background:var(--text-primary) }
  .ust .hamburger[aria-expanded="true"] span::after{ top:0; transform:rotate(-45deg); background:var(--text-primary) }
  .cevap-iz, .ucret-iz, .kayit-iz{ grid-template-columns:1fr }
  .ucret-kutu{ position:static }
  .alt-iz{ grid-template-columns:1fr 1fr; row-gap:2rem }
}

@media (max-width: 800px){
  .iz-3{ grid-template-columns:1fr }
}

@media (max-width: 680px){
  .iz-4{ grid-template-columns:1fr }
  .des-iz{ grid-template-columns:1fr }
  .sutun-iz{ grid-template-columns:1fr 1fr }
  .alan-2{ grid-template-columns:1fr }
  .alt-iz{ grid-template-columns:1fr 1fr; gap:1.7rem 1.3rem }
  .alt-iz > div:first-child, .alt-iz > div:last-child{ grid-column:1 / -1 }
  .alt-serit{ justify-content:center; text-align:center }
  .alt-serit nav{ justify-content:center }
  .ust .kap{ min-height:84px }
  .duragan{ margin-top:-84px; padding-top:calc(clamp(4rem, 9vw, 7rem) + 84px) }
  .logo img{ height:46px }
  .soru-liste a{ gap:.7rem }
}

/* Kısa ama kaydırılabilir ekranlar: küçük gereçler saklanır */
@media (max-height: 560px){
  .asagi-ip{ display:none }
}

/* --------------------------------------------------------------------------
   21. AZALTILMIŞ HAREKET
   Beş kapıdan biri: kaydırma yolculuğu hiç yüklenmez (yukarıdaki kapı bloku).
   Kalan her şey son durumuyla gelir.
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; transition-delay:0s !important;
  }
  html{ scroll-behavior:auto }
  body::before{ animation:none }
  html.js .girdi{ opacity:1 !important; transform:none !important }
  /* sözler sahnesi: hareket yok, son perde okunur halde kalır */
  .soz{ opacity:0 !important }
  .fmt-netlik, .fmt-kay{ filter:none !important; transform:none !important }
  .soz-metin .gh{ display:none }
  .son-perde{ opacity:1 !important; pointer-events:auto }
  .son-amblem, .son-sayilar, .son-vaat, .son-slogan, .son-btnler{
    opacity:1 !important; transform:none !important;
  }
  .iplik path{ stroke-dashoffset:0 }
  .tut-cizgi{ stroke-dashoffset:0 }
  .tut-nokta{ opacity:1; transform:scale(1.5) }
  .asagi-ip{ animation:none }
  .soru-liste li:nth-child(1) .soru-im{ animation:none }
}

/* --------------------------------------------------------------------------
   22. YAZDIRMA
   -------------------------------------------------------------------------- */
@media print{
  .ust, .ortu, .yolculuk, .asagi-ip, .iplik, .tut-kutu, .wa, .mobil-cta{ display:none !important }
  html.js .duragan{ display:block; background:#fff; color:#000; margin:0; padding:2rem 0 }
  .duragan .d-baslik, .duragan .d-soru{ color:#000 }
  body{ background:#fff; color:#000 }
  body::before{ display:none }
  .bolum{ padding-block:1.2rem }
  html.js .girdi{ opacity:1 !important; transform:none !important }
}

/* --------------------------------------------------------------------------
   MOBİL SABİT İLETİŞİM ÇUBUĞU: yalnız dar ekranda görünür
   -------------------------------------------------------------------------- */
.mobil-cta{ display:none }
@media (max-width: 720px){
  .ust-sag .btn-ana{ display:none }
  .mobil-cta{
    position:fixed; inset:auto 0 0 0; z-index:80;
    display:grid; grid-template-columns:1fr 1fr; gap:1px;
    background:var(--cizgi); border-top:1px solid var(--cizgi);
    padding-bottom:env(safe-area-inset-bottom);
  }
  .mobil-cta a{
    display:inline-flex; align-items:center; justify-content:center; gap:.45rem;
    min-height:52px; font-weight:700; font-size:.95rem;
    background:var(--panel); color:var(--gece);
  }
  .mobil-cta a svg{ width:15px; height:15px }
  .mobil-cta .mc-kayit{ background:var(--accent); color:#fff }
  .mobil-cta a:active{ background:var(--panel-2) }
  .mobil-cta .mc-kayit:active{ background:var(--accent-hover) }
  body{ padding-bottom:calc(53px + env(safe-area-inset-bottom)) }
}

/* --------------------------------------------------------------------------
   WHATSAPP YÜZEN BUTONU: tüm sayfalarda sağ altta, 0850 444 65 35 hattı
   -------------------------------------------------------------------------- */
.wa{
  position:fixed; bottom:22px; right:22px; z-index:79;
  width:56px; height:56px; border-radius:50%;
  background:var(--accent); color:#fff; display:grid; place-items:center;
  box-shadow:0 10px 28px -6px rgba(235,15,45,.5);
  transition:transform .2s var(--ease), box-shadow .2s var(--ease);
}
.wa svg{ width:28px; height:28px }
.wa:hover{ transform:scale(1.08) translateY(-2px); color:#fff }
.wa:active{ transform:scale(.96) }
@media (max-width: 720px){
  .wa{ bottom:calc(66px + env(safe-area-inset-bottom)); right:14px; width:52px; height:52px }
  .wa svg{ width:26px; height:26px }
}

/* site haritasındaki kampüs bağlantıları: çok sütunlu liste */
.liste-sutunlu{ columns:3 15rem; column-gap:2.2rem }
.liste-sutunlu li{ break-inside:avoid }
.liste-sutunlu small{ color:var(--text-uc); margin-left:.3rem }

/* telefon numaraları hiçbir yerde satır ortasından bölünmez */
a[href^="tel:"]{ white-space:nowrap }
.ayrilmaz{ white-space:nowrap }

/* ==========================================================================
   DİYAFRAM AÇILIŞI: kamera deklanşörü açılır gibi giriş (yalnız ana sayfa)
   ========================================================================== */
.diyafram{
  position:fixed; inset:0; z-index:9999; background:var(--gece);
  display:grid; place-items:center; overflow:hidden;
  transition:opacity .35s var(--ease);
}
.diyafram[hidden]{ display:none }
.dy-cizim{ position:absolute; inset:0; width:100%; height:100% }
.dy-cizim #dy-delik, .dy-kenar{
  transform-box:view-box; transform-origin:50px 50px;
  transition:transform 1.05s cubic-bezier(.65,0,.35,1);
}
.dy-kenar{
  fill:none; stroke:var(--accent); stroke-width:.55;
  opacity:.4; animation:dy-nabiz 1.15s ease-in-out infinite alternate;
}
@keyframes dy-nabiz{ to{ opacity:.9 } }
.dy-sayac{
  position:relative; z-index:1; margin-top:26vh;
  font-family:var(--f-mono); font-weight:700; font-size:.86rem;
  letter-spacing:.34em; color:rgba(214,226,248,.62);
  transition:opacity .3s var(--ease);
}
/* açılış: bıçaklar büyüyerek ve dönerek çekilir */
.diyafram.acik #dy-delik, .diyafram.acik .dy-kenar{ transform:scale(24) rotate(24deg) }
.diyafram.acik .dy-sayac{ opacity:0 }
.diyafram.bitti{ opacity:0; pointer-events:none }
@media (prefers-reduced-motion: reduce){ .diyafram{ display:none !important } }

/* ==========================================================================
   SAYFA GEÇİŞİ · RACK-FOCUS (tarayıcının kendi View Transitions'ı, JS yok)
   Sayfadan sayfaya geçerken eski kare odaktan düşer, yeni kare odağa çekilir.
   Desteklemeyen tarayıcıda hiçbir şey olmaz — sayfa normal açılır.
   ========================================================================== */
@view-transition{ navigation:auto }
::view-transition-old(root){
  animation:200ms cubic-bezier(.16,1,.3,1) both kadraj-cik;
}
::view-transition-new(root){
  animation:340ms cubic-bezier(.16,1,.3,1) 190ms both kadraj-gir;
}
@keyframes kadraj-cik{ to{ opacity:0; filter:blur(9px); transform:scale(1.015) } }
@keyframes kadraj-gir{
  from{ opacity:0; filter:blur(11px); transform:scale(.992) }
  to{ opacity:1; filter:blur(0); transform:scale(1) }
}
/* üst bar sabit referans kalsın: geçişte kendi kimliğiyle taşınır */
.ust{ view-transition-name:site-ust }
::view-transition-group(site-ust){ animation:none; z-index:100 }
::view-transition-old(site-ust){ display:none }
@media (prefers-reduced-motion: reduce){
  ::view-transition-old(root), ::view-transition-new(root){
    animation-duration:0s; animation-delay:0s;
  }
}

/* yıldızın ne anlama geldiği formun başında bir kez yazılır */
.form-zorunlu{
  font-size:.78rem; color:var(--text-uc); margin:0 0 .2rem;
}
.form-zorunlu::first-letter{ font-weight:600 }

/* alan başına hata satırı: mesaj ilgili alanın hemen altında çıkar.
   Açık zeminde kontrast için koyu kırmızı (#A80A1E, 6,4:1). */
.alan-hata{
  margin:.35rem 0 0; font-size:.82rem; font-weight:600; color:#A80A1E;
  display:flex; align-items:flex-start; gap:.35rem;
}
.alan-hata::before{ content:"!"; font-weight:800 }
.alan input[aria-invalid="true"], .alan select[aria-invalid="true"],
.alan textarea[aria-invalid="true"]{ border-color:#A80A1E }

/* form yardımcıları: başarı mesajı ve bal küpü (bot tuzağı) alanı */
.form-basari{ font-weight:600; padding:.4rem 0 }
.hp-alan{ position:absolute !important; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden }

/* ==========================================================================
   İNDEX ÖZGÜN BÖLÜMLER (2026-08-25): kart ızgaraları yerine marka dili.
   Akademik dizin, ölçme döngü hattı, kutusuz değer şeridi, yükselen
   kademe çizgisi, bursluluk yol rotası.
   ========================================================================== */

/* B · Akademik yapı: numaralı program dizini */
.prog-dizin{ max-width:900px; margin-inline:auto; border-top:1px solid var(--cizgi-2) }
.prog-satir{
  position:relative; display:grid; grid-template-columns:3.2rem 1fr 44px;
  column-gap:1.4rem; align-items:center; padding:1.15rem .9rem 1.15rem .6rem;
  border-bottom:1px solid var(--cizgi-2); transition:background-color var(--gecis);
}
.prog-satir:hover{ background:var(--panel-2) }
.prog-satir::before{
  content:""; position:absolute; left:0; top:14%; bottom:14%; width:3px;
  border-radius:3px; background:var(--accent);
  transform:scaleY(0); transform-origin:top; transition:transform .28s var(--ease);
}
.prog-satir:hover::before{ transform:scaleY(1) }
/* Sıra numaraları okunur olmalı: --cizgi (kenarlık rengi) zeminde 1,17:1
   veriyordu, pratikte görünmüyordu (denetim bulgusu). */
.prog-no{
  font-family:var(--f-mono); font-weight:700; font-size:1.45rem; line-height:1;
  color:var(--text-uc); transition:color var(--gecis); text-align:right;
}
.prog-satir:hover .prog-no{ color:var(--accent) }
.prog-govde{ display:block; min-width:0 }
.prog-baslik{
  display:inline-flex; align-items:center; gap:.55rem;
  font-weight:800; font-size:1.05rem; color:var(--text-primary);
}
.prog-baslik svg{
  width:15px; height:15px; color:var(--accent); flex:none;
  opacity:0; transform:translateX(-6px);
  transition:opacity var(--gecis), transform var(--gecis);
}
.prog-satir:hover .prog-baslik svg{ opacity:1; transform:none }
.prog-aciklama{ display:block; color:var(--text-secondary); font-size:.9rem; margin-top:.2rem; max-width:58ch }
/* ikonlar tek renk (mavi = bilgi); dönüşümlü kırmızı-mavi anlam taşımıyordu */
.prog-ikon{
  width:34px; height:34px; justify-self:end; color:var(--mavi); opacity:.8;
  transition:opacity var(--gecis), transform var(--gecis);
}
.prog-satir:hover .prog-ikon{ opacity:.9; transform:translateY(-2px) }
@media (max-width: 680px){
  .prog-satir{ grid-template-columns:2.2rem 1fr; column-gap:.9rem; padding-inline:.2rem }
  .prog-no{ font-size:1.05rem }
  .prog-ikon{ display:none }
}

/* C2 · Ölçme: dörtlü döngü hattı + dönüş oku */
.dongu-hat{ max-width:1040px; margin-inline:auto }
.dongu-adimlar{
  position:relative; display:grid; grid-template-columns:repeat(4, 1fr);
  gap:1.2rem; list-style:none; padding:0; margin:0;
}
.dongu-adimlar::before{
  content:""; position:absolute; top:21px; left:12.5%; right:12.5%;
  border-top:2px dashed rgba(235,15,45,.35);
}
.dongu-adim2{ text-align:center; position:relative }
.dnokta{
  position:relative; z-index:1; display:grid; place-items:center;
  width:44px; height:44px; margin:0 auto .8rem; border-radius:50%;
  background:var(--gece); color:#fff; font-family:var(--f-mono);
  font-weight:700; font-size:1.05rem;
  box-shadow:0 0 0 4px rgba(235,15,45,.12), var(--g-s);
}
.dongu-adim2 h3{ font-size:1.05rem; margin-bottom:.35rem }
.dongu-adim2 p{ font-size:.9rem; color:var(--text-secondary); max-width:26ch; margin-inline:auto }
.dongu-donus{
  display:block; width:min(72%, 680px); height:60px; margin:1.2rem auto 0;
  color:var(--accent); opacity:.5; overflow:visible;
}
.dongu-donus path{ fill:none; stroke:currentColor; stroke-width:2; stroke-dasharray:7 8 }
@media (max-width: 820px){
  .dongu-adimlar{ grid-template-columns:1fr; gap:0 }
  .dongu-adimlar::before{ top:0; bottom:0; left:21px; right:auto;
    border-top:0; border-left:2px dashed rgba(235,15,45,.35) }
  .dongu-adim2{ text-align:left; display:grid; grid-template-columns:44px 1fr;
    column-gap:1rem; padding-block:.85rem; align-items:start }
  .dnokta{ margin:0 }
  .dongu-adim2 h3{ grid-column:2 }
  /* margin-inline:auto sıfırlanmayınca kısa paragraflar hücrede ortalanıp
     başlıklarıyla hizadan çıkıyordu (denetim bulgusu) */
  .dongu-adim2 p{ grid-column:2; max-width:none; margin-inline:0 }
  .dnokta{ grid-row:1 / span 2 }
  .dongu-donus{ display:none }
}

/* D · Değerler: kutusuz, ince çizgili şerit.
   Simge ve başlık akışa bırakılmıştı: dar sütunda ikisi kimi kartta yan yana,
   kimi kartta alt alta diziliyordu. Sütun artık dikey bir yığın (denetim bulgusu). */
.sutun-iz{ gap:0; border-block:1px solid var(--cizgi-2) }
.sutun{ padding:1.9rem 1.3rem; display:flex; flex-direction:column; align-items:center }
.sutun + .sutun{ border-left:1px solid var(--cizgi-2) }
.sutun-ikon, .sutun-ikon.mavi{
  display:block; background:transparent; width:auto; height:auto; margin-bottom:.6rem;
}
.sutun-ikon svg{ width:30px; height:30px; display:block }
.sutun p{ max-width:34ch }
/* fit-content: alt çizgi başlığı sarmalamayı sürdürsün ama başlık
   her zaman kendi satırında dursun */
.sutun h3{ position:relative; display:block; width:fit-content; padding-bottom:.5rem }
.sutun h3::after{
  content:""; position:absolute; left:12%; right:12%; bottom:0; height:3px;
  border-radius:2px; background:var(--accent);
  transform:scaleX(0); transition:transform .3s var(--ease);
}
.sutun:nth-child(even) h3::after{ background:var(--mavi) }
.sutun:hover h3::after{ transform:scaleX(1) }
@media (max-width: 820px){
  .sutun-iz{ grid-template-columns:1fr 1fr }
  .sutun{ padding:1.3rem 1rem }
  .sutun + .sutun{ border-left:0 }
  .sutun:nth-child(even){ border-left:1px solid var(--cizgi-2) }
  .sutun:nth-child(n+3){ border-top:1px solid var(--cizgi-2) }
}

/* E · Kademeler: yükselen çizgi üzerinde basamaklar */
.kademe-yol{ position:relative }
.ky-cizgi{ display:none }
@media (min-width: 1000px){
  .ky-cizgi{
    display:block; position:absolute; left:0; right:0; top:-26px;
    width:100%; height:130px; overflow:visible; pointer-events:none;
  }
  .ky-cizgi path{ fill:none; stroke:var(--accent); stroke-width:2.5; opacity:.4; stroke-dasharray:1 9; stroke-linecap:round }
  .kademe{ position:relative }
  .kademe::before{
    content:""; position:absolute; top:-8px; left:50%; transform:translateX(-50%);
    width:13px; height:13px; border-radius:50%; background:var(--accent);
    border:3px solid #fff; box-shadow:var(--g-s);
  }
  .kademe-k1{ margin-top:72px }
  .kademe-k2{ margin-top:48px }
  .kademe-k3{ margin-top:24px }
}

/* H · Bursluluk: üç yol, tek rota */
.burs-yollar{ max-width:780px; margin-inline:auto }
.burs-yol{
  position:relative; display:grid; grid-template-columns:56px 1fr;
  column-gap:1.3rem; padding-block:1.35rem;
}
.burs-yol::before{
  content:""; position:absolute; left:27px; top:0; bottom:0; width:2px;
  background:repeating-linear-gradient(to bottom, var(--cizgi) 0 5px, transparent 5px 11px);
}
.burs-yol:first-child::before{ top:1.35rem }
.burs-yol:last-child::before{ bottom:auto; height:2.6rem }
.by-ikon{
  position:relative; z-index:1; width:56px; height:56px; border-radius:50%;
  display:grid; place-items:center; background:var(--panel); color:var(--accent);
  border:1px solid var(--cizgi); box-shadow:0 0 0 4px rgba(235,15,45,.08), var(--g-s);
}
.burs-yol:nth-child(2) .by-ikon{ color:var(--mavi); box-shadow:0 0 0 4px var(--mavi-sis), var(--g-s) }
.by-ikon svg{ width:24px; height:24px }
.by-govde h3{ font-size:1.08rem; margin-bottom:.3rem }
.by-govde p{ color:var(--text-secondary); font-size:.93rem; max-width:56ch }
.by-etiketler{ display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.7rem }
.by-etiketler span{
  display:inline-flex; align-items:center; gap:.4rem; font-size:.78rem; font-weight:600;
  color:var(--text-secondary); background:var(--panel); border:1px solid var(--cizgi-2);
  border-radius:var(--r-tam); padding:.28rem .7rem;
}
.by-etiketler svg{ width:12px; height:12px; color:var(--accent); flex:none }
