/* Mevlüt Öztekin ana sayfa.
   Fikir: ebru, su, kâğıt, kalp. Kapak ve zarf astarı dışında sayfa kâğıt üstüne basılmış gibi sakin. */

:root {
  --gece: #141B55;
  --lacivert: #232E83;
  --lacivert-acik: #3A47A8;
  --sis: #C9D1EA;
  --gok: #E4E8F3;
  --kirmizi: #EE3124;
  --kirmizi-koyu: #D7261B;
  --kirmizi-basili: #B81F15;
  --kagit: #F7F3EB;
  --kagit-acik: #FCFAF6;
  --kagit-koyu: #ECE5D6;
  --kum: #E7DCC6;
  --murekkep: #1A1F45;
  --metin-2: #3B4263;
  --soluk: #5A6183;
  --cizgi: #D9D1BF;

  --serif: "Literata", "Iowan Old Style", Georgia, serif;
  --sans: "Sofia Sans", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  --dar: "Sofia Sans Condensed", "Arial Narrow", var(--sans);
  --cok-dar: "Sofia Sans Extra Condensed", "Arial Narrow", var(--sans);

  --kenar: clamp(20px, 4vw, 56px);
  --kap: 1360px;
  --ust-y: 64px;
  --h2: clamp(2.1rem, 1.3rem + 2.6vw, 3.5rem);
  --dev: clamp(4rem, 2rem + 7vw, 9rem);
  --aci: 126.8deg; /* çentiğin 53,2° kesimine dik doğrultu: çapraz dolumlarda */
}
@media (min-width: 960px) { :root { --ust-y: 76px; } }

/* ---------- Temel ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: var(--ust-y); }
body {
  margin: 0;
  background: var(--kagit);
  color: var(--murekkep);
  font: 400 1.0625rem/1.55 var(--sans);
  font-kerning: normal;
  font-variant-ligatures: common-ligatures;
}
@media (min-width: 960px) { body { font-size: 1.125rem; } }
img, canvas, video { display: block; max-width: 100%; }
svg { max-width: 100%; }
img { height: auto; }
h1, h2, h3, h4 { margin: 0; font-family: var(--serif); font-weight: 560; text-wrap: balance; }
p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
p, li, dd, figcaption { text-wrap: pretty; }
button, input, select, textarea { font: inherit; color: inherit; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; text-decoration-color: var(--lacivert); }
b, strong { font-weight: 700; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--lacivert); outline-offset: 3px; }
.kapak :focus-visible, .menu-panel :focus-visible, .alt :focus-visible, .ust:not(.ust-kagit) :focus-visible,
.baskana-yazin :focus-visible, .sayfa-bandi :focus-visible { outline-color: var(--kagit); }
.gizli {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap; border: 0;
}
.menu-acik, .menu-acik body { overflow: hidden; }

/* ---------- Izgara: 12 kolon (mobilde 4), kenarlar adlı çizgilerle; taşma tam-bas / tam-son ile ---------- */
.izgara {
  --oluk: 16px;
  display: grid;
  column-gap: var(--oluk);
  grid-template-columns:
    [tam-bas] calc(var(--kenar) - var(--oluk))
    [ic-bas] repeat(4, minmax(0, 1fr))
    [ic-son] calc(var(--kenar) - var(--oluk)) [tam-son];
}
.izgara > * { grid-column: ic-bas / ic-son; min-width: 0; }
@media (min-width: 720px) {
  .izgara {
    --oluk: 24px;
    grid-template-columns:
      [tam-bas] minmax(calc(var(--kenar) - var(--oluk)), 1fr)
      [ic-bas] repeat(12, minmax(0, calc((var(--kap) - 11 * var(--oluk)) / 12)))
      [ic-son] minmax(calc(var(--kenar) - var(--oluk)), 1fr) [tam-son];
  }
}

/* ---------- Çentik, dış bağlantı işareti, kalp ---------- */
/* Sembol plandaki gibi birebir; kontur kalınlığı ölçekten bağımsız olsun diye kural sembolün kendi yoluna yazılır
   (use kopyası özgün öğenin kurallarını alır). */
#centik { overflow: visible; }
#centik path { vector-effect: non-scaling-stroke; }
.centik { width: .5em; height: .945em; flex: none; overflow: visible; }
.centik-tamamlandi, .centik-etkin { fill: var(--kirmizi-koyu); }
.centik-devam { fill: none; stroke: var(--lacivert); stroke-width: 1.25px; vector-effect: non-scaling-stroke; }
.centik-planlaniyor { fill: none; stroke: var(--soluk); stroke-width: 1.25px; stroke-dasharray: 2.5 2; vector-effect: non-scaling-stroke; }
.centik-bos { fill: none; stroke: var(--soluk); stroke-width: 1.25px; vector-effect: non-scaling-stroke; }
.dis { display: inline-block; width: .62em; height: .62em; margin-left: .3em; overflow: visible; vertical-align: .02em; }
.kalp { color: var(--kirmizi); }

/* ---------- Düğmeler ve bağlantılar ---------- */
.dugme {
  display: inline-flex; align-items: center; gap: 11px; min-height: 48px; padding: 13px 22px;
  border: 1.5px solid transparent; border-radius: 2px;
  font: 700 1rem/1.2 var(--sans); text-decoration: none; cursor: pointer; white-space: nowrap;
}
.dugme:hover { text-decoration: none; }
.dugme-birincil {
  background: var(--kirmizi-koyu); border-color: var(--kirmizi-koyu); color: var(--kagit);
  transition: background-color 160ms ease-out, border-color 160ms ease-out;
}
.dugme-birincil .centik { width: 7px; height: 13.2px; fill: currentColor; transition: transform 160ms ease-out; }
.dugme-birincil:hover { background-color: var(--kirmizi-basili); border-color: var(--kirmizi-basili); }
.dugme-birincil:hover .centik { transform: translateX(3px); }
.dugme-ikincil {
  --dolgu: var(--lacivert);
  color: var(--lacivert); border-color: var(--lacivert);
  background: linear-gradient(var(--aci), var(--dolgu) 50%, transparent 50%) 100% 0 / 260% 100% no-repeat;
  transition: background-position 220ms ease-out, color 220ms ease-out;
}
.dugme-ikincil:hover, .dugme-ikincil:focus-visible { background-position: 0 0; color: var(--kagit); }
.dugme-koyu { --dolgu: var(--kagit); color: var(--kagit); border-color: var(--kagit); }
.dugme-koyu:hover, .dugme-koyu:focus-visible { color: var(--gece); }

.metin-bag { font-weight: 600; text-decoration-line: underline; }
.metin-dugme {
  padding: 0; border: 0; background: none; cursor: pointer; font-weight: 600;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em;
  min-height: 44px;
}
.metin-dugme:hover { text-decoration-thickness: 2px; }
.dis-bag { font-weight: 600; white-space: nowrap; }
.kaynak { font-size: .875rem; line-height: 1.45; color: var(--soluk); }

/* ---------- 0. Üst çubuk ---------- */
.atla {
  position: absolute; left: 12px; top: -80px; z-index: 100; padding: 12px 18px;
  background: var(--kagit); color: var(--lacivert); font-weight: 700; border-radius: 2px;
}
.atla:focus { top: 12px; }
.ust { position: absolute; inset: 0 0 auto; z-index: 60; color: var(--kagit); }
.js .ust { position: fixed; transition: background-color 200ms ease-out, color 200ms ease-out, box-shadow 200ms ease-out; }
.ust.ust-gece { background: var(--gece); }
.ust.ust-kagit { background: var(--kagit); color: var(--murekkep); box-shadow: inset 0 -1px var(--cizgi); }
.ust-ic {
  display: flex; align-items: center; gap: 24px; height: var(--ust-y);
  max-width: calc(var(--kap) + 2 * var(--kenar)); margin-inline: auto; padding-inline: var(--kenar);
}
.ust-logo { display: block; padding-block: 9px; }
.ust-logo img { width: auto; height: 26px; }
@media (min-width: 960px) { .ust-logo img { height: 30px; } }
.logo-koyu, .ust-kagit .logo-acik { display: none; }
.ust-kagit .logo-koyu { display: block; }
.ust-menu { display: none; }
.menu-ac {
  margin-left: auto; display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px;
  border: 1.5px solid currentColor; border-radius: 2px; background: none;
  font: 700 1rem/1 var(--sans); text-decoration: none; cursor: pointer;
}
.menu-ac-dugme { display: none; }
.js .menu-ac-dugme { display: inline-flex; }
.js .menu-ac-bag { display: none; }
@media (min-width: 1280px) {
  .menu-ac, .js .menu-ac-dugme { display: none; }
  .ust-menu { display: flex; align-items: center; gap: 20px; margin-left: auto; }
  .ust-menu ul { display: flex; gap: 16px; }
  .ust-menu ul a {
    display: block; padding: 14px 0; font: 600 1rem/1 var(--sans); text-decoration: none;
    text-underline-offset: 9px;
  }
  .ust-menu ul a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: currentColor; }
  .ust-yazin { min-height: 44px; padding: 10px 18px; }
}

