/* 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 }

/* Gönderim sonrası teşekkür kutusu — formun YERİNE geçer.
   Küçük yeşil şeritten büyük bir panele çıkarıldı: veliler gönderimin
   gerçekleştiğini göremeyip formu ikinci kez dolduruyordu (11.09.2026). */
#form-sonuc .tesekkur-kutu, #franchise-sonuc .tesekkur-kutu{
  margin-top:0; padding:clamp(1.5rem, 4vw, 2.2rem);
  background:#E8F7EC; border:1px solid #A8DEBB; border-radius:var(--r-l);
  color:#15703A; text-align:center;
}
.tesekkur-bas{
  font-family:var(--f-sergi); font-weight:800;
  font-size:clamp(1.25rem, 3.4vw, 1.6rem); line-height:1.25;
  margin:0 0 .7rem; color:#125C31;
}
.tesekkur-kutu p{ margin:0 0 .55rem; font-size:1rem; line-height:1.6; color:#1B5E3A }
.tesekkur-kutu p:last-child{ margin-bottom:0 }
.tesekkur-kutu a{ color:#0E4A2B; font-weight:700 }
.tesekkur-not{
  margin-top:1rem!important; padding-top:.85rem;
  border-top:1px solid #A8DEBB;
  font-size:.875rem!important; color:#3E7D5A!important;
}
#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 }

/* ==========================================================================
   MOBİL CİLA — 08.09.2026
   Gerekçe: ziyaretin %64'ü ve 12 ön kayıt talebinin 11'i telefondan geliyor.
   390×844 görünümde yapılan ölçüm üç sorun gösterdi:
     · gövde yazısı 15px, 100'den fazla öğe 12px'in altında
     · 44px'lik dokunma hedefinin altında 43 bağlantı (alt bilgide 17px)
     · form alanlarında yazı boyutu tanımlı değil
   Buradaki kuralların TAMAMI yalnız mobilde çalışır; masaüstü görünüm
   olduğu gibi korunur.
   ========================================================================== */
@media (max-width: 720px){

  /* --- okunabilirlik --------------------------------------------------- */
  body{ font-size:1rem; line-height:1.62 }

  /* iOS Safari, 16px'in altındaki bir form alanına dokunulduğunda sayfayı
     kendiliğinden yakınlaştırır ve düzen bozulmuş gibi görünür. 16px bunu
     önler. Ön kayıt taleplerinin neredeyse tamamı telefondan geldiği için
     bu kural doğrudan başvuru sayısını etkiler. */
  input, select, textarea{ font-size:16px }

  /* 12px altındaki etiketler telefonda okunmuyordu */
  .etiket,
  .kademe-yas,
  .bk-etiket,
  .ust-etiket{ font-size:.78rem }
  .harita-liste .hl-il{ font-size:.76rem }
  .harita-liste .no{ font-size:.76rem; width:26px; height:26px }

  /* --- dokunma hedefleri (asgari 44px) --------------------------------- */
  .alt-liste a,
  .alt-serit nav a,
  .alt-ilet a,
  .altmenu a{
    display:flex; align-items:center; min-height:44px;
  }
  /* alt bilgi listeleri artık daha uzun: satır aralığı buna göre kısaldı */
  .alt-liste{ gap:0 }

  .sosyal-sira a{ width:44px; height:44px }

  /* metin içinde akan ok bağlantıları: yükseklik dolgu ile büyür,
     satır düzeni bozulmaz */
  .ok-baglanti{
    display:inline-flex; align-items:center; min-height:44px;
  }

  /* Durağan kahraman tam olarak tek ekrana sığsın.
     Ölçüm (390×844): kahraman 885px, kullanılabilir alan 791px
     (844 eksi 53px'lik sabit alt çubuk) — vaat cümlesi çubuğun arkasında
     kalıyordu. Üst/alt boşluk ve amblem ölçüsü 95px daraltıldı. */
  .duragan{
    padding-top:calc(2.6rem + 84px);
    padding-bottom:2.6rem;
  }
  .amblem-duragan{ height:min(22vh, 150px); margin-bottom:1.1rem }
}

/* --------------------------------------------------------------------------
   Durağan kahramanın nefes katmanı (js/sahne.js sonundaki blok kurar)
   Katman sırası masaüstü sahnesiyle aynı: en altta renk bulutları,
   üstünde ızgara dokusu, en üstte metin.
   -------------------------------------------------------------------------- */
.duragan-tuval{
  position:absolute; inset:0; width:100%; height:100%;
  z-index:0; pointer-events:none;
}
.duragan::before{ z-index:1 }
.duragan > .kap{ position:relative; z-index:2 }