/* Mobil menü paneli */
.menu-panel {
  position: fixed; inset: 0; z-index: 80; overflow-y: auto;
  display: flex; flex-direction: column; gap: 32px;
  padding: 0 var(--kenar) calc(32px + env(safe-area-inset-bottom));
  background: var(--gece); color: var(--kagit);
}
.menu-panel-ust { display: flex; align-items: center; justify-content: space-between; height: var(--ust-y); }
.menu-panel-ust img { width: auto; height: 26px; }
.menu-kapat {
  min-height: 44px; padding: 0 16px; border: 1.5px solid currentColor; border-radius: 2px; background: none;
  font: 700 1rem/1 var(--sans); cursor: pointer;
}
.menu-panel-liste li { border-bottom: 1px solid rgba(247, 243, 235, .18); }
.menu-panel-liste a {
  display: block; padding: 14px 0 12px; font: 500 2.375rem/1.1 var(--serif); text-decoration: none;
}
.menu-panel-liste a .centik { display: inline-block; width: .32em; height: .6em; margin-right: .3em; fill: var(--kirmizi); vertical-align: .08em; }
.menu-panel-not { margin-top: auto; font-size: 1rem; color: rgba(247, 243, 235, .82); }

/* Alttaki "Başkana Mesaj" çubuğu (mobil, kapaktan sonra) */
.alt-yazin { display: none; }
@media (max-width: 959px) {
  .alt-yazin {
    position: fixed; inset: auto 0 0; z-index: 55;
    display: flex; align-items: center; justify-content: center; gap: 10px;
    min-height: calc(50px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom);
    background: var(--kirmizi-koyu); color: var(--kagit); font: 700 1rem/1 var(--sans); text-decoration: none;
  }
  .alt-yazin .centik { width: 7px; height: 13.2px; fill: currentColor; }
  .alt-yazin:hover { background: var(--kirmizi-basili); text-decoration: none; }
}

/* ---------- 1. Kapak: ebru ---------- */
.kapak {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; min-height: max(640px, 100svh);
  background-color: var(--gece); color: var(--kagit);
}
html:not(.js) .kapak, .ebru-yok .kapak {
  background-image: url(img/ebru-poster.webp); background-size: cover; background-position: 50% 50%;
}
@media (max-aspect-ratio: 4 / 5) {
  html:not(.js) .kapak, .ebru-yok .kapak { background-image: url(img/ebru-poster-dikey.webp); }
}
.kapak-tuval { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; touch-action: pan-y; }
.kapak-ic { align-content: end; row-gap: 40px; padding-block: calc(var(--ust-y) + 20px + min(66vw, 60svh)) 44px; }
/* Boş alana dokunma tuvale ulaşsın (suya damla): kapsayıcılar geçirgen, yazı ve düğmeler değil */
.kapak-ic, .kapak-metin, .kapak-dugmeler, .kapak-not { pointer-events: none; }
.kapak-metin > *:not(.kapak-dugmeler), .kapak-dugmeler > *, .kapak-not > * { pointer-events: auto; }
.kapak-metin { max-width: 36rem; }
.kapak h1, .kapak-giris { width: fit-content; }
.kapak-logo { width: auto; height: 48px; margin-bottom: 26px; }
.kapak h1 {
  font-size: clamp(2.75rem, 1.2rem + 4.4vw, 5.25rem); line-height: 1.02; letter-spacing: -.018em; font-weight: 560;
}
.kapak-giris { margin-top: 22px; max-width: 34em; font-size: 1.0625rem; line-height: 1.55; }
.kapak-giris strong { font-weight: 700; }
.kapak-dugmeler { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.kapak-not { max-width: 22rem; font: italic 400 .9375rem/1.5 var(--serif); color: rgba(247, 243, 235, .8); }
.kapak-not .metin-dugme { margin-top: 2px; font: 600 .9375rem/1 var(--sans); color: var(--kagit); }
@media (min-width: 960px) {
  .kapak-ic { padding-block: calc(var(--ust-y) + 96px) clamp(48px, 7vh, 72px); align-items: end; }
  .kapak-metin { grid-column: 2 / 9; max-width: none; }
  .kapak-logo { height: 60px; margin-bottom: 34px; }
  .kapak h1 { max-width: 12.5em; }
  .kapak-giris { font-size: 1.1875rem; max-width: 30em; }
  .kapak-not { grid-column: 11 / 14; grid-row: 1; align-self: end; justify-self: end; max-width: 19rem; }
}

/* ---------- 2. Kaydırma şeritleri ---------- */
/* Kaydırma şeridi: ana sayfadaki fotoğraf şeridi. Sayfanın kâğıt zemini,
   sağa taşan yatay şerit, oklar, konum çizgisi. İlk kart kapsayıcının sol kenarıyla hizalı; dokunmayla da kayar. */
.kaydir { position: relative; overflow: hidden; color: var(--murekkep); padding-block: clamp(64px, 8vw, 116px) clamp(64px, 7vw, 100px); }
.kaydir-bas, .kaydir-alt { width: 100%; max-width: calc(var(--kap) + 2 * var(--kenar)); margin-inline: auto; padding-inline: var(--kenar); }
.kaydir-bas { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 32px; margin-bottom: 36px; }
.kaydir-bas h2 { font: 700 clamp(2.5rem, 1.5rem + 3.2vw, 4.75rem)/1 var(--dar); letter-spacing: -.012em; color: var(--murekkep); }
.kaydir-arac { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; }
.kaydir .metin-bag { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font: 600 1.0625rem/1.2 var(--dar); color: var(--murekkep); text-underline-offset: 4px; }
.kaydir .metin-bag .dis { width: .7em; height: .7em; }
.kaydir-oklar { display: flex; gap: 6px; }
.kaydir-ok {
  display: grid; place-items: center; width: 48px; height: 48px; padding: 0;
  border: 2px solid var(--lacivert); border-radius: 2px; background: transparent; color: var(--lacivert); cursor: pointer;
  transition: background-color .15s ease, color .15s ease, opacity .15s ease;
}
.kaydir-ok svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.kaydir-ok[aria-disabled="true"] { opacity: .3; cursor: default; }
@media (hover: hover) { .kaydir-ok:not([aria-disabled="true"]):hover { background: var(--lacivert); color: var(--kagit); } }
.kaydir-serit {
  --serit-bas: max(var(--kenar), calc((100% - var(--kap)) / 2));
  overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--serit-bas);
  scrollbar-width: none;
  /* overflow-x auto, dikeyi de auto yapıyor; video adının satır kutusu 3 px taşınca fare şeridin üstündeyken tekerlek
     şeridi dikey kaydırıyordu. Dikey kaydırma kapalı; yazı kırpılmasın diye liste altında pay, konum çizgisi aynı yerde. */
  overflow-y: hidden;
}
.kaydir-serit::-webkit-scrollbar { display: none; }
.kaydir-serit:focus-visible { outline-offset: -3px; }
.kaydir-liste { display: flex; gap: 24px; width: max-content; padding-inline: var(--serit-bas); padding-bottom: 6px; }
.kaydir-konum { position: relative; height: 2px; margin-top: 24px; background: var(--cizgi); }
.kaydir-konum-dolu { position: absolute; top: 0; left: 0; width: 20%; height: 100%; background: var(--lacivert); }
@media (prefers-reduced-motion: reduce) { .kaydir-ok { transition: none; } }
/* Fotoğraflar: yazı ve tarih yok */
.halk-kart { flex: none; width: min(82vw, 500px); scroll-snap-align: start; }
.halk-kart img { display: block; width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; border-radius: 2px; background: var(--gece); }
/* Hemşehriler koyu zeminde: başlık, bağlantı, oklar ve konum çizgisi kâğıt renginde */
.halk { background: var(--lacivert); color: var(--kagit); }
.halk :focus-visible { outline-color: var(--kagit); }
.halk .kaydir-bas h2, .halk .metin-bag { color: var(--kagit); }
/* Görünür başlık yok: bağlantı ve oklar sağda */
.halk .kaydir-arac { margin-left: auto; }
.halk .kaydir-ok { border-color: var(--kagit); color: var(--kagit); }
@media (hover: hover) { .halk .kaydir-ok:not([aria-disabled="true"]):hover { background: var(--kagit); color: var(--lacivert); } }
.halk .kaydir-konum { background: rgba(247, 243, 235, .24); }
.halk .kaydir-konum-dolu { background: var(--kagit); }
/* Videolar (açık zemin): kapak karesi ve oynat düğmesi; tıklayınca video kartın içinde, kendi denetimleriyle oynar */
/* Videolar kaydırmasız, iki satırda. Geniş ekranda üstte 3, altta 4 kart (12 sütun); telefonda ilk kart
   tam genişlik, gerisi iki sütun. Küçük kartlarda oynat düğmesi ve başlık küçülür. */
.video-izgara-kap { width: 100%; max-width: calc(var(--kap) + 2 * var(--kenar)); margin-inline: auto; padding-inline: var(--kenar); }
.video-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; margin: 0; padding: 0; list-style: none; }
.video-kart { min-width: 0; }
.video-izgara > .video-kart:first-child { grid-column: 1 / -1; }
.video-izgara > .video-kart:not(:first-child) .video-dugme { width: 52px; height: 52px; }
.video-izgara > .video-kart:not(:first-child) .video-dugme svg { width: 22px; height: 22px; margin-left: 3px; }
.video-izgara > .video-kart:not(:first-child) .video-ad { font-size: 1.0625rem; }
@media (min-width: 960px) {
  .video-izgara { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 48px 24px; }
  .video-izgara > .video-kart, .video-izgara > .video-kart:first-child { grid-column: span 3; }
  .video-izgara > .video-kart:nth-child(-n + 3) { grid-column: span 4; }
  .video-izgara > .video-kart:nth-child(-n + 3) .video-dugme { width: 68px; height: 68px; }
  .video-izgara > .video-kart:nth-child(-n + 3) .video-dugme svg { width: 26px; height: 26px; margin-left: 4px; }
  .video-izgara > .video-kart:nth-child(-n + 3) .video-ad { font-size: 1.25rem; }
  .video-izgara > .video-kart:nth-child(n + 4) .video-dugme { width: 56px; height: 56px; }
  .video-izgara > .video-kart:nth-child(n + 4) .video-ad { font-size: 1.0625rem; }
}
.video-cerceve { position: relative; margin: 0; }
/* 16:9 kutu: yerel videoyu ya da tıklayınca gelen YouTube oynatıcısını taşır; kapak ve oynat düğmesi üstünde durur */
.video-kutu { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 2px; background: var(--gece); }
.video, .video-iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; background: var(--gece); }
.video-oynat { position: absolute; inset: 0; display: block; padding: 0; border: 0; background: var(--gece); cursor: pointer; }
html:not(.js) button.video-oynat, .video-cerceve.oynuyor .video-oynat { display: none; }
.video-kapak { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.video-dugme {
  position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: 76px; height: 76px; border-radius: 50%;
  background: var(--kirmizi); color: #fff; translate: -50% -50%; box-shadow: 0 10px 28px -10px rgba(10, 14, 48, .7); transition: transform .2s ease;
}
.video-dugme svg { width: 30px; height: 30px; margin-left: 4px; }
@media (hover: hover) { .video-oynat:hover .video-dugme { transform: scale(1.07); } .video-oynat:hover .video-kapak { transform: scale(1.02); } }
.video-oynat:focus-visible { outline: 3px solid var(--kagit); outline-offset: -6px; }
.video-yazi { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 14px; margin-top: 14px; }
.video-ad { font: 600 1.375rem/1.2 var(--serif); }
@media (prefers-reduced-motion: reduce) { .video-dugme, .video-kapak { transition: none; } }


/* ---------- 3. Rakamlarla ---------- */
.rakamlar { padding-block: clamp(40px, 4.5vw, 64px) clamp(56px, 6vw, 88px); }
.agac { position: relative; }
.agac-kap { position: relative; width: 100%; max-width: 560px; margin-inline: auto; }
.agac-png { position: absolute; inset: 0; width: 100%; height: 100%; }  /* yalnız JS yokken (noscript) */
.agac-tuval, .agac-ust { position: absolute; inset: 0; width: 100%; height: 100%; }
.agac-ust { overflow: visible; pointer-events: none; --ters: 1.6; }
.agac-ilce { --ilce-renk: var(--sis); --ilce-kalin: 1px; }
.park-kare { fill: none; stroke: var(--lacivert); stroke-width: 1px; vector-effect: non-scaling-stroke; }
.park-yazi { fill: var(--lacivert); }
.park-ad { font: italic 500 calc(15px * var(--ters)) var(--serif); }
.park-alan { font: 800 calc(24px * var(--ters)) var(--cok-dar); }
.agac figcaption { margin-top: 18px; max-width: 30em; font: italic 400 1rem/1.5 var(--serif); color: var(--metin-2); }
.agac-yok figcaption { margin-top: 0; }
.agac-mercek {
  position: absolute; left: 0; top: 0; width: 120px; height: 120px; pointer-events: none; z-index: 2;
  border-radius: 50%; background: var(--kagit-acik); box-shadow: 0 0 0 1px var(--lacivert), 0 0 0 5px var(--kagit-acik);
}
.agac-mercek canvas { width: 120px; height: 120px; border-radius: 50%; }
.agac-mercek span {
  position: absolute; left: 50%; top: calc(100% + 10px); transform: translateX(-50%); white-space: nowrap;
  font: italic 500 .875rem/1 var(--serif); color: var(--lacivert); background: var(--kagit); padding: 3px 6px;
}
.mercekli { cursor: none; }
.rakam-sutun { margin-top: 56px; }
.rakam-sutun h2 { font-size: var(--h2); line-height: 1.04; letter-spacing: -.012em; }
.rakam-liste {
  display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 18px;
  margin-top: 26px; border-top: 2px solid var(--murekkep);
}
.rakam {
  display: grid; grid-column: 1 / -1; grid-template-columns: subgrid; align-items: end;
  padding: 18px 0 14px; border-bottom: 1px solid var(--cizgi);
}
.rakam dt {
  font: 800 var(--dev)/.82 var(--cok-dar); color: var(--lacivert); letter-spacing: -.005em;
  font-variant-numeric: tabular-nums lining-nums; white-space: nowrap;
}
.rakam-ek { font-size: .34em; letter-spacing: .005em; }
.rakam dd { padding-bottom: .3em; font: 400 1rem/1.35 var(--serif); color: var(--metin-2); }
.rakam dd b { display: block; font: 600 1.375rem/1.2 var(--serif); color: var(--murekkep); }
.rakam-sutun .kaynak { margin-top: 18px; max-width: 32em; }
@media (min-width: 720px) {
  .rakam dd b { font-size: 1.5rem; }
}
@media (min-width: 960px) {
  .rakamlar-ic { align-items: start; }
  .agac { grid-column: 2 / 8; grid-row: 1; }
  .agac-kap { max-width: none; }
  .rakam-sutun { grid-column: 8 / 14; grid-row: 1; margin-top: 0; padding-top: 8px; }
}
@media (min-width: 1280px) {
  .rakam-sutun { grid-column: 9 / 14; }
}

/* ---------- 4. Projeler ---------- */
.projeler { padding-block: clamp(64px, 7vw, 104px) clamp(80px, 9vw, 128px); }
.projeler-bas h2 { font-size: var(--h2); line-height: 1.04; letter-spacing: -.012em; }
.yayilim { grid-column: tam-bas / tam-son; display: grid; grid-template-columns: subgrid; margin-top: 56px; }
.yayilim-foto { grid-column: tam-bas / tam-son; }
.yayilim-foto img, .yayilim-foto .bekliyor { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.yayilim-metin { grid-column: ic-bas / ic-son; margin-top: 22px; }
.yayilim-durum { display: flex; align-items: center; gap: 9px; font: 600 .9375rem/1.2 var(--sans); color: var(--metin-2); }
.yayilim-durum .centik { width: 8px; height: 15px; }
.yayilim h3 { margin-top: 12px; font-size: clamp(1.875rem, 1.4rem + 1.4vw, 2.625rem); line-height: 1.08; letter-spacing: -.01em; }
.yayilim h3 a { text-decoration: none; }
.yayilim h3 a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--lacivert); }
.yayilim-ozet { margin-top: 14px; color: var(--metin-2); max-width: 32em; }
.yayilim-rakam { display: flex; flex-wrap: wrap; gap: 14px 36px; margin-top: 26px; }
.yayilim-rakam dt { font: 800 clamp(3rem, 2.2rem + 2.2vw, 4.25rem)/.84 var(--cok-dar); color: var(--lacivert); white-space: nowrap; }
.yayilim-rakam dd { margin-top: 6px; font: italic 400 .9375rem/1.3 var(--serif); color: var(--metin-2); }
.yayilim-alt {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 22px; margin-top: 24px; padding-top: 14px;
  border-top: 1px solid var(--cizgi); font-size: .9375rem;
}
.yayilim-tarih { font-variant-numeric: tabular-nums; color: var(--metin-2); }
.yayilim-alt .dis-bag { display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 960px) {
  .yayilim { margin-top: 72px; align-items: end; }
  .yayilim + .yayilim { margin-top: clamp(88px, 9vw, 136px); }
  .yayilim-sol .yayilim-foto { grid-column: tam-bas / 9; }
  .yayilim-sol .yayilim-metin { grid-column: 9 / 14; margin-top: 0; padding-bottom: 6px; }
  .yayilim-sag .yayilim-foto { grid-column: 8 / tam-son; grid-row: 1; }
  .yayilim-sag .yayilim-foto img { aspect-ratio: 16 / 9.4; }
  .yayilim-sag .yayilim-metin { grid-column: 2 / 7; grid-row: 1; margin-top: 0; padding-bottom: 6px; }
}
@media (min-width: 1280px) {
  .yayilim-sol .yayilim-foto { grid-column: tam-bas / 10; }
  .yayilim-sol .yayilim-metin { grid-column: 10 / 14; }
  .yayilim-sag .yayilim-foto { grid-column: 7 / tam-son; }
  .yayilim-sag .yayilim-metin { grid-column: 2 / 6; }
}

/* Defter */
.defter-kap { margin-top: clamp(80px, 9vw, 128px); }
.suzgec { display: none; }
.js .suzgec {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0 22px; padding-bottom: 10px;
  border-bottom: 2px solid var(--murekkep);
}
.suz {
  display: inline-flex; align-items: center; gap: 7px; min-height: 44px; padding: 0; border: 0; background: none;
  font: 600 1rem/1 var(--sans); color: var(--metin-2); cursor: pointer; text-underline-offset: .3em;
}
.suz .centik { width: 7px; height: 13.2px; visibility: hidden; }
.suz:hover { color: var(--lacivert); text-decoration: underline; text-decoration-thickness: 2px; }
.suz[aria-pressed="true"] { color: var(--murekkep); }
.suz[aria-pressed="true"] .centik { visibility: visible; }
.suz-ara { width: 1px; height: 20px; background: var(--cizgi); }
@media (max-width: 719px) { .suz-ara { flex-basis: 100%; height: 0; background: none; } }  /* dar ekranda durum ve tema düğmeleri ayrı satırlarda */
html:not(.js) .defter-liste { border-top: 2px solid var(--murekkep); }
.satir {
  position: relative; display: grid; align-items: start; column-gap: 12px;
  grid-template-columns: 72px 9px minmax(0, 1fr) auto;
  grid-template-areas: "foto centik ad kaynak" "foto . bilgi kaynak";
  padding: 14px 0; border-bottom: 1px solid var(--cizgi);
}
.satir-foto { grid-area: foto; width: 72px; height: 48px; object-fit: cover; }
.satir-foto-yok { display: grid; place-items: center; background: var(--kagit-koyu); }
.satir-foto-yok .kalp { width: 22px; height: 20px; color: var(--sis); }
.satir-centik { grid-area: centik; width: 9px; height: 17px; margin-top: 3px; }
.satir-ad {
  grid-area: ad; font: 700 1.1875rem/1.2 var(--dar); letter-spacing: .005em; text-decoration: none;
}
.satir-ad::after { content: ""; position: absolute; inset: 0; z-index: 0; }
.satir-ad:hover { text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--lacivert); }
.satir-ad:focus-visible { outline: none; }
.satir-ad:focus-visible::after { outline: 2px solid var(--lacivert); outline-offset: 2px; }
.satir-bilgi { grid-area: bilgi; display: flex; flex-wrap: wrap; gap: 0 12px; margin-top: 4px; font-size: .875rem; color: var(--soluk); }
.satir-tema { display: none; }
.satir-yer-bos { display: none; }  /* yeri olmayan kayıtta dar görünümde boş hücre ve ayraç hiç yazılmaz */
.satir-tarih { font-variant-numeric: tabular-nums; }
.satir-kaynak {
  grid-area: kaynak; position: relative; z-index: 1; align-self: center;
  display: inline-flex; align-items: center; min-height: 44px; padding-inline: 8px 0; font-size: .9375rem;
}
.satir-oneri { grid-template-columns: 9px minmax(0, 1fr); grid-template-areas: "centik ad" ". not"; padding-block: 18px 20px; }
.satir-oneri .satir-ad { font: 600 1.375rem/1.2 var(--serif); }
.defter-son { margin-top: 36px; }
.defter-bos { padding: 14px 0; border-bottom: 1px solid var(--cizgi); color: var(--metin-2); }
.onizleme { display: none; }
@media (min-width: 960px) {
  .satir { grid-template-columns: 10px minmax(0, 1fr) auto; grid-template-areas: "centik ad kaynak" ". bilgi kaynak"; column-gap: 16px; }
  .satir-foto { display: none; }
  .satir-centik { width: 10px; height: 19px; }
  .satir-ad { font-size: 1.3125rem; }
  .satir-bilgi { font-size: .9375rem; }
  .satir-oneri { grid-template-columns: 10px minmax(0, 1fr); grid-template-areas: "centik ad"; }
  .defter { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); column-gap: 24px; }
  .onizleme { display: block; position: sticky; top: calc(var(--ust-y) + 28px); align-self: start; padding-top: 16px; }
}
@media (min-width: 1280px) {
  .satir {
    grid-template-columns: 10px minmax(0, 1fr) minmax(0, 150px) minmax(0, 118px) minmax(0, 186px) auto;
    grid-template-areas: none; align-items: baseline; column-gap: 18px; padding: 15px 0 14px;
  }
  .satir-centik { grid-area: auto; align-self: start; margin-top: 4px; }
  .satir-ad { grid-area: auto; }
  .satir-bilgi { display: contents; }
  .satir-yer, .satir-tarih, .satir-tema { display: block; font-size: .9375rem; color: var(--metin-2); }
  .satir-yer-bos { display: block; }
  .satir-yer-bos::before { content: "\2014" / ""; }  /* tablo sütunu boş kalmasın; alternatif metin boş: ekran okuyucu tire okumaz */
  .satir-kaynak { grid-area: auto; align-self: baseline; min-height: 0; padding: 12px 0; margin: -12px 0; }
  .satir-oneri { grid-template-columns: 10px minmax(0, 1fr); grid-template-areas: none; }
}
.oniz-foto { aspect-ratio: 3 / 2; overflow: hidden; background: var(--kagit-koyu); }
.oniz-foto img { width: 100%; height: 100%; object-fit: cover; }
.oniz-foto .bekliyor { height: 100%; aspect-ratio: auto; }
.oniz-ad { margin-top: 16px; font: 600 1.375rem/1.2 var(--serif); }

::view-transition-group(*) { animation-duration: 260ms; animation-timing-function: cubic-bezier(.3, .7, .3, 1); }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 160ms; }

/* ---------- 5. Söz: ince bant. Masaüstünde şerit bandın üst kenarı olur. ---------- */
.soz { padding-block: clamp(56px, 6vw, 72px) clamp(64px, 7vw, 96px); }
.soz h2 { font-size: var(--h2); line-height: 1.04; letter-spacing: -.012em; }
/* Söz listesi: Tamamlandı ve Sürüyor grupları; her satır kitabın ilgili broşür sayfasını açar */
.soz-gruplar { display: grid; gap: 40px; margin-top: 36px; }
.soz-grup-ad { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 2px solid var(--murekkep);
  font: 700 1rem/1.2 var(--sans); }
.soz-grup-ad .centik { width: 10px; height: 19px; }
.soz-liste { margin: 0; padding: 0; list-style: none; }
.soz-satir {
  display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; column-gap: 14px;
  min-height: 52px; padding-block: 12px; border-bottom: 1px solid var(--cizgi); color: var(--murekkep); text-decoration: none;
}
.soz-satir .centik { width: 10px; height: 19px; }
.soz-ad { font: 600 1.1875rem/1.25 var(--serif); }
.soz-simge, .soz-satir .dis { width: 16px; height: 16px; color: var(--lacivert); }
a.soz-satir { cursor: pointer; }
a.soz-satir:hover .soz-ad { text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--lacivert); text-underline-offset: .2em; }
a.soz-satir:focus-visible { outline: 2px solid var(--murekkep); outline-offset: 2px; }
@media (min-width: 720px) {
  .soz-grup-tamamlandi .soz-liste { columns: 2; column-gap: 32px; }
  .soz-liste li { break-inside: avoid; }
}
@media (min-width: 960px) {
  .soz h2 { grid-column: 2 / 14; }
  .soz-gruplar { grid-column: 2 / 13; }   /* sağdaki sabit sosyal medya çubuğu son sütunun simgelerini örtmesin */
  .soz-gruplar { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); column-gap: 48px; align-items: start; }
  .soz-grup-devam .soz-liste { columns: 1; }
}

/* ---------- 6. Mahallem ---------- */
.mahallem { background: var(--kagit-koyu); padding-block: clamp(72px, 8vw, 112px) clamp(48px, 6vw, 80px); }
.mahallem h2 { font-size: var(--h2); line-height: 1.04; letter-spacing: -.012em; }
.mahallem-giris { margin-top: 14px; max-width: 30em; color: var(--metin-2); }
.mahalle-secim { display: flex; align-items: center; gap: 14px; margin-top: 26px; }
.mahalle-secim label { font: 600 .9375rem/1 var(--sans); }
.mahalle-secim select {
  -webkit-appearance: none; appearance: none; min-height: 44px; min-width: 13rem; padding: 8px 44px 8px 14px;
  border: 1.5px solid var(--lacivert); border-radius: 2px; color: var(--murekkep); cursor: pointer;
  font: 600 1rem/1.2 var(--sans);
  background: var(--kagit-acik) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.2 6 6.6 11 1.2' fill='none' stroke='%23232E83' stroke-width='1.6'/%3E%3C/svg%3E") right 14px center / 12px 8px no-repeat;
}
.mahalle-paneller { margin-top: 30px; border-top: 2px solid var(--murekkep); }
.mp { padding-top: 22px; }
.mp-gelis { animation: mp-gelis 150ms ease-out; }
@keyframes mp-gelis { from { opacity: 0; } }
.mp-ad { scroll-margin-top: calc(var(--ust-y) + 12px); font-size: clamp(2.125rem, 1.6rem + 1.6vw, 3rem); line-height: 1.02; letter-spacing: -.012em; }
.mp-isler { margin-top: 20px; }
.mp-is {
  display: grid; grid-template-columns: 9px minmax(0, 1fr); column-gap: 12px; padding: 12px 0 13px;
  border-top: 1px solid var(--cizgi);
}
.mp-is .centik { grid-row: 1 / span 2; width: 9px; height: 17px; margin-top: 3px; }
.mp-is-bas { font: 700 1.1875rem/1.25 var(--dar); }
.mp-tarih { margin-left: 6px; font: 500 .875rem/1 var(--sans); color: var(--soluk); font-variant-numeric: tabular-nums; white-space: nowrap; }
.mp-metin { grid-column: 2; margin-top: 3px; font-size: .9375rem; line-height: 1.5; color: var(--metin-2); }
.mp-ziyaret { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--cizgi); font: italic 400 1.0625rem/1.5 var(--serif); }
.mp-ziyaret span { font: 600 .875rem/1 var(--sans); font-style: normal; margin-right: 4px; }
.mp-foto { position: relative; margin-top: 20px; }
.mp-foto + .mp-foto { margin-top: 12px; }
.mp-foto img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
/* Proje görseli (mimari çizim): kendi oranıyla, kırpılmadan; gerçek fotoğraf sanılmasın diye üstte etiket
   (Öncesi / Sonrası etiketiyle aynı dil: kare köşe, mürekkep zemin) */
.mp-foto-proje img { aspect-ratio: auto; height: auto; }
.mp-proje-etiket { position: absolute; left: 12px; top: 12px; padding: 6px 10px; border-radius: 2px; background: var(--murekkep); color: var(--kagit); font: 700 .8125rem/1 var(--sans); letter-spacing: .02em; pointer-events: none; }
/* Mahalle galerisi: her işin metninin altında o işin ilk fotoğrafları yan yana tek sıra (en çok is_basina).
   3 eşit sütun: 1 ya da 2 fotoğrafta da kare genişliği aynı kalır, sola yaslı. Kare 1200'lük görsele bağlantıdır;
   JS varken tam ekran görüntüleyici açılır. Çizgi, köşe ve renkler panelin kendi dili. */
.mg { grid-column: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.mg-kare { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--kagit); border-radius: 2px; }
.mg-kare img { display: block; width: 100%; height: 100%; object-fit: cover; transition: opacity 120ms ease-out; }
.mg-kare:hover img { opacity: .82; }
.mg-etiket { position: absolute; left: 6px; top: 6px; padding: 3px 6px; border-radius: 2px; background: var(--murekkep); color: var(--kagit); font: 700 .6875rem/1 var(--sans); letter-spacing: .02em; pointer-events: none; }
.mg-ok {
  display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1.5px solid var(--lacivert); border-radius: 2px;
  background: var(--kagit-acik); color: var(--lacivert); cursor: pointer;
}
.mg-ok svg { width: 11px; height: 17px; }
.mg-ok:hover { background: var(--lacivert); color: var(--kagit); }
@media (prefers-reduced-motion: reduce) { .mg-kare img { transition: none; } }
/* Tam ekran görüntüleyici (sayfada tek <dialog>): mürekkep zemin, üstte iş adı + sayaç ve düğmeler, altta fotoğrafın tamamı */
.mgv-acik, .mgv-acik body { overflow: hidden; }
.mgv { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: var(--murekkep); color: var(--kagit); }
.mgv[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.mgv-ust { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px var(--kenar); border-bottom: 1px solid rgba(247, 243, 235, .22); }
.mgv-yazi { min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; font: 700 1.0625rem/1.25 var(--dar); }
.mgv-sayac { font: 600 .9375rem/1 var(--sans); font-variant-numeric: tabular-nums; color: var(--sis); }
.mgv-etiket { position: static; align-self: center; background: var(--kagit); color: var(--murekkep); }
.mgv-etiket[hidden] { display: none; }
.mgv-oklar { display: flex; flex: none; gap: 8px; }
.mgv-dugme { background: transparent; border-color: var(--kagit); color: var(--kagit); }
.mgv-dugme:hover { background: var(--kagit); color: var(--murekkep); }
.mgv-dugme[hidden] { display: none; }
.mgv :focus-visible { outline-color: var(--kagit); }
.mgv-sahne { position: relative; min-height: 0; touch-action: pan-y; }
.mgv-gorsel { position: absolute; left: var(--kenar); right: var(--kenar); top: 12px; bottom: 16px; width: calc(100% - 2 * var(--kenar)); height: calc(100% - 28px); object-fit: contain; -webkit-user-drag: none; }
.mp-bos { margin-top: 16px; max-width: 26em; font: 400 1.125rem/1.55 var(--serif); }
.mp-baglar { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 26px; margin-top: 18px; }
.mp-baglar .metin-bag { display: inline-flex; align-items: center; min-height: 44px; }
html:not(.js) .mp[hidden] { display: block !important; margin-top: 28px; }
/* Mobilde sıra: başlık, seçim kutusu, harita, panel (plan 6.6) */
.mahallem-yan { display: contents; }
.mahallem-yan > * { grid-column: ic-bas / ic-son; }
.harita-kap { grid-column: tam-bas / tam-son; grid-row: 4; margin-top: 26px; }
.mahalle-paneller { grid-row: 5; }
.harita { display: block; width: 100%; height: auto; overflow: visible; --ters: 2.6; }
.mahalle {
  fill: var(--kagit-acik); stroke: var(--lacivert); stroke-width: .75px; vector-effect: non-scaling-stroke;
  cursor: pointer; outline: none; transition: fill 200ms ease-out;
}
.mahalle:hover { fill: var(--gok); }
.mahalle.secili, .mahalle.secili:hover { fill: var(--lacivert); }
.ilce {
  fill: none; stroke: var(--ilce-renk, var(--lacivert)); stroke-width: var(--ilce-kalin, 1.5px);
  vector-effect: non-scaling-stroke; pointer-events: none; stroke-linejoin: round;
}
.dere {
  fill: none; stroke: var(--lacivert-acik); stroke-width: 3px; vector-effect: non-scaling-stroke;
  stroke-linecap: round; stroke-linejoin: round; pointer-events: none;
}
.dere-yazi-yolu { fill: none; stroke: none; }
.dere-ad {
  font: italic 500 calc(14px * var(--ters)) var(--serif); fill: var(--lacivert-acik); letter-spacing: .02em;
  paint-order: stroke; stroke: var(--kagit-acik); stroke-width: calc(4px * var(--ters)); stroke-linejoin: round;
  pointer-events: none;
}
.etiket { pointer-events: none; }
.etiket-ad {
  /* --etiket-k: harita küçüldükçe (masaüstünde ekrana sığan yapışkan harita, 600 px altı) ad 14 px'ten 11 px'e iner (app.js olcekle) */
  font: 600 calc(14px * var(--ters) * var(--etiket-k, 1)) var(--dar); fill: var(--murekkep); text-anchor: middle; dominant-baseline: middle;
  paint-order: stroke; stroke: var(--kagit-acik); stroke-width: calc(3px * var(--ters) * var(--etiket-k, 1)); stroke-linejoin: round;
}
.etiket.secili .etiket-ad { fill: var(--kagit); stroke: var(--lacivert); font-weight: 700; }
.etiket-nokta { fill: var(--lacivert); }
.etiket.secili .etiket-nokta { fill: var(--kagit); }
.etiket-centik { fill: var(--kirmizi); visibility: hidden; }
.harita-hazir .etiket.secili .etiket-centik { visibility: visible; }
.kilavuz { fill: none; stroke: var(--murekkep); stroke-width: .75px; vector-effect: non-scaling-stroke; }
.odak-halka { display: none; pointer-events: none; fill: none; }
.odak-halka.acik { display: inline; }
.odak-dis { stroke: var(--kagit-acik); stroke-width: 6px; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.odak-ic { stroke: var(--murekkep); stroke-width: 2.5px; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.atif { margin-top: 12px; padding-inline: var(--kenar); font-size: .8125rem; color: var(--soluk); }
.etiket-gizli { visibility: hidden; }
@media (max-width: 719px) {
  /* JS yokken (çakışma hesaplanamaz) küçük mahallelerin adı gizli; JS varken görünürlüğü çakışma belirler */
  html:not(.harita-hazir) .etiket-kucuk:not(.secili) { display: none; }
}
@media (max-width: 639px) {
  .dere-ad { display: none; }
  .etiket-ad { font-size: calc(11px * var(--ters)); stroke-width: calc(2.5px * var(--ters)); }
}
@media (min-width: 960px) {
  .mahallem-ic { align-items: start; }
  .mahallem-yan { display: block; grid-column: 2 / 7; grid-row: 1; }
  /* Harita yapışkan: sol sütunda işler uzadıkça sağda görünür kalır. Harita + atıf satırı ekran yüksekliğine sığar
     (en çok 100vh - üst çubuk - 64 px); oran korunur, gerekirse genişlik küçülür ve sütunda ortalanır. */
  .harita-kap { grid-column: 7 / tam-son; grid-row: 1; margin-top: 0; position: sticky; top: calc(var(--ust-y) + 16px); align-self: start; }
  .harita { width: min(100%, calc((100vh - var(--ust-y) - 60px) * 1000 / 1192)); margin-inline: auto; }   /* 60 px: üst boşluk 16 + atıf satırı ~32 + alt pay 12 */
  .atif { padding-inline: 0; }
  .mahalle-secim select { min-width: 14rem; }
}

/* ---------- 7. Başkan ---------- */
.baskan { padding-block: clamp(88px, 10vw, 152px) clamp(72px, 8vw, 116px); }
.portre { margin-inline: 10px; max-width: 26rem; }
.portre-foto { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; outline: 1px solid var(--murekkep); outline-offset: 10px; }
.baskan-metin { margin-top: 48px; }
.baskan-metin h2 { font-size: var(--h2); line-height: 1.04; letter-spacing: -.012em; }
.ozgecmis { margin-top: 20px; max-width: 33em; font: 400 1.125rem/1.62 var(--serif); }
.kunye { margin-top: 28px; max-width: 33em; border-top: 1px solid var(--murekkep); }
.kunye div { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--cizgi); }
.kunye dt { font: 600 .9375rem/1.5 var(--sans); color: var(--soluk); }
.kunye dd { font-size: 1rem; }
.alinti { margin: 36px 0 0; max-width: 24em; }
.alinti p { font: italic 400 clamp(1.375rem, 1.1rem + .9vw, 1.875rem)/1.38 var(--serif); text-indent: -.42em; color: var(--lacivert); }
.baskan-baglar { display: flex; flex-wrap: wrap; gap: 4px 28px; margin-top: 26px; }
.baskan-baglar .metin-bag { display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 960px) {
  .baskan-ic { align-items: center; }
  .portre { grid-column: 2 / 6; grid-row: 1; margin-inline: 0; max-width: none; }
  .baskan-metin { grid-column: 7 / 14; grid-row: 1; margin-top: 0; }
}

/* ---------- 8. Gündem: css/gundem.css ---------- */

/* ---------- 10. Alt bilgi ---------- */
.alt { background: var(--gece); color: var(--kagit); padding-block: 0 calc(28px + env(safe-area-inset-bottom)); }
.alt-ic { row-gap: 36px; padding-top: 52px; border-top: 1px solid rgba(247, 243, 235, .16); }
.alt-logo { width: auto; height: 34px; }
.alt-kimlik p { margin-top: 14px; max-width: 24em; font-size: 1rem; color: rgba(247, 243, 235, .82); }
.alt-menu ul { display: flex; flex-wrap: wrap; gap: 0 26px; }
.alt-menu a, .alt-sosyal a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; font-weight: 600; text-decoration: none; }
.alt-menu a:hover, .alt-sosyal a:hover, .alt a:hover { text-decoration: underline; text-decoration-color: currentColor; }
.alt-sosyal { display: flex; flex-wrap: wrap; gap: 0 22px; }
.alt-uygulama { margin-top: 8px; font-size: .9375rem; color: rgba(247, 243, 235, .82); }
/* Cümle içindeki bağlantılar satır akışını bozmadan 44 px yüksekliğinde dokunulur (iç boşluk, düzeni değiştirmeyen satır içi kutu) */
.alt-uygulama a, .belediye a { padding: 14px 4px; margin-inline: -4px; }
/* Mağaza adı ve oku tek satırda: dar ekranda "Google Play ↗" bölünmesin, satır bağlantıdan önce kırılır */
.alt-uygulama a { color: var(--kagit); font-weight: 600; white-space: nowrap; }
.alt-dip {
  display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; padding-top: 22px;
  border-top: 1px solid rgba(247, 243, 235, .16); font-size: .875rem; color: rgba(247, 243, 235, .78);
}
.belediye { display: flex; align-items: center; gap: 14px; color: var(--kagit); }
.belediye img { width: 40px; height: 40px; flex: none; }
.belediye a { font-weight: 600; }
.alt-yasal { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 22px; }
/* Her öğe aynı 44 px yükseklikte ortalanır: bağlantılı ve bağlantısız satırların taban çizgisi aynı kalır */
.alt-yasal li { display: flex; align-items: center; min-height: 44px; }
.alt-yasal a { display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 960px) {
  .alt-ic { padding-top: 64px; }
  .alt-kimlik { grid-column: 2 / 7; }
  .alt-menu { grid-column: 7 / 10; }
  .alt-menu ul { flex-direction: column; }
  .alt-menu a { min-height: 44px; }
  .alt-baglar { grid-column: 10 / 14; }
  .alt-sosyal { flex-direction: column; }
  .alt-sosyal a { min-height: 44px; }
  .alt-dip { grid-column: 2 / 14; justify-content: space-between; }
}
@media (max-width: 959px) {
  .alt { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
}

/* ---------- Hareket azaltma ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0s !important; animation-duration: 0s !important; animation-iteration-count: 1 !important; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}

/* ================= Yer tutucu, fotoğraf, alt sayfa bandı, yeni bölümler ================= */

/* Yer tutucu: kâğıt zemin, ince çizgi, ortada küçük kalp, köşede küçük etiket */
.bekliyor {
  position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 3 / 2;
  background: var(--kagit); box-shadow: inset 0 0 0 1px var(--cizgi);
}
.bekliyor .kalp, .sy-bos .kalp { width: clamp(26px, 14%, 40px); height: auto; aspect-ratio: 61.29 / 54.99; color: var(--soluk); opacity: .7; overflow: visible; }
.bekliyor-etiket { position: absolute; left: 12px; bottom: 10px; font: 500 .75rem/1.2 var(--sans); color: var(--soluk); }
.bekliyor-video { aspect-ratio: 16 / 9; }
.bekliyor-not { aspect-ratio: auto; min-height: 96px; }

/* Vatandaşla fotoğraf ve altındaki yazı */
.kare-foto img { width: 100%; height: auto; }

/* Alt sayfa başı: ebru bandı. Üst bilgi bandın üstünde durur; bant onun yüksekliği kadar üst boşluk bırakır. */
.sayfa-bandi {
  position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end;
  min-height: calc(var(--ust-y) + 240px); background-color: var(--gece); color: var(--kagit);
}
html:not(.js) .sayfa-bandi, .ebru-yok .sayfa-bandi {
  background-image: url(img/ebru-poster.webp); background-size: cover; background-position: 50% 50%;
}
.sayfa-bandi-tuval { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; touch-action: pan-y; }
.sayfa-bandi-ic { padding-top: var(--ust-y); padding-bottom: clamp(24px, 3.4vw, 40px); pointer-events: none; }
.sayfa-bandi-metin > * { pointer-events: auto; }
.sayfa-bandi h1 {
  width: fit-content; max-width: 100%; font-size: clamp(2.5rem, 1.4rem + 3.6vw, 4.5rem); line-height: 1.04;
  letter-spacing: -.018em; font-weight: 560;
}
.sayfa-bandi-alt { margin-top: 10px; width: fit-content; max-width: 34em; font: italic 400 1.125rem/1.4 var(--serif); color: rgba(247, 243, 235, .86); }
@media (min-width: 960px) { .sayfa-bandi { min-height: calc(var(--ust-y) + 320px); } }

/* Ortak bölüm başlığı ölçüsü */
.kitapciklar h2, .bebek h2, .sosyal h2, .yolculuk h2 {
  font-size: var(--h2); line-height: 1.04; letter-spacing: -.012em;
}

/* Kitapçık: Neler yaptık? Bölümde yerinde kitap (ks-*, css/kitapcik.css); JS yoksa müşterinin kapağıyla statik kitap maketi */
.kitapciklar { padding-block: clamp(88px, 10vw, 144px) clamp(96px, 11vw, 152px); }
/* Sahne: yerinde kitap kapsayıcının genişliğine göre çift ya da tek sayfa olur (betik 640 px eşiğini okur) */
.kitap-sahne { container-type: inline-size; min-width: 0; margin-top: 40px; }
.kitap-sahne.ks-hazir > .kitap-raf { display: none; }
.kitap-raf { display: flex; flex-wrap: wrap; justify-content: center; gap: 56px clamp(40px, 7vw, 104px); margin: 0; padding: 0; list-style: none; }
/* --oran: kapak en/boy (üretici yazar, kare olmayan kitapta); yükseklik bütün kitaplarda aynı (yatay Neler Değişti?) */
.kitap { width: min(78%, calc(var(--kitap-y, 240px) * var(--oran, 1))); }
@media (min-width: 720px) { .kitap { width: calc(var(--kitap-y, 240px) * var(--oran, 1)); } }
.kitap-govde { display: block; position: relative; aspect-ratio: var(--oran, 1); perspective: 1000px; }
.kitap-ad { display: block; margin: 22px 0 0; font: 700 1rem/1.3 var(--sans); text-align: center; }
.kitap-yil { display: block; margin-top: 2px; font-weight: 500; font-size: .9375rem; opacity: .82; }
/* Maket: masadaki broşürün yüzeye düşen gölgesi ve kapaktaki hafif ışık */
.kitap-govde::after {
  content: ""; position: absolute; left: 4%; right: -6%; bottom: -16px; z-index: -1; height: 30px;
  background: radial-gradient(closest-side, rgba(20, 27, 85, .32), transparent); filter: blur(3px);
}
.kitap-kapak::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(105deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, 0) 34%, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, .07));
}
.kitap-sayfalar {
  position: absolute; inset: 5px -8px -4px 6px; background: var(--kagit-acik);
  background-image: repeating-linear-gradient(90deg, transparent 0 2px, rgba(26, 31, 69, .09) 2px 3px);
  box-shadow: 0 0 0 1px var(--cizgi), 7px 12px 22px -12px rgba(20, 27, 85, .5);
}
.kitap-kapak {
  position: absolute; inset: 0; display: block; transform-origin: 0 50%; transition: transform 340ms ease-out;
  background-color: var(--gece); box-shadow: 1px 0 0 rgba(20, 27, 85, .5);
}
.kitap-kapak-gorsel { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.kitap-sirt {
  position: absolute; inset: 0 auto 0 0; width: 13px;
  background: linear-gradient(90deg, rgba(10, 14, 48, .6), rgba(10, 14, 48, .1) 60%, rgba(247, 243, 235, .16) 78%, rgba(10, 14, 48, .28));
  box-shadow: inset -1px 0 0 rgba(247, 243, 235, .18);
}
.kitap-ac { display: block; width: 100%; color: inherit; text-decoration: none; }
a.kitap-ac:hover .kitap-ad > :first-child, a.kitap-ac:hover .kitap-ad { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; }
a.kitap-ac:hover .kitap-yil { text-decoration: none; }
/* "Büyüt" düğmesi (yerinde kitabın altında, JS ekler): kare köşeli, hap değil */
.kitap-dugme {
  --dg: var(--lacivert); --ters: var(--kagit-koyu);
  display: inline-flex; align-items: center; justify-content: center; margin-top: 26px; min-height: 48px; padding: 0 22px;
  border: 2px solid var(--dg); border-radius: 2px; background: transparent; color: var(--dg); font: 700 1rem/1 var(--sans); cursor: pointer;
}
.kitap-dugme:hover { background: var(--dg); color: var(--ters); }
html:not(.js) .kitap-dugme { display: none; }
@media (hover: hover) { .kitap:hover .kitap-kapak { transform: rotateY(-17deg); } }
@media (min-width: 960px) {
  /* Sol: başlık, giriş, bağlantı. Sağ: yerinde kitap ve denetimleri */
  .kitapciklar-ic { align-items: center; }
  .kitapciklar-bas { grid-column: 2 / 6; grid-row: 1; align-self: center; }
  .kitap-sahne { grid-column: 6 / 14; grid-row: 1; margin-top: 0; }
}
.kitapciklar-proje { background: var(--kagit-koyu); }
/* Projeler sayfası yalnız kitaplar: başlık üstte, kitaplar tam genişlikte, büyük (yükseklik 320 px) ve 2x2;
   raf genişliği iki kitaptan fazlasına yetmez, üçüncü kitap alt satıra iner */
@media (min-width: 720px) { .kitapciklar-proje { --kitap-y: 320px; } }
@media (min-width: 960px) {
  .kitapciklar-proje .kitapciklar-bas { grid-column: 2 / 14; grid-row: 1; }
  .kitapciklar-proje .kitap-sahne { grid-column: 2 / 14; grid-row: 2; margin-top: 56px; }
}
.kitapciklar-proje .kitap-raf { max-width: 920px; margin-inline: auto; row-gap: 64px; }
/* Ana sayfada projeler koyu zeminde (projeler sayfasının bölümü de id="projeler": kurallar .kitapciklar ile sınırlı): kâğıt sayfa kenarları kitabı zeminden ayırır */
#projeler.kitapciklar { background: var(--gece); color: var(--kagit); }
#projeler.kitapciklar :focus-visible { outline-color: var(--kagit); }
#projeler.kitapciklar .metin-bag { color: var(--kagit); }
/* Solda Kalbimiz Kâğıthane logosu (beyaz sürüm) ve giriş cümlesi; görünür "Projeler" başlığı yok
   (başlık yalnız ekran okuyucuda, bölümün adı) */
.kitapciklar-logo { display: block; width: clamp(160px, 16vw, 230px); height: auto; margin-bottom: clamp(20px, 2.2vw, 30px); }
.kitapciklar-giris { max-width: 17em; font: 400 clamp(1.25rem, 1.02rem + .7vw, 1.625rem)/1.45 var(--serif); }
#projeler.kitapciklar .kitapciklar-giris { color: rgba(247, 243, 235, .86); }
#projeler.kitapciklar .kitap-dugme, #projeler.kitapciklar .ks, #projeler.kitapciklar .ks-sec { --dg: var(--kagit); --ters: var(--gece); }
#projeler.kitapciklar .kitap-govde::after { background: radial-gradient(closest-side, rgba(0, 0, 0, .55), transparent); }
#projeler.kitapciklar .kitap-sayfalar { box-shadow: 0 0 0 1px var(--cizgi), 7px 12px 22px -12px rgba(0, 0, 0, .7); }

/* Her doğan bebeğe bir ağaç: açık yaprak yeşili zemin, yaprak biçimleri, telefon çerçevesinde dikey video,
   ağaçtaki isim levhasını andıran kart, metinden çıkan dört adım. Yeşil yalnız bu bölümde. */
.bebek {
  --yaprak: #2E6A45; --yaprak-koyu: #1D4630; --yaprak-orta: #A7C597; --yaprak-acik: #E5EEDD;
  overflow: hidden; background: var(--yaprak-acik); color: var(--yaprak-koyu); padding-block: clamp(72px, 9vw, 128px);
}
.bebek :focus-visible { outline-color: var(--yaprak-koyu); }
.bebek-ust {
  display: inline-block; padding: 7px 14px 6px; border-radius: 999px; background: var(--yaprak); color: #fff;
  font: 700 .8125rem/1 var(--sans); letter-spacing: .08em; text-transform: uppercase;
}
.bebek h2 { margin-top: 18px; color: var(--yaprak-koyu); }
.bebek-oz { margin-top: 20px; max-width: 34em; font: 400 1.1875rem/1.65 var(--serif); color: #24402F; }
.bebek-adimlar { counter-reset: adim; display: grid; gap: 10px; margin-top: 32px; }
.bebek-adimlar li {
  counter-increment: adim; position: relative; padding: 16px 18px 15px 64px; border-radius: 18px; background: #fff;
  box-shadow: 0 1px 0 rgba(29, 70, 48, .12);
}
.bebek-adimlar li::before {
  content: counter(adim); position: absolute; left: 16px; top: 15px; display: grid; place-items: center;
  width: 32px; height: 32px; border-radius: 50%; background: var(--yaprak); color: #fff; font: 700 .9375rem/1 var(--sans);
}
.bebek-adimlar b { display: block; font: 700 1.0625rem/1.25 var(--sans); color: var(--yaprak-koyu); }
.bebek-adimlar span { display: block; margin-top: 3px; font: 400 .9375rem/1.4 var(--sans); color: #3B5A47; }
.bebek-gorsel { position: relative; display: grid; place-items: center; min-height: 560px; margin-top: 48px; }
.bebek-yaprak { position: absolute; fill: var(--yaprak-orta); }
.bebek-yaprak-damar { fill: none; stroke: var(--yaprak-acik); stroke-width: 2.4; stroke-linecap: round; }
.bebek-yaprak-1 { left: -2%; top: 0; width: min(46%, 300px); rotate: -28deg; }
.bebek-yaprak-2 { right: -2%; bottom: 2%; width: min(32%, 210px); rotate: 34deg; fill: var(--yaprak); }
.bebek-yaprak-2 .bebek-yaprak-damar { stroke: var(--yaprak-orta); }
.bebek-telefon {
  position: relative; z-index: 1; width: min(60vw, 290px); aspect-ratio: 9 / 16; margin: 0; padding: 10px;
  border-radius: 38px; background: var(--yaprak-koyu); box-shadow: 0 28px 50px -26px rgba(29, 70, 48, .75);
}
.bebek-video { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 29px; background: var(--yaprak-koyu); }
.bebek-video-dugme {
  position: absolute; top: 22px; right: 22px; min-height: 40px; padding: 0 16px;
  border: 0; border-radius: 999px; background: rgba(255, 255, 255, .94); color: var(--yaprak-koyu);
  font: 700 .875rem/1 var(--sans); cursor: pointer;
}
html:not(.js) .bebek-video-dugme { display: none; }
.bebek-video-dugme[data-durum="oynuyor"] .bebek-video-oynat, .bebek-video-dugme[data-durum="duruyor"] .bebek-video-durdur { display: none; }
.bebek-levha {
  position: absolute; z-index: 2; left: 2%; bottom: 10%; display: grid; gap: 5px; width: 186px; padding: 28px 18px 16px;
  border-radius: 14px; background: #fff; color: var(--yaprak-koyu); text-align: center; rotate: -6deg;
  box-shadow: 0 18px 34px -20px rgba(29, 70, 48, .6);
}
.bebek-levha-delik { position: absolute; top: 10px; left: 50%; width: 12px; height: 12px; border-radius: 50%; translate: -50% 0; background: var(--yaprak-acik); box-shadow: inset 0 0 0 2px var(--yaprak-orta); }
.bebek-levha-ust { font: 700 .6875rem/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--yaprak); }
.bebek-levha-ad { font: italic 600 1.25rem/1.2 var(--serif); }
.bebek-levha-alt { margin-top: 3px; padding-top: 7px; border-top: 1px dashed var(--yaprak-orta); font: 500 .75rem/1.2 var(--sans); color: #587262; }
@media (min-width: 560px) { .bebek-adimlar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) {
  .bebek-ic { align-items: center; }
  .bebek-metin { grid-column: 2 / 8; grid-row: 1; }
  .bebek-gorsel { grid-column: 8 / 14; grid-row: 1; min-height: 620px; margin-top: 0; }
  .bebek-telefon { width: 300px; }
}

/* Kısa biyografi: kapağın hemen altında, lacivert zemin. Solda resmî portre, sağda metin; metin bloğu
   fotoğraf kadar yüksek. Başlık Mevlüt Öztekin logosu. */
/* Zemin sırası: kapak koyu → biyografi açık → hemşehriler koyu → videolar açık → projeler koyu →
   bebek açık → gündem koyu → sosyal açık → başkana mesaj ve alt bilgi koyu */
/* Fotoğraf sağda, yazı solda; bölümün tamamı biraz küçüldü (boşluk, fotoğraf, logo, yazı) */
.bio { color: var(--murekkep); padding-block: clamp(56px, 7vw, 96px); }
.bio-foto { margin: 0; max-width: 380px; }
.bio-foto img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 12%; }
.bio-metin { display: flex; flex-direction: column; gap: clamp(26px, 3vw, 40px); margin-top: 36px; }
.bio-logo { margin: 0; line-height: 0; }
.bio-logo img { display: block; width: min(100%, 360px); height: auto; }
.bio-oz { max-width: 26em; font: 400 clamp(1.25rem, .95rem + .85vw, 1.625rem)/1.45 var(--serif); color: var(--murekkep); text-wrap: pretty; }
.bio-duraklar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px 24px; padding-top: 20px; border-top: 1px solid var(--cizgi); }
.bio-duraklar dt { font: 800 clamp(1.5rem, 1.05rem + 1.1vw, 2.125rem)/1 var(--cok-dar); color: var(--lacivert); font-variant-numeric: tabular-nums lining-nums; }
.bio-duraklar dd { margin-top: 8px; font: 500 .9375rem/1.35 var(--sans); color: var(--metin-2); }
.bio-bag {
  display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border: 2px solid var(--lacivert);
  color: var(--lacivert); font: 700 1rem/1 var(--sans); text-decoration: none; transition: background-color .15s, color .15s;
}
.bio-bag:hover { background: var(--lacivert); color: var(--kagit); }
@media (min-width: 960px) {
  .bio-ic { align-items: stretch; }
  .bio-metin { grid-column: 2 / 9; grid-row: 1; justify-content: space-between; margin-top: 0; padding-block: 6px 2px; }
  .bio-foto { grid-column: 10 / 14; grid-row: 1; max-width: none; }
}

/* Sosyal medya kartları: css/sosyal.css */

/* Sağdaki sabit sosyal medya çubuğu (her sayfada; çubuğa yer olmayan ekranda alt bilgideki bağlantılar yeter) */
.sosyal-ray { position: fixed; top: 50%; right: 14px; z-index: 40; display: none; translate: 0 -50%; }
.sosyal-ray ul {
  display: flex; flex-direction: column; gap: 2px; padding: 8px 6px; border-radius: 999px; background: rgba(20, 27, 85, .94);
  box-shadow: 0 0 0 1px rgba(247, 243, 235, .16), 0 12px 30px -14px rgba(10, 14, 48, .7);
}
.sosyal-ray a { position: relative; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: var(--kagit); text-decoration: none; }
.sosyal-ray svg { width: 20px; height: 20px; }
.sosyal-ray a:hover, .sosyal-ray a:focus-visible { background: var(--kirmizi); color: #fff; }
.sosyal-ray a:focus-visible { outline: 2px solid var(--kagit); outline-offset: 2px; }
.sosyal-ray-ad {
  position: absolute; top: 50%; right: calc(100% + 12px); padding: 7px 10px; translate: 0 -50%; border-radius: 3px;
  background: var(--gece); color: var(--kagit); font: 600 .8125rem/1 var(--sans); white-space: nowrap; opacity: 0; pointer-events: none;
  transition: opacity .15s ease;
}
.sosyal-ray a:hover .sosyal-ray-ad, .sosyal-ray a:focus-visible .sosyal-ray-ad { opacity: 1; }
/* Çubuk yalnız içerik sütununun yanında yeri olan genişlikte görünür, sütunun üstüne binmez: çubuk 52 px, sağ boşluk 14 px,
   sütunla arası en az 8 px, yani iki yanda 74 px; --kap 1360 + 2 x 74 = 1508 px. 1536 px eşiği klasik kaydırma çubuğu
   (28 px'e kadar) sayfayı daraltsa da bu boşluğu korur. */
@media (min-width: 1536px) { .sosyal-ray { display: block; } }

/* Başkana Mesaj */
.baskana-yazin { background: var(--gece); color: var(--kagit); padding-block: 0 clamp(88px, 10vw, 136px); }
.baskana-yazin::before {
  content: ""; display: block; height: 12px; margin-bottom: clamp(64px, 8vw, 112px);
  background: var(--gece) url(img/ebru-poster.webp) 0 14% / 3800px auto;
}
.baskana-yazin h2 { font-size: clamp(2.75rem, 1.2rem + 4.8vw, 5.5rem); line-height: 1; letter-spacing: -.02em; font-weight: 560; }
.baskana-yazin-yan { margin-top: 28px; }
.baskana-yazin-yan p { max-width: 24em; font: 400 1.1875rem/1.6 var(--serif); color: rgba(247, 243, 235, .88); }
.baskana-yazin-yan p + p { margin-top: 26px; }
@media (min-width: 960px) {
  .baskana-yazin-ic { align-items: end; }
  .baskana-yazin h2 { grid-column: 2 / 9; grid-row: 1; }
  .baskana-yazin-yan { grid-column: 9 / 14; grid-row: 1; margin-top: 0; padding-bottom: 8px; }
}


/* Biyografi: dikey zaman çizgisi */
.yolculuk { background: var(--kagit-acik); padding-block: clamp(72px, 8vw, 112px) clamp(88px, 10vw, 136px); }
.zaman { --x: 5px; margin-top: 44px; }
.durak {
  --pt: clamp(36px, calc(var(--fark) * 4px + 20px), 76px);   /* 1981–1999 120 → 76 px, 1999–2005 62 → 44 px */
  position: relative; display: grid; grid-template-columns: 26px minmax(0, 1fr); padding-top: var(--pt);
}
.durak:first-child { --pt: 0px; }
.durak::before { content: ""; position: absolute; left: var(--x); top: 0; bottom: 0; width: 1px; background: var(--murekkep); }
.durak:last-child::before { bottom: auto; height: calc(var(--pt) + 17px); }
.durak-centik {
  position: absolute; left: calc(var(--x) - 5px); top: calc(var(--pt) + 8px); width: 10px; height: 19px;
  background: var(--kagit-acik); outline: 5px solid var(--kagit-acik);
}
.durak-yazi { grid-column: 2; }
.durak-yil { display: block; font: 800 2.25rem/1 var(--cok-dar); color: var(--lacivert); font-variant-numeric: tabular-nums lining-nums; overflow-wrap: anywhere; }
.durak-baslik { margin: 10px 0 0; font: 600 1.375rem/1.25 var(--serif); color: var(--murekkep); }
.durak-tarihsiz .durak-baslik { margin-top: 0; padding-top: 4px; }
.durak-olay { margin-top: 8px; max-width: 34em; font: 400 1.125rem/1.6 var(--serif); color: var(--metin-2); }
.durak-foto { grid-column: 2; margin-top: 20px; }
.durak-foto-var { display: grid; gap: 22px; }
.durak-foto-var img { aspect-ratio: 4 / 3; object-fit: cover; }
@media (min-width: 640px) { .durak-foto-var { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: 760px; } }
/* Masaüstü: duraklar arası boşluk yıl farkıyla büyür, sıkıştırılmış ölçekte: duraktan sonraki duraka kadar yükseklik
   = --aralik × 40 px, aralik = 1 + 0,8 × log2(yıl farkı) (18 yıl 174 px, 6 yıl 123 px, 2 yıl 72 px).
   Fotoğraflar boşluğu belirlemez: yan sütunda (sağda), son durakta ise çizginin altında. */
@media (min-width: 960px) {
  .zaman { --x: 204px; --yil: 40px; grid-column: 2 / 14; }
  .yolculuk-ic h2 { grid-column: 2 / 14; }
  .durak, .durak:first-child { --pt: 0px; padding-top: 0; align-content: start; min-height: calc(var(--aralik) * var(--yil) - var(--ayar, 0px)); grid-template-columns: 184px 40px minmax(0, 1fr); }
  .durak:not(:last-child) { padding-bottom: 32px; }
  .durak:last-child { min-height: 0; }
  .durak-yazi { display: contents; }
  .durak-yil { grid-column: 1; grid-row: 1; justify-self: end; text-align: right; font-size: 2.75rem; }
  .durak-baslik { grid-column: 3; grid-row: 1; align-self: center; margin-top: 0; }
  .durak-tarihsiz .durak-baslik { align-self: start; padding-top: 8px; }
  .durak-olay { grid-column: 3; grid-row: 2; margin-top: 8px; }
  .durak-fotolu:not(.durak-simdi) .durak-baslik, .durak-fotolu:not(.durak-simdi) .durak-olay { max-width: calc(100% - 360px); }
  .durak-fotolu:not(.durak-simdi) .durak-foto { position: absolute; top: 0; right: 0; width: 320px; margin-top: 0; z-index: 1; }
  .durak-simdi .durak-foto { grid-column: 3; grid-row: 2; margin-top: 28px; }
  .durak-centik { top: 13px; }
  .durak:last-child::before { height: 22px; }
  .durak-foto-var { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: none; }
  .durak-simdi .durak-foto-var { max-width: 560px; }
  .durak-foto .kare-foto figcaption { margin-top: 6px; gap: 0 8px; font-size: .8125rem; line-height: 1.3; }
  .durak-foto .kare-foto figcaption span { display: block; }
}
.alt-sayfa:empty { min-height: 120px; }

/* Etkin sayfa işareti: alt menü ve mobil menü paneli (masaüstü üst menü kapak.css'te) */
.menu-panel-liste a[aria-current="page"]::before {
  content: ""; display: inline-block; width: .32em; height: .6em; margin-right: .3em; vertical-align: .08em;
  background: var(--kirmizi); clip-path: polygon(0 0, 100% 0, 100% 29%, 0 100%);
}
.menu-panel-liste a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .18em; }
.alt-menu a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .3em; }
.alt-menu a[aria-current="page"]::before {
  content: ""; display: inline-block; width: 7px; height: 13px; margin-right: 8px;
  background: var(--kirmizi); clip-path: polygon(0 0, 100% 0, 100% 29%, 0 100%);
}
.alt .dis { color: currentColor; }

/* Çok dar telefonda (< 360 px) uzun tek kelimeli başlıklar ("kazandırdıklarımız.") ve rakam listesi sığsın. */
@media (max-width: 359px) {
  :root { --h2: 1.75rem; --dev: 3.25rem; }
  .rakam dd { overflow-wrap: break-word; }
}
