/* ==========================================================================
   Mustafa Köksoya — kişisel web sitesi
   Tasarım sistemi: tüm renk / tipografi / boşluk değerleri CSS değişkenleri
   üzerinden yönetilir. Değerleri değiştirmek için yalnızca bu bloğu düzenleyin.
   ========================================================================== */

/* ==========================================================================
   Fontlar yerelden yüklenir (assets/fonts/) — Google Fonts CDN'ine bağımlılık
   yoktur. Böylece sayfa daha hızlı açılır ve KVKK açısından ziyaretçi IP'si
   üçüncü taraf bir sunucuya gönderilmez. latin + latin-ext altkümeleri birlikte
   yüklendiği için tüm Türkçe karakterler (ğ ş İ ı ö ü ç) desteklenir.
   ========================================================================== */
@font-face{
  font-family:'Poppins'; font-style:normal; font-weight:500; font-display:swap;
  src:url('../assets/fonts/poppins-latin-ext-500-normal.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:'Poppins'; font-style:normal; font-weight:500; font-display:swap;
  src:url('../assets/fonts/poppins-latin-500-normal.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:'Poppins'; font-style:normal; font-weight:600; font-display:swap;
  src:url('../assets/fonts/poppins-latin-ext-600-normal.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:'Poppins'; font-style:normal; font-weight:600; font-display:swap;
  src:url('../assets/fonts/poppins-latin-600-normal.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:'Poppins'; font-style:normal; font-weight:700; font-display:swap;
  src:url('../assets/fonts/poppins-latin-ext-700-normal.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:'Poppins'; font-style:normal; font-weight:700; font-display:swap;
  src:url('../assets/fonts/poppins-latin-700-normal.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/fonts/inter-latin-ext-400-normal.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/fonts/inter-latin-400-normal.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/fonts/inter-latin-ext-500-normal.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/fonts/inter-latin-500-normal.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/fonts/inter-latin-ext-600-normal.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/fonts/inter-latin-600-normal.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/fonts/inter-latin-ext-700-normal.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/fonts/inter-latin-700-normal.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;
}

:root{
  /* Renkler */
  --color-bg:            #FFFFFF;
  --color-bg-alt:        #F5F7F8;
  --color-text:          #1D2733;
  --color-text-secondary:#66717D;
  --color-brand:         #08243E;
  --color-brand-strong:  #05192C;
  --color-accent:        #0E763C;
  --color-line:          #E2E7EB;
  --color-on-brand:      #FFFFFF;
  --color-focus:         #08243E;
  /* Koyu footer bölgesi için türetilmiş tonlar (WCAG AA doğrulanmıştır) */
  --color-footer-bg:      #061A2D;  /* koyu lacivert zemin — beyaz metin 17.6:1 */
  --color-accent-on-dark: #22B065;  /* koyu zeminde okunabilir logo yeşili — 5.6:1 */
  --color-on-dark-muted:  #A9B6C4;  /* koyu zeminde ikincil metin — 7.6:1 */

  /* Tipografi */
  --font-display: 'Poppins', 'Segoe UI', -apple-system, sans-serif;  /* büyük ve belirgin başlıklar */
  --font-sans: 'Inter', -apple-system, 'Segoe UI', sans-serif;       /* içerik metinleri, menü, düğmeler */
  --fs-h1: clamp(2.6rem, 1.2vw + 2.3rem, 4rem);      /* ~52–64px masaüstü */
  --fs-h2: clamp(1.9rem, 1vw + 1.5rem, 2.6rem);
  --fs-h3: clamp(1.35rem, .5vw + 1.15rem, 1.7rem);
  --fs-lead: 1.15rem;
  --fs-body: 1rem;
  --fs-small: .875rem;
  --fs-caption: .78rem;
  --lh-heading: 1.2;
  --lh-body: 1.7;

  /* Boşluk / yerleşim */
  --container: 1240px;
  --container-narrow: 800px;
  --radius: 6px;
  --radius-sm: 4px;
  --border: 1px solid var(--color-line);
  --shadow-sm: 0 1px 2px rgba(20,28,38,.05);
  --shadow-md: 0 4px 16px rgba(20,28,38,.06);
  --space-section: clamp(56px, 7vw, 96px);
  --transition: 180ms ease;
}

/* ============ RESET / BASE ============ */
*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
body{
  margin:0;
  background:var(--color-bg);
  color:var(--color-text);
  font-family:var(--font-sans);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img, svg{ max-width:100%; display:block; }
img{ height:auto; }
a{ color:inherit; text-decoration:none; }
ul, ol{ margin:0; padding:0; list-style:none; }
/* Başlık ağırlıkları: büyük başlıklar (h1, h2) Poppins Bold 700 ile daha
   belirgin; kart/blok başlıkları (h3, h4) 600'de kalır ki hiyerarşi bozulmasın. */
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:700; line-height:var(--lh-heading); letter-spacing:-.018em; text-wrap:balance; margin:0; color:var(--color-brand); }
h1{ font-size:var(--fs-h1); font-weight:700; letter-spacing:-.028em; }
h2{ font-size:var(--fs-h2); font-weight:700; }
h3{ font-size:var(--fs-h3); font-weight:600; }
h4{ font-weight:600; }
p{ margin:0; }
button{ font-family:inherit; }

/* Visible, consistent focus ring everywhere (WCAG 2.1 AA) */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible{
  outline:2px solid var(--color-focus);
  outline-offset:2px;
  border-radius:2px;
}

.skip-link{
  position:absolute; left:12px; top:-48px; z-index:100; background:var(--color-brand); color:#fff;
  padding:10px 16px; border-radius:var(--radius-sm); font-size:.9rem; font-weight:600; transition:top var(--transition);
}
.skip-link:focus{ top:12px; }

/* hidden özniteliği HER ZAMAN gizler.
   Bileşen kuralları (ör. mobilde .ecat-toc-list{display:flex}) tarayıcının
   [hidden] varsayılanını ezip gizli ögeleri geri getirebiliyor: özgeçmiş
   sayfasında etkin olmayan belgenin içindekiler listesi mobilde görünüp
   araç çubuğunun üstüne biniyordu. */
[hidden]{ display:none !important; }

.container{ max-width:var(--container); margin:0 auto; padding:0 clamp(20px, 4vw, 48px); }
.container-narrow{ max-width:var(--container-narrow); margin:0 auto; padding:0 clamp(20px, 4vw, 48px); }
.section{ padding:var(--space-section) 0; }
.section-alt{ background:var(--color-bg-alt); }

/* Marka zemini — düz gri yerine logonun lacivert+yeşilinden çok açık,
   ferah bir doku. Beyaz kartlar üzerinde net durur. */
.section-brand{
  position:relative; isolation:isolate;
  background:
    radial-gradient(72% 60% at 6% 0%, rgba(14,118,60,.15), rgba(14,118,60,0) 60%),
    radial-gradient(66% 56% at 100% 100%, rgba(8,36,62,.13), rgba(8,36,62,0) 58%),
    linear-gradient(178deg, #F4F9F6 0%, #EEF3F7 100%);
}
/* İnce üst ve alt marka çizgisi */
.section-brand::before{
  content:""; position:absolute; z-index:-1; inset:0 0 auto; height:3px;
  background:linear-gradient(90deg, var(--color-brand), var(--color-accent) 55%, var(--color-accent-on-dark));
}
.section-border-top{ border-top:var(--border); }
.section-border-bottom{ border-bottom:var(--border); }

.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:clamp(28px,4vw,44px); flex-wrap:wrap; }
.section-head .eyebrow{ margin-bottom:8px; }
.section-head .section-link{ font-size:.92rem; font-weight:600; color:var(--color-brand); white-space:nowrap; border-bottom:1px solid transparent; transition:border-color var(--transition); }
.section-head .section-link:hover{ border-color:var(--color-accent); }

.eyebrow{ display:block; font-family:var(--font-sans); font-weight:600; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; color:var(--color-accent); }
.lead{ font-size:var(--fs-lead); color:var(--color-text-secondary); max-width:62ch; }

/* ============ BUTTONS / LINKS ============ */
.btn{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--font-sans); font-weight:600;
  font-size:.94rem; padding:12px 22px; border-radius:var(--radius-sm); border:1px solid var(--color-brand);
  background:transparent; color:var(--color-brand); cursor:pointer;
  transition:background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition);
}
.btn.btn-primary{ background:var(--color-brand); color:#fff; }
.btn.btn-primary:hover{ background:var(--color-brand-strong); border-color:var(--color-brand-strong); }
.btn.btn-secondary:hover{ background:var(--color-bg-alt); }
.btn.btn-text{ border-color:transparent; padding:12px 4px; }
.btn.btn-text:hover{ color:var(--color-accent); }
.btn svg{ width:15px; height:15px; }
.text-link{ font-weight:600; color:var(--color-brand); border-bottom:1px solid var(--color-line); padding-bottom:1px; transition:border-color var(--transition), color var(--transition); }
.text-link:hover{ border-color:var(--color-accent); color:var(--color-accent); }

/* ============ HEADER ============ */
.site-header{
  position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92); backdrop-filter:blur(8px);
  border-bottom:var(--border); transition:padding var(--transition), box-shadow var(--transition);
}
.site-header.is-condensed{ box-shadow:var(--shadow-sm); }
.site-header .header-row{ display:flex; align-items:center; justify-content:space-between; min-height:88px; gap:24px; transition:min-height var(--transition); }
.site-header.is-condensed .header-row{ min-height:64px; }
.brand{ display:flex; align-items:center; gap:12px; min-width:0; }
.brand img.brand-logo{ height:56px; width:auto; transition:height var(--transition); }
.site-header.is-condensed .brand img.brand-logo{ height:40px; }

.header-right{ display:flex; align-items:center; gap:22px; }
.primary-nav{ display:flex; align-items:center; gap:clamp(14px,1.6vw,28px); }
.primary-nav a{ font-size:.94rem; font-weight:500; color:var(--color-text); position:relative; padding:6px 1px; }
.primary-nav a::after{ content:""; position:absolute; left:0; right:100%; bottom:0; height:2px; background:var(--color-accent); transition:right var(--transition); }
.primary-nav a:hover::after, .primary-nav a[aria-current="page"]::after{ right:0; }
.primary-nav a[aria-current="page"]{ color:var(--color-brand); font-weight:600; }

/* Dil değiştirici: iki durumlu anahtar. Arkada kayan lacivert gösterge var;
   seçili dil beyaz yazıyla öne çıkar. */
/* ---- Dil seçici ----
   Kapalıyken: seçili dilin bayrağı + küçük ok, arama düğmesiyle aynı
   yükseklik ve aynı hover davranışı (kenar yeşile döner).
   Açıkken: dillerin kendi adıyla listelendiği küçük kart.
   Seçili bayrağı CSS seçer (html[lang="xx"]) — JS gerekmez. */
.lang-switch{ position:relative; }
.lang-trigger{
  display:inline-flex; align-items:center; gap:7px;
  height:38px; padding:0 9px 0 6px; border-radius:999px;
  border:var(--border); background:none; cursor:pointer;
  color:var(--color-text-secondary);
  transition:border-color var(--transition), color var(--transition), background var(--transition);
}
.lang-trigger:hover{ border-color:var(--color-accent); color:var(--color-accent); }
.lang-trigger:focus-visible{ outline:3px solid var(--color-focus); outline-offset:2px; }
.lang-trigger[aria-expanded="true"]{ border-color:var(--color-brand); color:var(--color-brand); background:var(--color-bg-alt); }
.lang-caret{ display:flex; }
.lang-caret svg{ width:13px; height:13px; transition:transform 240ms ease; }
.lang-trigger[aria-expanded="true"] .lang-caret svg{ transform:rotate(180deg); }

/* Bayrak madalyonu */
.lang-flag{
  display:block; width:26px; height:26px; border-radius:50%; overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(3,18,36,.16), 0 1px 3px rgba(3,18,36,.14);
}
.lang-flag svg{ display:block; width:100%; height:100%; }

/* Kapalı durumda yalnızca aktif dilin bayrağı görünür */
.lang-cur{ display:none; }
html[lang="en"] .lang-cur[data-lang="en"],
html[lang="tr"] .lang-cur[data-lang="tr"],
html[lang="ar"] .lang-cur[data-lang="ar"],
html[lang="de"] .lang-cur[data-lang="de"]{ display:block; }

/* Açılan kart */
.lang-menu{
  position:absolute; top:calc(100% + 12px); right:0; z-index:60;
  min-width:196px; padding:6px;
  background:#fff; border:1px solid var(--color-line); border-radius:14px;
  box-shadow:0 18px 44px -18px rgba(6,26,45,.42), 0 2px 8px rgba(6,26,45,.08);
  opacity:0; visibility:hidden; transform:translateY(-6px) scale(.985);
  transform-origin:top right;
  transition:opacity 200ms ease, transform 200ms cubic-bezier(.2,.8,.2,1), visibility 200ms;
}
.lang-menu.open{ opacity:1; visibility:visible; transform:none; }
.lang-menu::before{           /* karta işaret eden küçük üçgen */
  content:""; position:absolute; top:-5px; right:16px; width:10px; height:10px;
  background:#fff; border-left:1px solid var(--color-line); border-top:1px solid var(--color-line);
  transform:rotate(45deg); border-radius:2px 0 0 0;
}
.lang-menu button{
  position:relative; display:flex; align-items:center; gap:10px; width:100%;
  padding:8px 10px; border:none; background:none; cursor:pointer; border-radius:10px;
  font-family:var(--font-display); font-size:.86rem; font-weight:600;
  color:var(--color-text); text-align:left;
  transition:background var(--transition), color var(--transition);
}
.lang-menu button + button{ margin-top:2px; }
.lang-menu .lang-flag{ width:24px; height:24px; }
.lang-menu .lang-name{ flex:1; }
.lang-menu button:hover{ background:var(--color-bg-alt); }
.lang-menu button:focus-visible{ outline:3px solid var(--color-focus); outline-offset:-2px; }
.lang-menu button[aria-pressed="true"]{ color:var(--color-brand); background:var(--color-bg-alt); }
.lang-tick{ display:flex; color:var(--color-accent); opacity:0; transition:opacity var(--transition); }
.lang-tick svg{ width:15px; height:15px; }
.lang-menu button[aria-pressed="true"] .lang-tick{ opacity:1; }
/* Seçili olmayan bayraklar listede hafif soluk, üzerine gelince canlanır */
.lang-menu button:not([aria-pressed="true"]) .lang-flag{ opacity:.8; transition:opacity var(--transition); }
.lang-menu button:not([aria-pressed="true"]):hover .lang-flag{ opacity:1; }
@media (max-width:1120px){
  .lang-trigger{ height:34px; padding:0 8px 0 5px; }
  .lang-flag{ width:23px; height:23px; }
}
@media (prefers-reduced-motion: reduce){
  .lang-menu{ transition:none; }
  .lang-caret svg{ transition:none; }
}

.icon-btn{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; border:var(--border); background:none; cursor:pointer; color:var(--color-text); transition:border-color var(--transition), color var(--transition); }
.icon-btn:hover{ border-color:var(--color-accent); color:var(--color-accent); }
.icon-btn svg{ width:16px; height:16px; }

.header-search{ position:relative; }
.header-search-panel{
  position:absolute; top:calc(100% + 10px); right:0; width:min(340px,90vw); background:var(--color-bg);
  border:var(--border); border-radius:var(--radius); box-shadow:var(--shadow-md); padding:14px; display:none; gap:8px;
}
.header-search-panel.open{ display:flex; }
.header-search-panel input{ flex:1; }

.nav-toggle{ display:none; }
@media (max-width:960px){
  .primary-nav{
    position:absolute; top:100%; left:0; right:0; background:var(--color-bg); border-bottom:var(--border);
    flex-direction:column; align-items:flex-start; gap:2px; padding:10px clamp(20px,4vw,48px) 20px; display:none;
  }
  .primary-nav.open{ display:flex; }
  .primary-nav a{ width:100%; padding:12px 0; border-bottom:1px solid var(--color-line); }
  .nav-toggle{
    display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--radius-sm);
    border:var(--border); background:none; cursor:pointer;
  }
  .nav-toggle svg{ width:19px; height:19px; }
  .header-right{ gap:12px; }
  .brand img.brand-logo{ height:40px; }
}

/* ============ BREADCRUMB ============ */
.breadcrumb{ display:flex; flex-wrap:wrap; gap:6px; font-size:.82rem; color:var(--color-text-secondary); margin-bottom:16px; }
.breadcrumb a{ color:var(--color-text-secondary); }
.breadcrumb a:hover{ color:var(--color-brand); }
.breadcrumb .sep{ opacity:.6; }
.breadcrumb [aria-current="page"]{ color:var(--color-text); font-weight:600; }

/* ============ PAGE HERO (subpages) ============ */
.page-hero{ background:var(--color-bg-alt); border-bottom:var(--border); padding:clamp(44px,6vw,68px) 0; }
.page-hero .lead{ margin-top:14px; }

/* ============ INTRO SLIDER (Ana Sayfa banner) ============
   Not: Bu bileşen, kullanıcının kendi sağladığı 4 hazır banner görseli
   için sonradan eklenmiştir; sitenin genel "sade / hareketsiz" tasarım
   ilkesinin bir istisnasıdır (bkz. README). */
.intro-slider{ position:relative; width:100%; overflow:hidden; background:var(--color-brand-strong); }
/* Oranı korunan (kırpılmayan) banner'ın altındaki nokta şeridi için yer */
.intro-slider:not(.mobil-hazir){ padding-bottom:0; }
.intro-slider .slider-track{ display:flex; transition:transform 550ms ease; }
.intro-slider .slide{ flex:0 0 100%; position:relative; aspect-ratio:2.63/1; }
.intro-slider .slide img{ width:100%; height:100%; object-fit:cover; display:block; }
.intro-slider .slider-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5; width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,.92); border:none; display:flex; align-items:center; justify-content:center; cursor:pointer;
  color:var(--color-brand); box-shadow:var(--shadow-md); transition:background var(--transition);
}
.intro-slider .slider-arrow:hover{ background:#fff; }
.intro-slider .slider-arrow.prev{ left:16px; }
.intro-slider .slider-arrow.next{ right:16px; }
.intro-slider .slider-arrow svg{ width:18px; height:18px; }
.intro-slider .slider-dots{ position:absolute; left:0; right:0; bottom:16px; z-index:5; display:flex; justify-content:center; gap:8px; }
.intro-slider .slider-dots button{
  width:9px; height:9px; padding:0; border-radius:50%; border:1.5px solid rgba(255,255,255,.85); background:transparent; cursor:pointer;
  transition:background var(--transition), width var(--transition);
}
.intro-slider .slider-dots button.active{ background:#fff; width:22px; border-radius:5px; }
/* Telefon / tablet
   Banner yazıları görselin içinde olduğu için KIRPMA YOK: geniş banner
   kendi oranıyla (2000x761) gösterilir, hiçbir yazı kesilmez.
   O slayt için ayrı bir dikey banner takımı konulduğunda (build.py →
   mobil_banner_var) slayda .has-mobil sınıfı gelir ve 4:5 orana geçer. */
@media (max-width:760px){
  .intro-slider .slide{ aspect-ratio:2000/761; }
  .intro-slider.mobil-hazir .slide{ aspect-ratio:4/5; }
  .intro-slider .slide img{ object-position:center; }
  /* Oranı korunan geniş banner çok inceleşince oklar/noktalar görseli
     kapatmasın: küçülüp kenara çekilir. */
  .intro-slider .slider-arrow{ width:34px; height:34px; }
  .intro-slider .slider-arrow.prev{ left:8px; }
  .intro-slider .slider-arrow.next{ right:8px; }
  .intro-slider .slider-arrow svg{ width:15px; height:15px; }
  .intro-slider .slider-dots{ bottom:8px; }
  .intro-slider.mobil-hazir .slider-dots{ bottom:14px; }
}
/* 480px altında geniş banner 180px'in altına düşüyor: oklar ve noktalar
   görselin dışına, altına alınır ki banner tamamen görünsün. */
@media (max-width:480px){
  .intro-slider:not(.mobil-hazir){ padding-bottom:26px; }
  .intro-slider:not(.mobil-hazir) .slider-dots{ bottom:7px; }
  .intro-slider:not(.mobil-hazir) .slider-arrow{
    width:36px; height:36px; box-shadow:0 1px 6px rgba(6,26,45,.28);
  }
  .intro-slider:not(.mobil-hazir) .slider-arrow svg{ width:15px; height:15px; }
  .intro-slider:not(.mobil-hazir) .slider-arrow.prev{ left:5px; }
  .intro-slider:not(.mobil-hazir) .slider-arrow.next{ right:5px; }
}
@media (prefers-reduced-motion: reduce){
  .intro-slider .slider-track{ transition:none; }
}

/* ============ ANA SAYFA — TAM EKRAN GİRİŞ (HERO) ============
   Fotoğrafın üzerinde yazı yok: başlık/spot/düğmeler/rakam kartları
   normal HTML. Hero position:sticky ile tepede sabit durur; içerik
   katmanı (.scroll-content, z-index:2) onun üzerinden kayar — istenen
   "banner yerinde kalır, sayfa üstüne biner" etkisi bu.
   Negatif üst kenar boşluğu, hero'nun görüntü alanının en tepesinden
   başlamasını sağlar (başlık şeridi yarı saydam olduğu için fotoğraf
   arkasından hafifçe görünür).
   --hp (0→1) kaydırma oranını js/main.js yazar. */
.hero-full{
  --hdr:88px;
  position:sticky; top:0; z-index:2;
  height:100vh; height:100svh;
  margin-top:calc(-1 * var(--hdr)); padding-top:var(--hdr);
  overflow:hidden; background:var(--color-brand-strong);
  --hp:0;
}
.hf-media{ position:absolute; inset:0; z-index:0; }
/* <picture> satır içi ve yüksekliği içeriğe bağlı: img{height:100%}
   böyle bir ebeveynde çözülemiyor, blok yapılması şart. */
.hf-media picture{ display:block; width:100%; height:100%; }
.hf-media img{
  width:100%; height:100%; object-fit:cover; object-position:46% center; display:block;
  transform:scale(calc(1 + var(--hp) * .06)); transform-origin:60% 45%;
  will-change:transform;
}
/* Yazı tarafını koyulaştıran perde: soldan sağa açılır, üstte ve altta
   hafif koyu bant (başlık şeridi ve kaydır ipucu okunur kalsın). */
.hf-scrim{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(101deg, rgba(5,22,38,.90) 0%, rgba(5,22,38,.72) 34%,
                    rgba(5,22,38,.30) 58%, rgba(5,22,38,.14) 74%, rgba(5,22,38,.34) 100%),
    linear-gradient(180deg, rgba(5,22,38,.42) 0%, rgba(5,22,38,0) 26%,
                    rgba(5,22,38,0) 62%, rgba(5,22,38,.46) 100%);
}
.hf-inner{
  position:relative; z-index:2; height:100%;
  display:grid; grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);
  gap:clamp(28px,4vw,64px); align-items:center;
  padding-top:clamp(20px,4vh,54px); padding-bottom:clamp(28px,7vh,86px);
  transform:translateY(calc(var(--hp) * -42px));
  opacity:calc(1 - var(--hp) * 1.28);
}
.hf-copy{ max-width:50ch; }
.hf-eyebrow{
  display:block; font-family:var(--font-display); font-weight:700;
  font-size:clamp(.75rem,.86vw,.8rem); letter-spacing:.15em; text-transform:uppercase;
  color:var(--color-accent-on-dark); margin-bottom:clamp(12px,1.6vh,20px);
  text-shadow:0 1px 14px rgba(3,14,26,.85), 0 0 30px rgba(3,14,26,.55);
}
.hf-title{
  margin:0; color:#fff; font-family:var(--font-display); font-weight:800;
  font-size:clamp(1.95rem, 4.05vw, 3.7rem); line-height:1.06; letter-spacing:-.03em;
  text-wrap:balance; text-shadow:0 2px 26px rgba(3,14,26,.45);
}
.hf-title em{ font-style:normal; color:var(--color-accent-on-dark); }
.hf-lead{
  margin:clamp(14px,2vh,22px) 0 0; color:rgba(255,255,255,.84);
  font-size:clamp(.96rem,1.06vw,1.14rem); line-height:1.6; max-width:50ch;
  text-shadow:0 1px 14px rgba(3,14,26,.45);
}
.hf-cta{ display:flex; flex-wrap:wrap; gap:12px; margin-top:clamp(20px,3vh,32px); }
.hf-cta .btn-primary{
  background:var(--color-accent); border-color:var(--color-accent); color:#fff;
}
.hf-cta .btn-primary:hover{ background:#0b5f31; border-color:#0b5f31; }
.hf-btn-ghost{
  border-color:rgba(255,255,255,.55); color:#fff; background:rgba(255,255,255,.06);
  backdrop-filter:blur(6px);
}
.hf-btn-ghost:hover{ background:#fff; color:var(--color-brand); border-color:#fff; }

/* Rakam kartları — sağ altta, referanstaki gibi */
.hf-stats{
  align-self:end; justify-self:end; width:min(100%, 400px);
  display:flex; flex-direction:column; gap:10px;
}
.hf-stat{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  background:rgba(5,22,38,.52); border:1px solid rgba(255,255,255,.15);
  border-radius:14px; padding:13px 18px; backdrop-filter:blur(10px);
}
.hs-lab{
  font-family:var(--font-display); font-weight:600; font-size:.86rem; line-height:1.3;
  color:rgba(255,255,255,.78); max-width:15ch;
}
.hs-val{
  font-family:var(--font-display); font-weight:800; color:#fff;
  font-size:clamp(1.5rem,2.2vw,2rem); line-height:1; letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.hs-val sup{ color:var(--color-accent-on-dark); font-size:.56em; top:-.5em; margin-left:1px; }

/* Aşağı kaydır ipucu — sağ kenarda dikey */
.hf-cue{
  position:absolute; right:clamp(14px,2vw,30px); bottom:clamp(18px,4vh,46px); z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:12px;
  color:rgba(255,255,255,.76); text-decoration:none;
  opacity:calc(1 - var(--hp) * 2.6); transition:color var(--transition);
}
.hf-cue:hover{ color:#fff; }
.hc-word{
  writing-mode:vertical-rl; font-family:var(--font-display); font-weight:600;
  font-size:.75rem; letter-spacing:.22em; text-transform:uppercase;
}
.hc-mouse{
  width:20px; height:31px; border:1.5px solid currentColor; border-radius:11px;
  display:flex; justify-content:center; padding-top:5px;
}
.hc-mouse i{
  width:2px; height:7px; border-radius:2px; background:currentColor;
  animation:hcScroll 1.6s ease-in-out infinite;
}
@keyframes hcScroll{ 0%,100%{ transform:translateY(0); opacity:1; } 55%{ transform:translateY(7px); opacity:.25; } }

/* Tablet: rakam kartları yazının altına iner */
@media (max-width:1000px){
  .hf-inner{ grid-template-columns:minmax(0,1fr); align-content:end; align-items:end; }
  .hf-copy{ max-width:36ch; }
  .hf-stats{ justify-self:start; width:100%; flex-direction:row; gap:9px; }
  .hf-stat{ flex:1 1 0; min-width:0; flex-direction:column; align-items:flex-start; gap:6px; padding:12px 14px; }
  .hs-lab{ max-width:none; font-size:.8rem; }
  .hf-cue{ display:none; }
}
@media (max-width:760px){
  .hero-full{ --hdr:72px; }
  .hf-media img{ object-position:center 22%; }
  /* Telefonda yazı fotoğrafın alt yarısına oturuyor: perde 40%'ten
     itibaren hızla koyulaşır, üst kısım (yüz) açık kalır. */
  .hf-scrim{
    background:
      linear-gradient(180deg, rgba(5,22,38,.34) 0%, rgba(5,22,38,.10) 20%,
                      rgba(5,22,38,.34) 38%, rgba(5,22,38,.72) 54%,
                      rgba(5,22,38,.90) 74%, rgba(5,22,38,.95) 100%);
  }
  .hf-inner{ padding-bottom:clamp(22px,4vh,40px); }
  .hf-copy{ max-width:none; }
  .hf-title{ font-size:clamp(1.75rem,8.4vw,2.6rem); }
  .hf-lead{ font-size:clamp(.92rem,3.7vw,1.02rem); }
  .hf-cta .btn{ flex:1 1 auto; justify-content:center; }
}
@media (max-width:430px){
  .hf-stat{ padding:10px 12px; }
  .hs-val{ font-size:1.35rem; }
  .hs-lab{ font-size:.75rem; }
}
/* Yatay yatırılmış telefon: 100svh çok kısa kalır */
@media (max-height:520px) and (orientation:landscape){
  .hero-full{ height:auto; min-height:440px; }
  .hf-inner{ padding-top:16px; padding-bottom:20px; }
  .hf-stats{ display:none; }
}
@media (prefers-reduced-motion: reduce){
  .hf-inner{ transform:none; opacity:1; }
  .hf-media img{ transform:none; }
  .hc-mouse i{ animation:none; }
  .hf-cue{ opacity:1; }
}
/* Sağdan sola: perde ve fotoğraf odağı aynalanır */
.is-rtl .hf-scrim{
  background:
    linear-gradient(-101deg, rgba(5,22,38,.90) 0%, rgba(5,22,38,.72) 34%,
                    rgba(5,22,38,.30) 58%, rgba(5,22,38,.14) 74%, rgba(5,22,38,.34) 100%),
    linear-gradient(180deg, rgba(5,22,38,.42) 0%, rgba(5,22,38,0) 26%,
                    rgba(5,22,38,0) 62%, rgba(5,22,38,.46) 100%);
}
.is-rtl .hf-media img{ object-position:100% center; }
.is-rtl .hf-stats{ justify-self:start; }
.is-rtl .hf-cue{ right:auto; left:clamp(14px,2vw,30px); }

/* ============ HOME HERO ============ */
.home-hero{ padding:clamp(56px,7vw,88px) 0; border-bottom:var(--border); }
.home-hero .grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(36px,6vw,80px); align-items:center; }
.home-hero h1{ margin:12px 0 20px; }
.home-hero .lead{ margin-bottom:30px; }
.home-hero .cta-row{ display:flex; gap:14px; flex-wrap:wrap; }
.portrait{ position:relative; }
.portrait img{
  width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 18%;
  border-radius:var(--radius); background:var(--color-bg-alt); border:var(--border);
}
.hero-motto{
  font-family:var(--font-display); font-weight:500; font-style:italic; font-size:1.02rem;
  color:var(--color-accent); margin:-6px 0 16px;
}
@media (max-width:900px){ .portrait{ max-width:340px; margin:0 auto; } }

/* ============ HAKKINDA GİRİŞ (portre + biyografi) ============ */
.about-intro{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(32px,5vw,72px); align-items:start; }
.about-intro .prose{ max-width:none; }
@media (max-width:900px){
  .about-intro{ grid-template-columns:1fr; gap:32px; }
  .about-intro .portrait{ max-width:340px; margin:0 auto; }
}

/* ============ QUICK FACTS ============ */
.quick-facts{ display:flex; flex-wrap:wrap; gap:10px 28px; margin-top:26px; padding-top:22px; border-top:var(--border); }
.quick-facts .fact{ font-size:.86rem; color:var(--color-text-secondary); }
.quick-facts .fact strong{ color:var(--color-text); font-weight:600; }

/* ============ BIO / CONTENT PROSE ============ */
.prose{ max-width:var(--container-narrow); }
.prose p{ margin-bottom:20px; color:var(--color-text); font-size:1.04rem; }
.prose p:last-child{ margin-bottom:0; }
.prose h2{ margin:44px 0 16px; }
.prose h3{ margin:32px 0 12px; }
.prose blockquote{
  margin:32px 0; padding:4px 0 4px 22px; border-left:3px solid var(--color-accent);
  font-family:var(--font-display); font-weight:500; font-size:1.18rem; line-height:1.5; color:var(--color-brand);
}
.placeholder-text{ color:var(--color-text-secondary); font-style:italic; }

/* ============ YASAL SAYFALAR ============
   Uzun metinler: giriş paragrafı vurgulu, bölümler arası gezinme için
   numaralı içindekiler, ad/açıklama satırları için tanım listesi. */
.legal-doc .legal-intro{
  font-size:1.08rem; line-height:1.7; color:var(--color-text);
  padding:20px 22px; border-radius:var(--radius);
  background:var(--color-bg-alt); border-left:3px solid var(--color-accent);
}
.legal-toc{
  margin:32px 0 8px; padding:20px 22px 18px;
  border:var(--border); border-radius:var(--radius); background:var(--color-bg);
}
.legal-toc .lt-label{
  font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--color-accent); margin-bottom:12px;
}
.legal-toc ol{
  margin:0; padding:0; list-style:none; counter-reset:lt;
  display:grid; gap:8px 26px; grid-template-columns:repeat(auto-fill, minmax(230px,1fr));
}
.legal-toc li{ counter-increment:lt; display:flex; gap:9px; align-items:baseline; }
.legal-toc li::before{
  content:counter(lt,decimal-leading-zero);
  font-size:.72rem; font-weight:700; color:var(--color-accent);
  font-variant-numeric:tabular-nums; flex:0 0 auto;
}
.legal-toc a{
  font-size:.92rem; color:var(--color-brand); font-weight:500;
  border-bottom:1px solid transparent; transition:border-color var(--transition), color var(--transition);
}
.legal-toc a:hover{ color:var(--color-accent); border-bottom-color:currentColor; }

.legal-sec{ scroll-margin-top:96px; }
.legal-sec h2{ font-size:clamp(1.24rem,2.2vw,1.5rem); }
.legal-doc ul{ margin:0 0 20px; padding-left:0; list-style:none; }
.legal-doc ul li{
  position:relative; padding-left:22px; margin-bottom:10px;
  color:var(--color-text); font-size:1.01rem; line-height:1.65;
}
.legal-doc ul li::before{
  content:""; position:absolute; left:2px; top:.62em;
  width:7px; height:7px; border-radius:50%;
  background:var(--color-accent); opacity:.55;
}
.legal-dl{ margin:0 0 22px; display:grid; gap:1px; background:var(--color-line); border:var(--border); border-radius:var(--radius); overflow:hidden; }
.legal-dl .ldl-row{ display:grid; grid-template-columns:minmax(170px,.42fr) 1fr; background:var(--color-bg); }
.legal-dl dt{
  padding:14px 16px; font-weight:600; font-size:.94rem; color:var(--color-brand);
  background:var(--color-bg-alt);
}
.legal-dl dd{ margin:0; padding:14px 18px; font-size:.98rem; line-height:1.62; color:var(--color-text-secondary); }
@media (max-width:640px){
  .legal-dl .ldl-row{ grid-template-columns:1fr; }
  .legal-dl dd{ padding-top:0; }
}

/* ============ INFO GRID (Hakkında: eğitim / deneyim / üyelikler) ============ */
.info-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:2px; background:var(--color-line); border:var(--border); margin-top:8px; }
.info-block{ background:var(--color-bg); padding:clamp(24px,3vw,34px); }
.info-block h3{ margin-bottom:16px; }
.info-list{ display:flex; flex-direction:column; gap:14px; }
.info-list li{ display:flex; flex-direction:column; gap:2px; font-size:.95rem; }
.info-list .info-period{ font-size:.78rem; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:var(--color-accent); }
.info-list .info-title{ font-weight:600; color:var(--color-text); }
.info-list .info-sub{ color:var(--color-text-secondary); }
@media (max-width:760px){ .info-grid{ grid-template-columns:1fr; } }

/* ============ STICKY SPLIT (sol kolon sabit, sağ kolon kayar) ============
   Saf CSS position:sticky ile çalışır — JS yok, sürekli hareket yok.
   Mobilde otomatik olarak tek kolona iner ve sabitleme devre dışı kalır. */
.sticky-split{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(32px,6vw,88px); align-items:start; }
.sticky-split .sticky-col{ position:sticky; top:calc(64px + clamp(28px,4vw,56px)); }
.sticky-split .sticky-col h2{ margin:12px 0 18px; }
.sticky-split .sticky-col .lead{ max-width:38ch; margin-bottom:34px; }
.sticky-split .scroll-col{ min-width:0; }

.stat-block{ margin-bottom:30px; }
.stat-block .stat-figure{
  font-family:var(--font-display); font-weight:700; line-height:1;
  font-size:clamp(3.2rem,5vw,4.6rem); color:var(--color-brand); letter-spacing:-.02em;
}
.stat-block .stat-figure span{ color:var(--color-accent); }
.stat-block .stat-label{ font-size:.9rem; font-weight:600; color:var(--color-text-secondary); margin-top:10px; }

@media (max-width:900px){
  .sticky-split{ grid-template-columns:1fr; gap:36px; }
  .sticky-split .sticky-col{ position:static; top:auto; }
  .sticky-split .sticky-col .lead{ margin-bottom:26px; }
}

/* ============ TIMELINE ============ */
.timeline{ position:relative; max-width:var(--container-narrow); }
.timeline::before{ content:""; position:absolute; left:6px; top:10px; bottom:10px; width:1px; background:var(--color-line); }
.timeline-item{ position:relative; padding-left:34px; padding-bottom:38px; }
.timeline-item:last-child{ padding-bottom:0; }
.timeline-item::before{ content:""; position:absolute; left:0; top:4px; width:13px; height:13px; border-radius:50%; background:var(--color-accent); box-shadow:0 0 0 4px var(--color-bg-alt); }
/* Dönem etiketi: soluk gri yerine lacivert zemin + beyaz yazı, belirgin */
.timeline-item .info-period{
  display:inline-flex; align-items:center; gap:7px;
  font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  color:#fff; background:var(--color-brand); border-radius:999px; padding:6px 14px; margin-bottom:12px;
  box-shadow:0 2px 8px rgba(8,36,62,.18);
}
.timeline-item .info-period svg{ width:13px; height:13px; opacity:.85; }
/* Güncel/süregelen dönem yeşil vurgu alır */
.timeline-item .info-period.is-current{ background:var(--color-accent); box-shadow:0 2px 8px rgba(14,118,60,.24); }
/* Sticky-split içindeki zaman çizelgesi kolon genişliğini kullanır */
.scroll-col .timeline{ max-width:none; }
.timeline-item h3{ font-size:1.15rem; margin-bottom:4px; }
.timeline-item .org{ font-size:.92rem; color:var(--color-text-secondary); font-weight:600; margin-bottom:8px; display:block; }
.timeline-item p{ color:var(--color-text-secondary); font-size:.96rem; max-width:64ch; }

/* ============ CARD GRID ============ */
.card-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:26px; }
.card-grid.cols-2{ grid-template-columns:repeat(2,1fr); }
.card-grid.cols-3{ grid-template-columns:repeat(3,1fr); }
.card-grid.cols-4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:1080px){ .card-grid.cols-4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:760px){ .card-grid.cols-2, .card-grid.cols-3, .card-grid.cols-4{ grid-template-columns:1fr; } .card-grid{ grid-template-columns:1fr; } }

/* Article card */
.article-card{ display:flex; flex-direction:column; border:var(--border); border-radius:var(--radius); overflow:hidden; background:var(--color-bg); transition:box-shadow var(--transition), transform var(--transition); }
.article-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-2px); }
.card-media{ aspect-ratio:16/10; background:var(--color-bg-alt); border-bottom:var(--border); display:flex; align-items:center; justify-content:center; }
.card-media svg{ width:26px; height:26px; stroke:var(--color-text-secondary); opacity:.6; }
.card-body{ padding:20px 22px 22px; display:flex; flex-direction:column; gap:10px; flex:1; }
.card-meta{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:.76rem; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:var(--color-text-secondary); }
.card-meta .tag{ color:var(--color-accent); }
.card-meta .dot{ opacity:.5; }
.article-card h3{ font-size:1.12rem; line-height:1.35; }
.card-excerpt{ color:var(--color-text-secondary); font-size:.92rem; flex:1; }
.card-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:4px; font-size:.84rem; }
.card-foot .read-more{ font-weight:600; color:var(--color-brand); display:inline-flex; align-items:center; gap:6px; }
.card-foot .read-more svg{ width:12px; height:12px; }

/* Featured article */
.featured-article{ display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(24px,4vw,48px); border:var(--border); border-radius:var(--radius); overflow:hidden; margin-bottom:32px; }
.featured-article .card-media{ aspect-ratio:auto; height:100%; min-height:260px; border-bottom:none; border-right:var(--border); }
.featured-article .card-body{ padding:clamp(24px,3vw,40px); justify-content:center; }
@media (max-width:820px){ .featured-article{ grid-template-columns:1fr; } .featured-article .card-media{ border-right:none; border-bottom:var(--border); min-height:200px; } }

/* Press card — üstte görsel, altta künye. Kart oranı kareye yakın tutulur
   (görsel 4:3 + gövde), böylece uzun-ince şerit hissi oluşmaz. */
.press-card{
  border:var(--border); border-radius:var(--radius); background:var(--color-bg);
  display:flex; flex-direction:column; overflow:hidden; height:100%;
  transition:box-shadow var(--transition), transform var(--transition), border-color var(--transition);
}
.press-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:#CFD8E0; }

.press-media{ position:relative; aspect-ratio:4 / 3; background:var(--color-bg-alt); overflow:hidden; }
.press-media img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 600ms cubic-bezier(.2,.6,.2,1);
}
.press-card:hover .press-media img{ transform:scale(1.04); }
/* Görsel henüz iletilmediğinde: uydurma fotoğraf yerine kuruluş adını
   taşıyan sade çerçeve */
.press-media.is-empty{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  background:
    linear-gradient(135deg, rgba(8,36,62,.05), rgba(14,118,60,.06)),
    var(--color-bg-alt);
  border-bottom:1px solid var(--color-line); color:var(--color-brand);
}
.press-media.is-empty svg{ width:26px; height:26px; opacity:.35; }
.press-media.is-empty .pm-org{
  font-family:var(--font-display); font-weight:600; font-size:1.02rem; letter-spacing:.01em;
  color:var(--color-brand); opacity:.72;
}

.press-body{ padding:20px 22px 18px; display:flex; flex-direction:column; gap:10px; flex:1; }
.press-org{
  font-family:var(--font-display); font-weight:600; font-size:.82rem; letter-spacing:.09em;
  text-transform:uppercase; color:var(--color-accent); align-self:flex-start;
}
.press-card h3{ font-size:1.02rem; line-height:1.42; letter-spacing:-.01em; }
.press-card h3 a:hover{ color:var(--color-accent); }
.press-card p{
  color:var(--color-text-secondary); font-size:.89rem; flex:1;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.press-foot{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  margin-top:auto; padding-top:13px; border-top:1px solid var(--color-line);
}
.press-type{ font-weight:600; color:var(--color-accent); }
.press-card .go{ font-size:.83rem; font-weight:600; color:var(--color-brand); display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.press-card:hover .go{ color:var(--color-accent); }
.press-card .go svg{ width:13px; height:13px; }

/* ============ BASIN KARUSELİ ============
   5 saniyede bir kayar; üzerine gelince / dokununca durur; sürüklenebilir. */
.press-carousel{ margin-top:8px; }
.pc-viewport{ overflow:hidden; border-radius:var(--radius); }
.pc-viewport:focus-visible{ outline:3px solid var(--color-focus); outline-offset:3px; }
.pc-track{
  display:flex; gap:clamp(14px,2vw,24px);
  transition:transform 620ms cubic-bezier(.22,.68,.2,1);
  will-change:transform;
}
.press-carousel.is-dragging .pc-track{ transition:none; }
.pc-slide{ flex:0 0 auto; width:calc((100% - 3 * clamp(14px,2vw,24px)) / 4); min-width:0; }
.pc-slide .press-card{ user-select:none; }

.pc-controls{ display:flex; align-items:center; justify-content:center; gap:18px; margin-top:24px; }
.pc-nav{
  width:44px; height:44px; border-radius:50%; border:var(--border); background:var(--color-bg);
  color:var(--color-brand); display:flex; align-items:center; justify-content:center; cursor:pointer;
  transition:border-color var(--transition), color var(--transition), background var(--transition), box-shadow var(--transition);
}
.pc-nav:hover:not([disabled]){ border-color:var(--color-accent); color:var(--color-accent); box-shadow:var(--shadow-sm); }
.pc-nav[disabled]{ opacity:.35; cursor:default; }
.pc-nav svg{ width:18px; height:18px; }
.pc-dots{ display:flex; align-items:center; gap:8px; }
.pc-dot{
  width:8px; height:8px; padding:0; border:none; border-radius:50%; cursor:pointer;
  background:var(--color-line); transition:background var(--transition), width var(--transition);
}
.pc-dot:hover{ background:var(--color-text-secondary); }
.pc-dot.is-active{ width:26px; border-radius:999px; background:var(--color-accent); }

@media (max-width:1100px){ .pc-slide{ width:calc((100% - 2 * clamp(14px,2vw,24px)) / 3); } }
@media (max-width:860px){ .pc-slide{ width:calc((100% - clamp(14px,2vw,24px)) / 2); } }
@media (max-width:600px){ .pc-slide{ width:100%; } }
@media (prefers-reduced-motion: reduce){
  .pc-track{ transition:none; }
  .press-media img{ transition:none; }
  .press-card:hover .press-media img{ transform:none; }
}

/* Video card */
.video-card{ border:var(--border); border-radius:var(--radius); overflow:hidden; background:var(--color-bg); cursor:pointer; transition:box-shadow var(--transition), transform var(--transition); }
.video-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-2px); }
.video-thumb{ position:relative; aspect-ratio:16/9; background:var(--color-bg-alt); display:flex; align-items:center; justify-content:center; border-bottom:var(--border); overflow:hidden; }
.video-thumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.video-thumb .thumb-placeholder{ width:26px; height:26px; stroke:var(--color-text-secondary); opacity:.55; }
.video-thumb::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,26,45,.06) 0%, rgba(6,26,45,.22) 100%); opacity:0; transition:opacity var(--transition); }
.video-card:hover .video-thumb::after{ opacity:1; }
.video-thumb .play-btn, .video-thumb .platform-tag, .video-thumb .duration-tag{ position:relative; z-index:2; }
.video-thumb .platform-tag{ position:absolute; }
/* Bağlantısı henüz eklenmemiş kartlar tıklanabilir görünmez */
.video-card.is-pending{ cursor:default; }
.video-card.is-pending:hover{ box-shadow:none; transform:none; }
.video-card.is-pending .play-btn{ opacity:.45; }
.video-thumb .play-btn{ width:52px; height:52px; border-radius:50%; background:#fff; border:var(--border); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-sm); transition:background var(--transition); }
.video-card:hover .play-btn{ background:var(--color-bg-alt); }
.video-thumb .play-btn svg{ width:15px; height:15px; fill:var(--color-brand); margin-left:2px; }
.video-thumb .platform-tag{ position:absolute; top:10px; left:10px; font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; background:var(--color-bg); border:var(--border); padding:3px 9px; border-radius:999px; color:var(--color-brand); }
.video-thumb .duration-tag{ position:absolute; bottom:10px; right:10px; font-size:.68rem; font-weight:600; background:rgba(29,39,51,.82); color:#fff; padding:2px 8px; border-radius:3px; }
.video-card .card-body{ padding:16px 18px 18px; }

/* --- Kısa videolar (9:16) ---------------------------------------------
   Dikey videolar 16:9 kartta siyah bantlarla durduğu için kendi şeridini
   ve kendi oranını kullanır. Şerit, ekran daraldıkça kolon sayısını
   kendiliğinden azaltır. */
.shorts-strip{
  display:grid; gap:clamp(16px,2.2vw,24px); align-items:start;
  grid-template-columns:repeat(auto-fill, minmax(190px,1fr));
}
.video-card.is-short .video-thumb{ aspect-ratio:9/16; }
.video-card.is-short .card-body{ padding:14px 15px 16px; }
/* Kart altındaki "KISA VİDEO" etiketi kapaktaki rozetle aynı bilgiyi
   verdiği için gizlenir; başlıklar üç satırda kesilir ki kartlar aynı
   yükseklikte hizalansın. */
.video-card.is-short .card-meta{ display:none; }
.video-card.is-short h3{
  font-size:.95rem; line-height:1.4;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden;
  /* üç satırlık sabit yükseklik: bir satırdaki kartların altları hizalanır */
  min-height:calc(.95rem * 1.4 * 3);
}
.video-card.is-short .play-btn{ width:44px; height:44px; }
.video-card.is-short .platform-tag{ top:8px; left:8px; font-size:.62rem; padding:2px 7px; }
/* Kısa videoda kapak alt kısmına doğru koyulaşır: başlık üstündeki
   yazılar okunur kalır. */
.video-card.is-short .video-thumb::before{
  content:""; position:absolute; inset:auto 0 0 0; height:38%; z-index:1;
  background:linear-gradient(180deg, rgba(6,26,45,0) 0%, rgba(6,26,45,.30) 100%);
}
@media (max-width:520px){
  .shorts-strip{ grid-template-columns:repeat(2,1fr); }
}
/* Şerit uzun olduğunda ilk 12 kart gösterilir; gerisi düğmeyle açılır.
   Gizleme yalnızca JavaScript'in koruduğu .is-collapsed sınıfına bağlı
   olmadığı için sunucudan gelen HTML'de de düzenli görünür; JavaScript
   kapalıysa düğme çalışmaz, bu yüzden düğme JS ile etkinleştirilir. */
.shorts-strip.is-collapsed > *:nth-child(n+13){ display:none; }
.shorts-more{ margin-top:26px; display:flex; justify-content:center; }
.shorts-more[hidden]{ display:none; }

/* Dikey oynatıcı: modal, karttaki data-video-ratio değerine göre daralır */
.video-modal-inner.is-vertical{ width:min(420px,92vw); aspect-ratio:9/16; }

/* ============ ÖZGEÇMİŞ KATALOĞU ============ */
.katalog-teaser{ display:grid; grid-template-columns:300px 1fr; gap:clamp(28px,4vw,56px); align-items:center; }
.kt-cover{ display:block; border:var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-md); transition:transform var(--transition), box-shadow var(--transition); }
.kt-cover:hover{ transform:translateY(-3px); box-shadow:0 12px 32px rgba(8,36,62,.14); }
.kt-cover img{ width:100%; height:auto; display:block; }
.kt-body h3{ margin:12px 0 14px; font-size:clamp(1.3rem,1.8vw,1.7rem); }
.kt-body p{ color:var(--color-text-secondary); font-size:.98rem; max-width:58ch; }
.kt-minis{ display:flex; gap:10px; margin:24px 0 26px; flex-wrap:wrap; }
.kt-minis img{ width:74px; height:auto; border:var(--border); border-radius:3px; background:#fff; }
@media (max-width:820px){
  .katalog-teaser{ grid-template-columns:1fr; gap:26px; }
  .kt-cover{ max-width:260px; }
}

/* ============ E-KATALOG (sayfa çevirmeli kitap) ============
   page-flip (StPageFlip, MIT) ile iki sayfalı kitap açılımı. Sahne koyu
   lacivert; beyaz sayfalar öne çıksın. Mobilde tek sayfaya iner. */
.ecatalog{
  position:relative; overflow:hidden;
  background:
    radial-gradient(120% 90% at 50% -10%, rgba(34,176,101,.13) 0%, rgba(34,176,101,0) 55%),
    linear-gradient(180deg, var(--color-brand) 0%, var(--color-footer-bg) 100%);
  border-top:var(--border); border-bottom:var(--border);
}
.ecat-stage{
  position:relative; display:flex; align-items:center; justify-content:center; gap:clamp(6px,1.5vw,22px);
  padding:clamp(26px,3.5vw,52px) clamp(10px,2vw,32px) clamp(18px,2.5vw,30px);
}
/* --- StPageFlip'in kendi zorunlu stilleri (src/Style/stPageFlip.css, MIT) ---
   Bunlar olmadan çevrilen sayfa 3B kıvrılmaz; düz beyaz bir üçgen olarak
   kitabın dışına taşar. perspective ve preserve-3d animasyonun temelidir. */
.stf__parent{
  position:relative; display:block; box-sizing:border-box;
  transform:translateZ(0); -ms-touch-action:pan-y; touch-action:pan-y;
}
.stf__wrapper{ position:relative; width:100%; box-sizing:border-box; }
.stf__parent canvas{ position:absolute; width:100%; height:100%; left:0; top:0; }
.stf__block{ position:absolute; width:100%; height:100%; box-sizing:border-box; perspective:2400px; }
.stf__item{ display:none; position:absolute; transform-style:preserve-3d; backface-visibility:hidden; }
.stf__outerShadow, .stf__innerShadow, .stf__hardShadow, .stf__hardInnerShadow{
  position:absolute; left:0; top:0; pointer-events:none;
}

/* StPageFlip "stretch" modu ebeveyn genişliğini kullanır — bu yüzden
   sarmalayıcıya net bir genişlik verilmesi şart. */
.ecat-book-wrap{ position:relative; flex:0 1 min(1120px, 100%); min-width:0; }

/* Kitabın altındaki zemin gölgesi — masaya konmuş hissi */
.ecat-book{ position:relative; margin:0 auto; }
.ecat-book::after{
  content:""; position:absolute; left:6%; right:6%; bottom:-22px; height:34px; z-index:-1;
  background:radial-gradient(50% 50% at 50% 50%, rgba(0,0,0,.5) 0%, rgba(0,0,0,0) 72%);
  filter:blur(2px); pointer-events:none;
}
/* Kitap canvas modunda çizilir. Aşağıdaki .ecat-page kuralları yalnızca
   JavaScript kapalıyken görünen yedek yığın için geçerlidir; JS açıkken bu
   düğümler okunup kaldırılır ve yerini canvas alır. */
.ecat-book > .ecat-page{
  position:relative; max-width:760px; margin:0 auto 20px; background:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.35);
}
.ecat-book > .ecat-page img{
  width:100%; height:auto; display:block;
  -webkit-user-select:none; user-select:none; -webkit-user-drag:none;
}
.ecat-folio{
  position:absolute; bottom:10px; right:14px; font-size:.62rem; font-weight:700;
  letter-spacing:.06em; color:rgba(8,36,62,.32);
}

.ecat-caption{
  margin-top:22px; text-align:center; font-size:.78rem; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--color-accent-on-dark);
}

/* Gezinme okları */
.ecat-nav{
  flex:0 0 auto; width:48px; height:48px; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.24); color:#fff;
  display:flex; align-items:center; justify-content:center; backdrop-filter:blur(4px);
  transition:background var(--transition), border-color var(--transition), opacity var(--transition);
}
.ecat-nav:hover{ background:rgba(255,255,255,.20); border-color:var(--color-accent-on-dark); }
.ecat-nav[disabled]{ opacity:.25; cursor:default; }
.ecat-nav svg{ width:20px; height:20px; }

/* Araç çubuğu */
.ecat-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding:14px clamp(16px,3vw,40px); border-top:1px solid rgba(255,255,255,.12);
  background:rgba(6,26,45,.55);
}
.ecat-counter{ font-size:.86rem; font-weight:600; color:var(--color-on-dark-muted); letter-spacing:.04em; }
.ecat-counter strong{ color:#fff; font-size:1.05rem; }
.ecat-counter .sep{ opacity:.5; margin:0 2px; }
.ecat-tools{ display:flex; gap:8px; flex-wrap:wrap; }
.ecat-tool{
  display:inline-flex; align-items:center; gap:8px; cursor:pointer;
  font-family:var(--font-sans); font-size:.82rem; font-weight:600; color:#fff;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2);
  border-radius:999px; padding:8px 16px; transition:background var(--transition), border-color var(--transition);
}
.ecat-tool:hover, .ecat-tool[aria-expanded="true"]{ background:rgba(255,255,255,.18); border-color:var(--color-accent-on-dark); }
.ecat-tool svg{ width:14px; height:14px; }
.ecat-hint{ font-size:.76rem; color:var(--color-on-dark-muted); }

/* Sayfa şeridi */
.ecat-thumbs{ border-top:1px solid rgba(255,255,255,.12); background:rgba(6,26,45,.7); }
.ecat-thumbs-row{ display:flex; gap:10px; overflow-x:auto; padding:16px clamp(16px,3vw,40px); }
.ecat-thumb{
  position:relative; flex:0 0 auto; padding:0; line-height:0; cursor:pointer;
  border:2px solid transparent; border-radius:4px; background:none; transition:border-color var(--transition), opacity var(--transition);
  opacity:.72;
}
.ecat-thumb img{ width:58px; height:auto; display:block; border-radius:2px; background:#fff; }
.ecat-thumb span{
  position:absolute; bottom:3px; right:3px; font-size:.6rem; font-weight:700; line-height:1;
  background:rgba(6,26,45,.85); color:#fff; padding:2px 4px; border-radius:2px;
}
.ecat-thumb:hover{ opacity:1; }
.ecat-thumb.is-active{ border-color:var(--color-accent-on-dark); opacity:1; }

.ecat-noscript{ color:#fff; text-align:center; font-size:.9rem; }

/* Tam ekran */
.ecatalog:fullscreen{ display:flex; flex-direction:column; justify-content:center; }
.ecatalog:fullscreen .ecat-stage{ flex:1; min-height:0; }

/* Sayfa büyütme (lightbox) */
.ecat-zoom{
  position:fixed; inset:0; z-index:110; background:rgba(6,26,45,.94);
  display:flex; align-items:flex-start; justify-content:center; overflow:auto; padding:clamp(16px,4vw,48px);
}
.ecat-zoom[hidden]{ display:none; }
.ecat-zoom-inner{ width:min(980px,100%); }
.ecat-zoom-inner img{ width:100%; height:auto; display:block; border-radius:var(--radius-sm); background:#fff; box-shadow:0 20px 60px rgba(0,0,0,.5); }
.ecat-zoom-close{
  position:fixed; top:20px; right:24px; width:42px; height:42px; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.35); color:#fff;
  display:flex; align-items:center; justify-content:center;
}
.ecat-zoom-close svg{ width:18px; height:18px; }

/* Yer daraldığında oklar kitabın genişliğini yemesin: kitabın üzerine
   bindirilir; kaydırma (swipe) ile de sayfa çevrilebilir. Yan içindekiler
   kolonu varken de geçerli, böylece kitap her zaman tam genişlikte durur. */
@media (max-width:1100px){
  .ecat-stage{ padding:14px 8px 16px; gap:0; }
  .ecat-book-wrap{ flex:0 1 100%; }
  .ecat-nav{
    position:absolute; top:50%; transform:translateY(-50%); z-index:6;
    width:40px; height:40px; background:rgba(6,26,45,.62); border-color:rgba(255,255,255,.3);
  }
  .ecat-nav.prev{ left:6px; }
  .ecat-nav.next{ right:6px; }
}
@media (max-width:820px){
  .ecat-hint{ display:none; }
  .ecat-tool span{ display:none; }
  .ecat-tool{ padding:9px 12px; }
  .ecat-caption{ margin-top:16px; }
}
@media (prefers-reduced-motion: reduce){
  .ecat-book::after{ display:none; }
}

.katalog-index{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:2px; background:var(--color-line); border:var(--border); }
.katalog-index li{ background:var(--color-bg); }
.katalog-index button{
  width:100%; text-align:left; background:none; border:none; cursor:pointer; padding:16px 20px;
  font-family:var(--font-sans); font-size:.94rem; font-weight:500; color:var(--color-text);
  display:flex; align-items:center; gap:14px; transition:background var(--transition), color var(--transition);
}
.katalog-index button:hover{ background:var(--color-bg-alt); color:var(--color-brand); }
.katalog-index .ic-num{ font-family:var(--font-display); font-weight:700; font-size:.8rem; color:var(--color-accent); letter-spacing:.04em; }

/* ============ ÖNE ÇIKAN VİDEO ============ */
.video-feature{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(28px,4vw,52px); align-items:center; }
.video-feature .vf-lead{ font-family:var(--font-display); font-weight:500; font-size:clamp(1.05rem,1.4vw,1.28rem);
  line-height:1.5; color:var(--color-brand); max-width:34ch; margin-bottom:20px; }
@media (max-width:820px){ .video-feature{ grid-template-columns:1fr; gap:24px; } }

/* --- Büyük videonun yanındaki küçük dikey kısa videolar -------------------
   Ana sayfada sağ kolon yalnızca metinle boş kalıyordu. Aynı oynatıcıyı
   açan dört küçük dikey kapak, alanı doldurup arşive giriş noktası olur. */
.mini-shorts{ margin:26px 0 22px; }
.ms-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:14px;
  padding-bottom:10px; margin-bottom:14px; border-bottom:var(--border);
}
.ms-label{
  font-size:.7rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--color-accent);
}
.ms-all{
  font-size:.8rem; font-weight:600; color:var(--color-brand);
  border-bottom:1px solid transparent; transition:color var(--transition), border-color var(--transition);
}
.ms-all:hover{ color:var(--color-accent); border-bottom-color:currentColor; }

.ms-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.ms-card{
  display:flex; flex-direction:column; gap:8px; cursor:pointer;
  background:none; border:0; padding:0; text-align:left;
}
.ms-thumb{
  position:relative; display:block; overflow:hidden;
  aspect-ratio:9/16; border-radius:10px; border:var(--border);
  background:var(--color-bg-alt);
  transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.ms-thumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ms-thumb::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(6,26,45,0) 45%, rgba(6,26,45,.42) 100%);
}
.ms-play{
  position:absolute; z-index:2; left:50%; top:50%; transform:translate(-50%,-50%);
  width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,.94);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 10px rgba(6,26,45,.28);
  transition:transform var(--transition), background var(--transition);
}
.ms-play svg{ width:10px; height:10px; fill:var(--color-brand); margin-left:1px; }
.ms-card:hover .ms-thumb,
.ms-card:focus-visible .ms-thumb{
  transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:#CFD8E0;
}
.ms-card:hover .ms-play{ transform:translate(-50%,-50%) scale(1.12); background:#fff; }
.ms-card:focus-visible{ outline:3px solid var(--color-focus); outline-offset:3px; border-radius:10px; }
.ms-title{
  font-size:.76rem; line-height:1.35; color:var(--color-text-secondary); font-weight:500;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  min-height:calc(.76rem * 1.35 * 2);
}
@media (max-width:820px){
  .ms-row{ grid-template-columns:repeat(4,1fr); }
}
@media (max-width:480px){
  .ms-row{ grid-template-columns:repeat(2,1fr); gap:10px; }
}
@media (prefers-reduced-motion: reduce){
  .ms-thumb, .ms-play{ transition:none; }
  .ms-card:hover .ms-thumb{ transform:none; }
  .ms-card:hover .ms-play{ transform:translate(-50%,-50%); }
}

/* ============ BOŞ DURUM ============ */
.empty-state{
  text-align:center; padding:clamp(48px,7vw,84px) clamp(20px,4vw,40px);
  border:1px dashed var(--color-line); border-radius:var(--radius); background:var(--color-bg-alt);
}
.empty-state svg{ width:34px; height:34px; stroke:var(--color-text-secondary); opacity:.55; margin:0 auto 18px; }
.empty-state h3{ font-size:1.3rem; margin-bottom:12px; }
.empty-state p{ color:var(--color-text-secondary); font-size:.98rem; max-width:56ch; margin:0 auto 24px; }

/* ============ BİLGİ PANELİ ============ */
.info-grid.cols-3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){ .info-grid.cols-3{ grid-template-columns:1fr; } }
.info-panel{ background:var(--color-bg); border:var(--border); border-top:0; padding:clamp(24px,3vw,34px); }
.info-panel h3{ margin-bottom:18px; }


/* ============ UZMANLIK ETİKETLERİ ============ */
.skill-list{ display:flex; flex-wrap:wrap; gap:10px; }
.skill-list li{
  font-size:.9rem; font-weight:500; color:var(--color-brand); background:var(--color-bg);
  border:var(--border); border-radius:999px; padding:9px 17px;
  transition:border-color var(--transition), color var(--transition);
}
.skill-list li:hover{ border-color:var(--color-accent); color:var(--color-accent); }
.section-alt .skill-list li, .info-panel .skill-list li{ background:var(--color-bg); }

/* ============ FILTER BAR ============ */
.filter-bar{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:18px; background:var(--color-bg-alt); border:var(--border); border-radius:var(--radius); margin-bottom:32px; }
.filter-bar .filter-group{ display:flex; align-items:center; gap:8px; }
.filter-bar label{ font-size:.78rem; font-weight:600; color:var(--color-text-secondary); text-transform:uppercase; letter-spacing:.04em; }
.filter-bar select, .filter-bar input[type="search"]{ min-width:150px; }
.filter-bar .search-field{ flex:1; min-width:200px; }
.tag-list{ display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.tag-chip{ font-size:.8rem; font-weight:600; padding:6px 13px; border-radius:999px; border:var(--border); color:var(--color-text-secondary); background:var(--color-bg); cursor:pointer; transition:border-color var(--transition), color var(--transition); }
.tag-chip:hover, .tag-chip[aria-pressed="true"]{ border-color:var(--color-brand); color:var(--color-brand); }

/* ============ FORM ELEMENTS ============ */
input, textarea, select{
  font-family:var(--font-sans); font-size:.95rem; color:var(--color-text); background:var(--color-bg);
  border:1px solid var(--color-line); border-radius:var(--radius-sm); padding:11px 13px; width:100%;
}
input:focus, textarea:focus, select:focus{ border-color:var(--color-brand); }
label{ font-size:.86rem; font-weight:600; color:var(--color-text); display:block; margin-bottom:6px; }
.field{ margin-bottom:18px; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:600px){ .field-row{ grid-template-columns:1fr; } }
.checkbox-field{ display:flex; align-items:flex-start; gap:10px; }
.checkbox-field input{ width:auto; margin-top:3px; }
.checkbox-field label{ margin:0; font-weight:400; font-size:.88rem; color:var(--color-text-secondary); }
.form-note{ font-size:.8rem; color:var(--color-text-secondary); margin-top:16px; }
.form-status{ font-size:.9rem; margin-top:14px; padding:12px 14px; border-radius:var(--radius-sm); display:none; }
.form-status.visible{ display:block; }
.form-status.success{ background:#EEF5EE; color:#2C5A34; border:1px solid #CFE3D0; }
.form-status.error{ background:#FBEEEC; color:#8A2E20; border:1px solid #F1CFC8; }

/* ============ PAGINATION ============ */
.pagination{ display:flex; align-items:center; justify-content:center; gap:6px; margin-top:44px; }
.pagination a, .pagination span{ min-width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--radius-sm); border:var(--border); font-size:.88rem; font-weight:600; color:var(--color-text-secondary); }
.pagination a:hover{ border-color:var(--color-brand); color:var(--color-brand); }
.pagination [aria-current="page"]{ background:var(--color-brand); border-color:var(--color-brand); color:#fff; }
.pagination .prev-next{ padding:0 14px; width:auto; gap:6px; }
.pagination .disabled{ opacity:.4; pointer-events:none; }

/* ============ SOCIAL ROW ============
   Sade daireler yerine: dolgulu marka ikonları, üzerine gelince ilgili
   platformun rengine dönen zemin ve hafif yükselme. */
.social-row{ display:flex; gap:12px; flex-wrap:wrap; }
.social-row .soc{
  position:relative; width:44px; height:44px; border-radius:14px; border:var(--border);
  background:var(--color-bg); color:var(--color-brand);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  transition:transform 220ms cubic-bezier(.2,.7,.2,1), color var(--transition),
             border-color var(--transition), box-shadow var(--transition);
}
.social-row .soc svg{ width:19px; height:19px; position:relative; z-index:1; }
/* Renk dolgusu alttan yükselir */
.social-row .soc::before{
  content:""; position:absolute; inset:0; transform:translateY(101%);
  transition:transform 300ms cubic-bezier(.2,.7,.2,1); background:var(--soc-color, var(--color-brand));
}
.social-row .soc:hover{ color:#fff; border-color:transparent; transform:translateY(-4px); box-shadow:var(--shadow-md); }
.social-row .soc:hover::before{ transform:translateY(0); }
.social-row .soc:focus-visible{ outline:3px solid var(--color-focus); outline-offset:3px; }

.soc-ig{ --soc-color:linear-gradient(45deg,#F09433,#DC2743 45%,#BC1888); }
.soc-yt{ --soc-color:#FF0000; }
.soc-li{ --soc-color:#0A66C2; }
.soc-x{  --soc-color:#111418; }
.soc-fb{ --soc-color:#1877F2; }
.soc-tt{ --soc-color:linear-gradient(45deg,#25F4EE 12%,#111 52%,#FE2C55 88%); }

/* Ana sayfa sosyal bölümü — büyük boy, ortalanmış */
/* ============ ANA SAYFA — SOSYAL MEDYA KANALLARI ============
   Tek sıra ikon yerine kart ızgarası: her platformun kendi marka rengi
   ikon diskinde, yanında platform ve hesap adı. Kart üzerine gelince
   kart yükselir, kenarı platformun rengini alır. Renkler satır içi
   --sc-bg / --sc-line değişkenleriyle build.py'den gelir. */
.soc-section{ position:relative; overflow:hidden; }
.soc-glow{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(720px 300px at 10% -10%, rgba(14,118,60,.10), transparent 68%),
    radial-gradient(700px 320px at 92% 110%, rgba(8,36,62,.10), transparent 70%);
}
.soc-section > .container{ position:relative; z-index:1; }
/* Başlık solda, kanal kartları sağda 2×3 — geniş ekranda boşluk kalmıyor */
.soc-layout{
  display:grid; gap:clamp(28px, 4vw, 56px); align-items:center;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
}
.soc-head h2{ margin:8px 0 0; }
.soc-head .lead{ margin:14px 0 0; max-width:44ch; }
.soc-grid{ display:grid; gap:14px; grid-template-columns:repeat(2, minmax(0,1fr)); }
@media (max-width:980px){
  .soc-layout{ grid-template-columns:1fr; align-items:start; }
  .soc-head .lead{ max-width:62ch; }
}
.soc-card{
  display:flex; align-items:center; gap:14px; min-width:0;
  padding:15px 16px; text-decoration:none;
  background:#fff; border:1px solid var(--color-line); border-radius:16px;
  box-shadow:0 1px 2px rgba(6,26,45,.05);
  transition:transform 280ms cubic-bezier(.2,.7,.2,1), box-shadow 280ms ease, border-color 280ms ease;
}
.soc-card:hover, .soc-card:focus-visible{
  transform:translateY(-4px);
  border-color:var(--sc-line, var(--color-accent));
  box-shadow:0 20px 34px -20px rgba(6,26,45,.34);
}
.soc-card:focus-visible{ outline:3px solid var(--color-focus); outline-offset:3px; }
.sc-ic{
  flex:0 0 auto; width:46px; height:46px; border-radius:14px;
  background:var(--sc-bg, var(--color-brand)); color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 18px -10px rgba(6,26,45,.55);
  transition:transform 280ms cubic-bezier(.2,.7,.2,1);
}
.sc-ic svg{ width:22px; height:22px; }
.soc-card:hover .sc-ic{ transform:scale(1.07) rotate(-4deg); }
.sc-body{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.sc-name{
  font-family:var(--font-display); font-weight:700; font-size:.97rem;
  color:var(--color-brand); line-height:1.25;
}
.sc-handle{
  font-size:.82rem; color:var(--color-text-secondary);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.sc-go{
  margin-left:auto; flex:0 0 auto; display:flex; color:var(--color-line);
  opacity:0; transform:translateX(-6px);
  transition:opacity 240ms ease, transform 240ms ease, color 240ms ease;
}
.sc-go svg{ width:18px; height:18px; }
.soc-card:hover .sc-go, .soc-card:focus-visible .sc-go{
  opacity:1; transform:none; color:var(--sc-line, var(--color-accent));
}
@media (max-width:620px){
  .soc-grid{ grid-template-columns:1fr; gap:11px; }
  .soc-card{ padding:13px 14px; }
  .sc-ic{ width:42px; height:42px; border-radius:13px; }
}
@media (prefers-reduced-motion: reduce){
  .soc-card, .sc-ic, .sc-go{ transition:none; }
  .soc-card:hover{ transform:none; }
  .soc-card:hover .sc-ic{ transform:none; }
}
/* Sağdan sola: ok ve ikon yerleri tarayıcı tarafından çevrilir; okun
   yönü işleve göre ters çevrilir. */
.is-rtl .sc-go svg{ transform:scaleX(-1); }

.social-row-lg{ justify-content:center; gap:clamp(12px,2vw,18px); }
.social-row-lg .soc{ width:60px; height:60px; border-radius:18px; }
.social-row-lg .soc svg{ width:25px; height:25px; }

@media (prefers-reduced-motion: reduce){
  .social-row .soc, .social-row .soc::before{ transition:none; }
  .social-row .soc:hover{ transform:none; }
}

/* ============ CONTACT ============ */
.contact-grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(32px,5vw,64px); }
.contact-info-card{ background:var(--color-bg-alt); border:var(--border); border-radius:var(--radius); padding:clamp(26px,3vw,36px); height:fit-content; }
.contact-info-card .info-row{ display:flex; flex-direction:column; gap:4px; padding:16px 0; border-bottom:var(--border); }
.contact-info-card .info-row:first-of-type{ padding-top:0; }
.contact-info-card .info-row:last-of-type{ border-bottom:none; padding-bottom:0; }
.contact-info-card .info-label{ font-size:.74rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--color-text-secondary); }
.contact-info-card .info-value{ font-size:1rem; font-weight:600; color:var(--color-brand); overflow-wrap:anywhere; }
.contact-info-card .info-value a:hover{ color:var(--color-accent); }
.footer-contact .fc-item{ overflow-wrap:anywhere; }
@media (max-width:820px){ .contact-grid{ grid-template-columns:1fr; } }

/* ============ ARTICLE (single) ============ */
.article-hero-media{ aspect-ratio:21/9; background:var(--color-bg-alt); border:var(--border); border-radius:var(--radius); display:flex; align-items:center; justify-content:center; margin:32px 0 40px; }
.article-hero-media svg{ width:30px; height:30px; stroke:var(--color-text-secondary); opacity:.6; }
.article-toolbar{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:18px 0; margin-top:40px; border-top:var(--border); border-bottom:var(--border); }
.share-row{ display:flex; align-items:center; gap:10px; }
.share-row span{ font-size:.8rem; font-weight:600; color:var(--color-text-secondary); text-transform:uppercase; letter-spacing:.05em; }
.prevnext-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:40px; }
.prevnext-grid a{ border:var(--border); border-radius:var(--radius); padding:18px 20px; display:block; }
.prevnext-grid a:hover{ border-color:var(--color-brand); }
.prevnext-grid .dir-label{ font-size:.74rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--color-text-secondary); display:block; margin-bottom:6px; }
.prevnext-grid .next-link{ text-align:right; }
@media (max-width:640px){ .prevnext-grid{ grid-template-columns:1fr; } .prevnext-grid .next-link{ text-align:left; } }

/* ============ VIDEO MODAL ============ */
.video-modal{ position:fixed; inset:0; background:rgba(8,36,62,.72); display:none; align-items:center; justify-content:center; z-index:100; padding:24px; }
.video-modal.open{ display:flex; }
.video-modal-inner{ background:#000; width:min(920px,100%); aspect-ratio:16/9; position:relative; border-radius:var(--radius); overflow:hidden; }
.video-modal-inner iframe{ width:100%; height:100%; border:0; }
.video-modal-close{ position:absolute; top:-46px; right:0; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.4); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.video-modal-close svg{ width:16px; height:16px; }
.video-modal-note{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; text-align:center; padding:24px; font-size:.9rem; }

/* ============ COOKIE BANNER ============ */
.cookie-banner{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:90; max-width:560px; margin:0 auto;
  background:var(--color-bg); border:var(--border); border-radius:var(--radius); box-shadow:var(--shadow-md);
  padding:20px 22px; display:none; gap:14px; flex-direction:column;
}
.cookie-banner.visible{ display:flex; }
.cookie-banner p{ font-size:.88rem; color:var(--color-text-secondary); }
.cookie-banner .cookie-actions{ display:flex; gap:10px; flex-wrap:wrap; }

/* ============ FOOTER BÖLGESİ (koyu CTA bandı + koyu footer) ============
   Not: Footer bölgesi, referans olarak iletilen tasarım doğrultusunda koyu
   lacivert yapılmıştır (ilk brief'teki "footer koyu olmasın" maddesinin
   bilinçli istisnası — bkz. README). Renkler logodan türetilmiştir. */

/* İçerik sarmalayıcı: footer'ın üzerinden kayarak onu ortaya çıkarır */
/* Katman sırası: footer (is-revealing, z-index:1) < tam ekran hero (2)
   < içerik katmanı (3) < başlık şeridi (50).
   Hero footer'ın ÜSTÜNDE olmak zorunda: footer açılış efekti için
   position:fixed olduğundan, aksi hâlde sayfa tepesindeyken
   görüntü alanının alt yarısını kaplayıp hero'yu kesiyor. */
.scroll-content{ position:relative; z-index:3; background:var(--color-bg); }

/* overflow:hidden şart: aşağıdaki .fz-glow katmanı kasten footer'ın sağ
   kenarının dışına taşar; kırpılmazsa sayfaya yatay kaydırma ekler. */
.footer-zone{ background:var(--color-footer-bg); color:#fff; position:relative; overflow:hidden; --fp:1; }
.footer-zone.is-revealing{ position:fixed; left:0; right:0; bottom:0; z-index:1; }

/* --- Footer girişi ---------------------------------------------------------
   İçerik footer'ın üzerinden kayarken footer sabit durur. Ne kadarının
   açıldığı js/main.js tarafından --fp (0 → 1) olarak hem footer'a hem de
   içerik katmanına yazılır. Kaydırma ilerledikçe:

     · içerik katmanının alt köşeleri yuvarlanır ve altına gölge düşer
       (üstteki sayfa, footer'ın üzerinden kalkan bir yaprak gibi okunur)
     · üstteki marka çizgisi ortadan iki yana doğru çizilir
     · altıgen desen yukarı doğru yaklaşır ve belirir
     · yeşil ışıma büyüyerek parlar
     · içerik blokları bulanıktan nete geçerek sırayla yükselir

   Kurumsal sayfasının giriş bölümüyle aynı desen ve aynı yumuşama eğrisi
   kullanılır. Tüm gizli başlangıç durumları yalnızca JavaScript'in eklediği
   sınıflara bağlıdır; JavaScript kapalıyken footer eksiksiz görünür. */

/* Üstteki içerik katmanı: footer açıldıkça köşeleri yuvarlanır */
.scroll-content{ --fp:1; }
.scroll-content.is-lifting{
  box-shadow:0 calc(var(--fp) * 22px) calc(var(--fp) * 46px) rgba(3, 14, 26, calc(var(--fp) * .52));
}
/* Alt köşeler: border-radius kullanılamaz — son bölümün kendi zemini üst
   ögenin yuvarlatmasını taşırdı ve düzeltmek için scroll-content'e
   overflow:hidden vermek gerekirdi (bu da sayfa içi yapışkan ögeleri
   bozar). Onun yerine footer renginde iki köşe kaması çizilir; görsel
   sonuç yuvarlatmanın aynısıdır. */
/* Ek yerindeki marka çizgisi: footer'ın kendi .fz-line'ı içerik katmanının
   altında kaldığı için (ayrı yığın bağlamları) çizgi burada, yani ekin tam
   üzerinde çizilir. Ortadan iki yana doğru açılır. */
.scroll-content.is-lifting::before{
  content:""; position:absolute; left:50%; bottom:0; height:2px; z-index:4;
  width:calc(var(--fp) * 100%); transform:translateX(-50%);
  pointer-events:none; opacity:calc(.2 + var(--fp) * .8);
  background:linear-gradient(90deg,
    rgba(34,176,101,0) 0%,
    var(--color-accent) 20%,
    var(--color-accent-on-dark) 50%,
    var(--color-accent) 80%,
    rgba(34,176,101,0) 100%);
}
.scroll-content.is-lifting::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:22px;
  z-index:3; pointer-events:none; opacity:var(--fp);
  background:
    radial-gradient(22px 22px at 22px 0, rgba(0,0,0,0) 0 21.5px, var(--color-footer-bg) 22px)
      left bottom / 23px 23px no-repeat,
    radial-gradient(22px 22px at 0 0, rgba(0,0,0,0) 0 21.5px, var(--color-footer-bg) 22px)
      right bottom / 23px 23px no-repeat;
}

.fz-line{
  position:absolute; top:0; left:50%; height:2px; z-index:3; pointer-events:none;
  width:calc(var(--fp) * 100%); transform:translateX(-50%);
  background:linear-gradient(90deg,
    rgba(34,176,101,0) 0%,
    var(--color-accent) 22%,
    var(--color-accent-on-dark) 50%,
    var(--color-accent) 78%,
    rgba(34,176,101,0) 100%);
  opacity:calc(.25 + var(--fp) * .75);
}
.fz-pattern{
  position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden;
  opacity:calc(var(--fp) * var(--fp) * .62);
  transform:translateY(calc((1 - var(--fp)) * 34px));
}
.fz-pattern::before{
  content:""; position:absolute; inset:-20% -10%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 0 56 16v32L28 64 0 48V16z' fill='none' stroke='%23ffffff' stroke-opacity='0.07' stroke-width='1.2'/%3E%3Cpath d='M28 64 56 80v32L28 128 0 112V80z' fill='none' stroke='%23ffffff' stroke-opacity='0.07' stroke-width='1.2'/%3E%3C/svg%3E");
  animation:corp-drift 60s linear infinite;
}
.fz-glow{
  position:absolute; z-index:0; pointer-events:none;
  bottom:-38%; right:-10%; width:min(720px,84vw); aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, rgba(34,176,101,.22) 0%, rgba(34,176,101,.08) 42%, rgba(34,176,101,0) 68%);
  transform:scale(calc(.62 + var(--fp) * .38));
  opacity:calc(var(--fp) * var(--fp));
}
/* Sol üstte ikinci, daha soğuk bir ışıma: tek yönlü parlama yerine derinlik */
.fz-glow-2{
  position:absolute; z-index:0; pointer-events:none;
  top:-26%; left:-8%; width:min(560px,70vw); aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, rgba(56,120,190,.16) 0%, rgba(56,120,190,.05) 45%, rgba(56,120,190,0) 70%);
  transform:scale(calc(.7 + var(--fp) * .3));
  opacity:calc(var(--fp) * .9);
}
.footer-zone > .pre-footer-cta,
.footer-zone > .site-footer{ position:relative; z-index:2; }

/* Açılırken içerik bulanıktan nete geçerek sırayla yükselir */
.footer-zone.is-armed .fz-rise{
  opacity:0; transform:translateY(30px) scale(.985); filter:blur(7px);
  transition:opacity 760ms cubic-bezier(.2,.7,.2,1),
             transform 760ms cubic-bezier(.2,.7,.2,1),
             filter 760ms cubic-bezier(.2,.7,.2,1);
}
.footer-zone.is-armed.is-open .fz-rise{ opacity:1; transform:none; filter:none; }
.footer-zone.is-armed .fz-rise:nth-child(1){ transition-delay:40ms; }
.footer-zone.is-armed .fz-rise:nth-child(2){ transition-delay:150ms; }
.footer-zone.is-armed .fz-rise:nth-child(3){ transition-delay:260ms; }
.footer-zone.is-armed .fz-rise:nth-child(4){ transition-delay:370ms; }
.footer-zone.is-armed .fz-rise:nth-child(5){ transition-delay:480ms; }

/* Logo ve sosyal ikonlar kolondan biraz sonra gelir */
.footer-zone.is-armed .footer-about img,
.footer-zone.is-armed .footer-about .social-row{
  opacity:0; transform:translateY(14px);
  transition:opacity 620ms cubic-bezier(.2,.7,.2,1), transform 620ms cubic-bezier(.2,.7,.2,1);
}
.footer-zone.is-armed.is-open .footer-about img{ opacity:1; transform:none; transition-delay:220ms; }
.footer-zone.is-armed.is-open .footer-about .social-row{ opacity:1; transform:none; transition-delay:520ms; }

/* Alt şerit (telif + yasal bağlantılar) en son belirir */
.footer-zone.is-armed .footer-bottom{
  opacity:0; transition:opacity 700ms ease;
}
.footer-zone.is-armed.is-open .footer-bottom{ opacity:1; transition-delay:640ms; }

@media (prefers-reduced-motion: reduce){
  .fz-pattern::before{ animation:none; }
  .fz-pattern{ transform:none; }
  .scroll-content.is-lifting{ box-shadow:none; }
  .scroll-content.is-lifting::after,
  .scroll-content.is-lifting::before{ display:none; }
  .footer-zone.is-armed .fz-rise,
  .footer-zone.is-armed .footer-about img,
  .footer-zone.is-armed .footer-about .social-row,
  .footer-zone.is-armed .footer-bottom{
    opacity:1; transform:none; filter:none; transition:none;
  }
}

/* CTA bandı */
.pre-footer-cta{
  position:relative; overflow:hidden;
  background:
    radial-gradient(120% 140% at 12% 0%, rgba(34,176,101,.20) 0%, rgba(34,176,101,0) 55%),
    linear-gradient(180deg, var(--color-brand) 0%, var(--color-footer-bg) 100%);
  padding:clamp(52px,7vw,86px) 0;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.pre-footer-cta .cta-grid{ display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(28px,5vw,64px); align-items:center; }
.pre-footer-cta .eyebrow{ color:var(--color-accent-on-dark); }
.pre-footer-cta h2{ color:#fff; margin:12px 0 0; }
.pre-footer-cta h2 em{ font-style:normal; color:var(--color-accent-on-dark); }
.pre-footer-cta p{ color:var(--color-on-dark-muted); font-size:.98rem; margin-top:16px; max-width:46ch; }
/* Koyu zemin üzerindeki birincil düğme — hem footer CTA'sında hem de
   koyu sayfa girişlerinde (ör. Kurumsal) kullanılır. */
.btn-on-dark{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-sans); background:var(--color-accent); color:#fff;
  font-weight:600; font-size:.96rem; padding:16px 26px;
  border:1px solid var(--color-accent); border-radius:var(--radius-sm); cursor:pointer;
  transition:background var(--transition), border-color var(--transition),
             transform 220ms cubic-bezier(.2,.7,.2,1), box-shadow var(--transition);
}
.btn-on-dark:hover{
  background:#0B5E30; border-color:#0B5E30; color:#fff;
  transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.28);
}
.btn-on-dark:focus-visible{ outline:3px solid var(--color-accent-on-dark); outline-offset:3px; }
.btn-on-dark svg{ width:15px; height:15px; }
.pre-footer-cta .btn-on-dark{ width:100%; }
@media (prefers-reduced-motion: reduce){
  .btn-on-dark{ transition:none; }
  .btn-on-dark:hover{ transform:none; }
}
@media (max-width:820px){ .pre-footer-cta .cta-grid{ grid-template-columns:1fr; } .pre-footer-cta .btn-on-dark{ width:auto; } }

/* Footer */
.site-footer{ background:transparent; padding:clamp(48px,6vw,72px) 0 0; }
.footer-top{ display:grid; grid-template-columns:1.5fr .8fr .8fr 1fr; gap:clamp(28px,4vw,48px); padding-bottom:44px; }
.footer-about p{ color:var(--color-on-dark-muted); font-size:.9rem; margin-top:16px; max-width:34ch; }
.footer-col .col-label{ font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--color-accent-on-dark); margin-bottom:16px; }
.footer-links{ display:flex; flex-direction:column; gap:11px; }
.footer-links a{ font-size:.92rem; color:rgba(255,255,255,.88); transition:color var(--transition); }
.footer-links a:hover{ color:var(--color-accent-on-dark); }
.footer-contact{ display:flex; flex-direction:column; gap:16px; }
.footer-contact .fc-item{ font-size:.92rem; color:rgba(255,255,255,.88); }
.footer-contact .fc-item strong{ display:block; font-size:1.02rem; font-weight:600; color:#fff; }
.footer-contact .fc-item span{ display:block; color:var(--color-on-dark-muted); font-size:.82rem; margin-top:3px; }
.site-footer .social-row .soc{ border-color:rgba(255,255,255,.24); background:rgba(255,255,255,.05); color:#fff; }
/* Üzerine gelindiğinde zemin platformun kendi rengine döner, ikon BEYAZ kalır.
   (Daha önce buradaki genel `.social-row a:hover` kuralı altbilgi metin
   bağlantıları için yazılmıştı ama sosyal ikonlara da uyuyor ve ikonu yeşile
   çeviriyordu. Metin bağlantıları `.footer-links a:hover` ile yönetilir.) */
.site-footer .social-row .soc:hover,
.site-footer .social-row .soc:focus-visible{ border-color:transparent; color:#fff; }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.11); padding:22px 0; display:flex; justify-content:space-between;
  align-items:center; flex-wrap:wrap; gap:10px; font-size:.8rem; color:var(--color-on-dark-muted);
}
.footer-bottom .legal-links{ display:flex; gap:18px; flex-wrap:wrap; }
.footer-bottom .legal-links a{ color:var(--color-on-dark-muted); transition:color var(--transition); }
.footer-bottom .legal-links a:hover{ color:var(--color-accent-on-dark); }
@media (max-width:900px){ .footer-top{ grid-template-columns:1fr 1fr; row-gap:36px; } }
@media (max-width:560px){ .footer-top{ grid-template-columns:1fr; } }

/* ============ 404 ============ */
.error-page{ text-align:center; padding:clamp(70px,10vw,120px) 0; }
.error-page .error-code{ font-family:var(--font-display); font-size:clamp(4rem,10vw,7rem); color:var(--color-line); font-weight:700; line-height:1; }
.error-page h1{ margin-top:8px; }
.error-page .lead{ margin:16px auto 30px; }
.error-page .cta-row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ============ UTILITIES ============ */
.text-center{ text-align:center; }
.mt-0{ margin-top:0 !important; }
.hidden{ display:none !important; }
.visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ============ PRINT ============ */
@media print{
  .site-header, .footer-zone, .site-footer, .pre-footer-cta, .article-toolbar, .cookie-banner, .breadcrumb, .nav-toggle, .header-search{ display:none !important; }
  .scroll-content{ margin-bottom:0 !important; }
  body{ color:#000; }
  a{ color:#000; text-decoration:underline; }
  .prose{ max-width:none; }
}

/* ============ RESPONSIVE: hero / grids ============ */
@media (max-width:900px){
  .home-hero .grid{ grid-template-columns:1fr; }
  .featured-article{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .card-grid.cols-2, .card-grid.cols-3, .card-grid.cols-4{ grid-template-columns:1fr; }
}

/* ==========================================================================
   YÜKLENİYOR EKRANI (MK perdesi)
   Perde yalnızca <html> üzerinde .mk-loading varken görünür; bu sınıfı
   <head> içindeki küçük betik ekler. JavaScript kapalıysa sınıf hiç
   eklenmez, perde hiç görünmez ve içerik doğrudan okunur.
   ========================================================================== */
#mkLoader{ display:none; }
.mk-loading #mkLoader, #mkLoader.is-leaving{
  display:flex; position:fixed; inset:0; z-index:9999;
  flex-direction:column; align-items:center; justify-content:center; gap:30px;
  background:
    radial-gradient(120% 90% at 50% 8%, rgba(34,176,101,.14), rgba(34,176,101,0) 58%),
    linear-gradient(175deg, var(--color-brand) 0%, var(--color-footer-bg) 100%);
  opacity:1; visibility:visible;
  transition:opacity 480ms ease, visibility 480ms ease;
}
.mk-loading{ overflow:hidden; }
#mkLoader.is-done{ opacity:0; visibility:hidden; pointer-events:none; }

/* Sayfalar arası geçiş: perde 320 ms'de kapanır, logo hafifçe büyüyerek
   girer ve çubuk belirsiz bir süpürme yapar (hedef sayfanın yüklenme oranı
   henüz bilinmediği için). */
#mkLoader.is-leaving{
  opacity:1; visibility:visible; pointer-events:auto;
  transition:opacity 320ms ease;
}
#mkLoader.is-leaving .mkl-logo{ animation:mkl-enter 420ms cubic-bezier(.2,.8,.2,1) both; }
@keyframes mkl-enter{
  from{ opacity:0; transform:scale(.9); }
  to{ opacity:1; transform:scale(1); }
}
#mkLoader.is-leaving .mkl-figure{ display:none; }
#mkLoader.is-leaving .mkl-bar span{
  width:38%; animation:mkl-sweep 1s cubic-bezier(.5,0,.5,1) infinite;
}
@keyframes mkl-sweep{
  0%{ transform:translateX(-110%); }
  100%{ transform:translateX(320%); }
}
@media (prefers-reduced-motion: reduce){
  #mkLoader.is-leaving{ transition:none; }
  #mkLoader.is-leaving .mkl-logo{ animation:none; }
  #mkLoader.is-leaving .mkl-bar span{ animation:none; width:100%; }
}

.mkl-logo{ width:clamp(116px,15vw,168px); height:auto; display:block; }
/* Logo yumuşakça nefes alır — dikkat çekmeden bekleme hissi verir */
@keyframes mkl-breathe{
  0%,100%{ transform:scale(1); opacity:.92; }
  50%{ transform:scale(1.045); opacity:1; }
}
.mk-loading .mkl-logo{ animation:mkl-breathe 2s ease-in-out infinite; }

.mkl-meta{ display:flex; flex-direction:column; align-items:center; gap:14px; }
.mkl-label{
  font-size:.72rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
  color:var(--color-on-dark-muted);
}
.mkl-figure{
  font-family:var(--font-display); font-weight:700; line-height:1;
  font-size:clamp(2rem,4vw,2.9rem); color:#fff; letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.mkl-figure sup{ font-size:.42em; font-weight:600; color:var(--color-accent-on-dark); top:-.9em; margin-left:3px; }
.mkl-bar{
  width:clamp(180px,26vw,300px); height:3px; border-radius:999px;
  background:rgba(255,255,255,.16); overflow:hidden;
}
.mkl-bar span{
  display:block; height:100%; width:0; border-radius:999px;
  background:linear-gradient(90deg, var(--color-accent), var(--color-accent-on-dark));
  transition:width 220ms ease;
}
@media (prefers-reduced-motion: reduce){
  .mk-loading #mkLoader, #mkLoader.is-leaving{ transition:none; }
  .mk-loading .mkl-logo{ animation:none; }
  .mkl-bar span{ transition:none; }
}

/* ==========================================================================
   UZMANLIK PETEĞİ (altıgen halka)
   Geometri: sivri tepeli altıgen (clip-path). Bir altıgenin yüksekliği
   genişliğinin 1.1547 katıdır; satırlar kenetlenmek için yüksekliğin 1/4'ü
   kadar üst üste biner. Satır hücre sayıları 4-5-4 olduğu için ortalanmış
   satırlar kendiliğinden yarım hücre kayar ve halka oluşur.
   Fare yakınlığı JS tarafından --f (0..1) ve --mx/--my olarak yazılır;
   ışık lekesi, yükselme ve renk geçişi bu değerlerden hesaplanır.
   Dokunmatikte ve azaltılmış hareket modunda hücreler sabit durur.
   ========================================================================== */
.hive{
  --hex-w:clamp(134px,13.5vw,176px);
  --hex-h:calc(var(--hex-w) * 1.1547);
  --hex-gap:8px;
  margin-top:clamp(24px,3.5vw,40px);
}
.hive-rows{ display:flex; flex-direction:column; align-items:center; max-width:100%; }
.hive-row{ display:flex; justify-content:center; gap:var(--hex-gap); }
/* Kenetlenme: yüksekliğin dörtte biri kadar bindirme */
.hive-row + .hive-row{ margin-top:calc(var(--hex-h) * -0.25 + var(--hex-gap) * 0.9); }

.hive-cell{
  --f:0; --mx:50%; --my:50%; --tx:0px; --ty:0px;
  position:relative; width:var(--hex-w); height:var(--hex-h);
  clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  /* Bu katman altıgenin kenar çizgisi olur (clip-path border almaz);
     asıl zemin ::before ile 1.5px içeriden çizilir. */
  background:color-mix(in srgb, var(--color-brand) calc(12% + var(--f) * 58%), var(--color-line));
  border:none; padding:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  text-align:center; cursor:default; overflow:hidden;
  /* clip-path box-shadow'u kırptığı için gölge filter ile verilir */
  filter:drop-shadow(0 2px 5px rgba(8,36,62,.13));
  transition:filter var(--transition);
}
/* Asıl zemin — kenar çizgisini açıkta bırakacak şekilde içeriden */
.hive-cell::before{
  content:""; position:absolute; inset:1.5px; pointer-events:none;
  clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  background:linear-gradient(155deg, #FFFFFF 0%, #F2F6F4 100%);
  transition:background var(--transition);
}
/* Fareyi izleyen yeşil ışık lekesi */
.hive-cell::after{
  content:""; position:absolute; inset:1.5px; pointer-events:none;
  clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  background:radial-gradient(58% 58% at var(--mx) var(--my),
             rgba(14,118,60,.28), rgba(14,118,60,0) 74%);
  opacity:var(--f);
}
.hive.is-interactive .hive-cell{
  transform:translate(var(--tx), var(--ty)) scale(calc(1 + var(--f) * .04));
  z-index:calc(1 + var(--f) * 10);
}
.hive.is-interactive .hive-cell:hover{ z-index:20; }

.hive-ic{
  position:relative; z-index:2; width:28px; height:28px; color:var(--color-accent);
  transition:color var(--transition), transform var(--transition);
}
.hive-cell:hover .hive-ic{ transform:translateY(-2px); }
.hive-label{
  position:relative; z-index:2; padding:0 clamp(14px,1.6vw,20px);
  font-family:var(--font-display); font-weight:600; font-size:.775rem; line-height:1.34;
  color:var(--color-brand); overflow-wrap:anywhere; text-wrap:balance;
  transition:color var(--transition);
}
/* İmleç hücreye girdiğinde: lacivert zemin, beyaz yazı, yeşil ikon */
.hive-cell:hover, .hive-cell:focus-visible{ filter:drop-shadow(0 10px 22px rgba(8,36,62,.32)); }
.hive-cell:hover::before, .hive-cell:focus-visible::before{
  background:linear-gradient(155deg, var(--color-brand), var(--color-footer-bg));
}
.hive-cell:hover .hive-label, .hive-cell:focus-visible .hive-label{ color:#fff; }
.hive-cell:hover .hive-ic, .hive-cell:focus-visible .hive-ic{ color:var(--color-accent-on-dark); }
.hive-cell:focus-visible{ outline:3px solid var(--color-focus); outline-offset:-6px; }

@media (max-width:900px){
  .hive{ --hex-w:clamp(104px,16.5vw,150px); --hex-gap:7px; }
  .hive-ic{ width:24px; height:24px; }
  .hive-label{ font-size:.71rem; padding:0 10px; }
}
/* Dar ekranda petek düzeni okunmaz hâle gelir: sade ızgaraya döner */
@media (max-width:620px){
  .hive-rows{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
  .hive-row{ display:contents; }
  .hive-row + .hive-row{ margin-top:0; }
  .hive-cell{
    width:auto; height:auto; aspect-ratio:1 / 1; clip-path:none;
    border-radius:var(--radius-sm); filter:none; background:var(--color-line);
  }
  .hive-cell::before, .hive-cell::after{ clip-path:none; border-radius:calc(var(--radius-sm) - 1px); }
  .hive-cell:hover, .hive-cell:focus-visible{ filter:none; box-shadow:var(--shadow-md); }
  .hive-label{ font-size:.76rem; padding:0 12px; }
}
@media (prefers-reduced-motion: reduce){
  .hive.is-interactive .hive-cell{ transform:none; }
  .hive-cell, .hive-ic, .hive-label, .hive-cell::before{ transition:none; }
  .hive-cell:hover .hive-ic{ transform:none; }
}

/* ==========================================================================
   BELGE SEKMELERİ (e-katalog üstü)
   Kurumsal özgeçmiş ile özet CV arasında geçiş. Aynı kitap motoru
   kullanıldığı için ikinci bir görüntüleyici yüklenmez.
   ========================================================================== */
.ecat-tabs{
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px;
  padding:clamp(24px,3vw,36px) clamp(14px,3vw,32px) 0;
}
.ecat-tab{
  display:inline-flex; align-items:center; gap:11px; cursor:pointer;
  padding:12px 20px; border-radius:999px; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16); color:var(--color-on-dark-muted);
  font-family:var(--font-display); font-size:.92rem; font-weight:600;
  transition:background var(--transition), color var(--transition), border-color var(--transition);
}
.ecat-tab svg{ width:17px; height:17px; flex:0 0 auto; }
.ecat-tab em{
  font-style:normal; font-family:var(--font-sans); font-size:.74rem; font-weight:600;
  letter-spacing:.05em; text-transform:uppercase; opacity:.66;
}
.ecat-tab:hover{ color:#fff; border-color:rgba(255,255,255,.34); background:rgba(255,255,255,.1); }
.ecat-tab.is-active{
  background:#fff; color:var(--color-brand); border-color:#fff;
  box-shadow:0 6px 20px rgba(0,0,0,.24);
}
.ecat-tab.is-active svg{ color:var(--color-accent); }
.ecat-tab:focus-visible{ outline:3px solid var(--color-accent-on-dark); outline-offset:3px; }

.ecat-doc-desc{
  margin:16px auto 0; max-width:64ch; padding:0 clamp(14px,3vw,32px);
  text-align:center; font-size:.92rem; line-height:1.65; color:var(--color-on-dark-muted);
}
@media (max-width:600px){
  .ecat-tab{ padding:10px 15px; font-size:.86rem; gap:8px; }
  .ecat-tab em{ display:none; }
}

/* Yan panellerdeki ikonlu uzmanlık listesi */
.skill-list li{ display:inline-flex; align-items:center; gap:9px; }
.skill-list .sl-ic{ width:16px; height:16px; color:var(--color-accent); flex:0 0 auto; }

/* Künye satırı: yeşil ikonlu kutucuklar */
.quick-facts .fact{ display:inline-flex; align-items:center; gap:10px; }
.quick-facts .fact svg{
  width:30px; height:30px; padding:6px; flex:0 0 auto; border-radius:9px;
  color:var(--color-accent); background:rgba(14,118,60,.09);
}

/* Kariyer bölümü sol kolonundaki künye rozetleri */
.career-badges{ display:flex; flex-direction:column; gap:14px; margin:26px 0 30px; }
.career-badges li{ display:flex; align-items:flex-start; gap:13px; }
.career-badges svg{
  width:34px; height:34px; padding:8px; flex:0 0 auto; border-radius:10px;
  color:var(--color-accent); background:rgba(14,118,60,.09);
}
.career-badges strong{
  display:block; font-family:var(--font-display); font-size:.96rem;
  font-weight:600; color:var(--color-brand); line-height:1.3;
}
.career-badges span{ display:block; font-size:.85rem; color:var(--color-text-secondary); margin-top:2px; }

/* ==========================================================================
   E-KATALOG YERLEŞİMİ — içindekiler kitabın yanında
   Sol kolonda dikey bölüm listesi, sağda kitap. Liste kitapla aynı alanın
   içinde durduğu için okurken bölüm değiştirmek kolaydır. Dar ekranda liste
   kitabın altına iner ve yatay kaydırılabilir şeride döner.
   ========================================================================== */
.ecat-layout{
  display:grid; grid-template-columns:minmax(212px, 260px) minmax(0, 1fr);
  gap:clamp(14px,2vw,30px); align-items:start;
  padding:clamp(20px,2.6vw,34px) clamp(10px,2vw,30px) 0;
}
/* Izgara çocukları varsayılan min-width:auto ile içeriğe göre büyür;
   yatay kaydırmalı içindekiler şeridi bu yüzden kolonu şişiriyordu. */
.ecat-layout > *{ min-width:0; }
.ecat-layout .ecat-stage{ padding:clamp(6px,1vw,14px) 0 clamp(14px,2vw,24px); }

.ecat-toc{
  position:sticky; top:calc(64px + 18px);
  background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius); padding:18px 8px 12px 16px;
  max-height:min(72vh, 620px); display:flex; flex-direction:column;
}
.ecat-toc-title{
  font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--color-accent-on-dark); margin:0 0 12px 2px;
}
.ecat-toc-list{
  list-style:none; margin:0; padding:0 8px 0 0; overflow-y:auto; scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.28) transparent;
}
.ecat-toc-list::-webkit-scrollbar{ width:6px; }
.ecat-toc-list::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.26); border-radius:99px; }
.ecat-toc-list li + li{ margin-top:2px; }
.ecat-toc-list button{
  width:100%; display:flex; align-items:baseline; gap:11px; text-align:left;
  padding:9px 11px; border:none; border-radius:8px; cursor:pointer;
  background:none; color:var(--color-on-dark-muted);
  font-family:var(--font-sans); font-size:.855rem; line-height:1.42;
  transition:background var(--transition), color var(--transition);
}
.ecat-toc-list .toc-num{
  flex:0 0 auto; font-family:var(--font-display); font-size:.7rem; font-weight:700;
  letter-spacing:.04em; color:rgba(255,255,255,.4); font-variant-numeric:tabular-nums;
}
.ecat-toc-list button:hover{ background:rgba(255,255,255,.08); color:#fff; }
.ecat-toc-list button:focus-visible{ outline:2px solid var(--color-accent-on-dark); outline-offset:1px; }
/* Okunmakta olan bölüm */
.ecat-toc-list li.is-active button{
  background:rgba(34,176,101,.16); color:#fff; box-shadow:inset 2px 0 0 var(--color-accent-on-dark);
}
.ecat-toc-list li.is-active .toc-num{ color:var(--color-accent-on-dark); }

@media (max-width:1000px){
  /* Liste kitabın altına iner: yatay kaydırılan tek sıra şerit */
  .ecat-layout{ grid-template-columns:1fr; gap:16px; }
  .ecat-toc{
    position:static; max-height:none; padding:14px 14px 12px;
    order:2;
  }
  .ecat-layout .ecat-stage{ order:1; }
  /* Yatay kaydırılan içindekiler şeridi: sağ kenardaki solma, şeridin
     devam ettiğini gösterir (aksi hâlde kart yarıda kesilmiş gibi
     duruyordu). */
  /* position:relative gerekli (aşağıdaki solma katmanı için) ama masaüstü
     sticky kuralından gelen top değeri sıfırlanmalı; aksi hâlde şerit
     82px aşağı kayıp araç çubuğunun üstüne biniyor. */
  .ecat-toc{ position:relative; top:auto; }
  .ecat-toc::after{
    content:""; position:absolute; right:0; bottom:16px; width:34px; height:46px;
    pointer-events:none; border-radius:0 10px 10px 0;
    background:linear-gradient(90deg, rgba(8,36,62,0), rgba(8,36,62,.92));
  }
  .ecat-toc-list{
    display:flex; gap:8px; overflow-x:auto; overflow-y:visible; padding:0 34px 4px 0;
    scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;
  }
  .ecat-toc-list li{ scroll-snap-align:start; }
  .ecat-toc-list li + li{ margin-top:0; }
  .ecat-toc-list li{ flex:0 0 auto; }
  .ecat-toc-list button{ white-space:nowrap; background:rgba(255,255,255,.06); }
  .ecat-toc-list li.is-active button{ box-shadow:inset 0 -2px 0 var(--color-accent-on-dark); }
}

/* ==========================================================================
   OLGU KARTLARI (Eğitim / Görevler / Yönetim Yaklaşımı)
   Eskiden çerçevesiz üç kolonlu listeydi; ikon boyutu tanımsız kaldığı için
   SVG'ler sütun genişliğine yayılıyordu. Artık her satırın ikonu sabit
   ölçülü bir kutucuk içinde.
   ========================================================================== */
.fact-cards{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(16px,2vw,24px);
  margin-top:clamp(22px,3vw,34px);
}
.fact-card{
  background:var(--color-bg); border:var(--border); border-radius:var(--radius);
  padding:clamp(22px,2.4vw,30px); display:flex; flex-direction:column;
  box-shadow:0 1px 2px rgba(8,36,62,.04);
}
.fact-card header{
  display:flex; align-items:center; gap:12px;
  padding-bottom:16px; margin-bottom:18px; border-bottom:1px solid var(--color-line);
}
.fact-card h3{ font-size:1.06rem; margin:0; }
.fc-head-ic{
  width:38px; height:38px; padding:9px; flex:0 0 auto; border-radius:10px;
  color:var(--color-accent); background:rgba(14,118,60,.09);
}
.fact-list{ display:flex; flex-direction:column; gap:18px; margin:0; padding:0; list-style:none; }
.fact-list li{ display:flex; align-items:flex-start; gap:13px; }
/* Satır ikonu — sabit ölçü, taşma yok */
.fact-list .fc-ic{
  flex:0 0 auto; width:30px; height:30px; border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  background:var(--color-bg-alt); color:var(--color-accent);
}
.fact-list .fc-ic svg{ width:16px; height:16px; }
.fact-list .fc-num{
  flex:0 0 auto; width:30px; height:30px; border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  background:var(--color-brand); color:#fff;
  font-family:var(--font-display); font-size:.72rem; font-weight:700; letter-spacing:.02em;
  font-variant-numeric:tabular-nums;
}
.fact-list .fc-period{
  display:block; font-size:.7rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--color-accent); margin-bottom:3px;
}
.fact-list strong{
  display:block; font-family:var(--font-display); font-size:.98rem; font-weight:600;
  color:var(--color-brand); line-height:1.38;
}
.fact-list .fc-sub{ display:block; font-size:.88rem; color:var(--color-text-secondary); margin-top:2px; }
@media (max-width:980px){ .fact-cards{ grid-template-columns:1fr; } }

/* Uzmanlık paneli — iki kolonlu ikonlu liste */
.expertise-panel{
  margin-top:clamp(16px,2vw,24px); background:var(--color-bg);
  border:var(--border); border-radius:var(--radius); padding:clamp(22px,2.6vw,34px);
}
.ep-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap;
  padding-bottom:18px; margin-bottom:20px; border-bottom:1px solid var(--color-line);
}
.ep-head h3{ margin:6px 0 0; font-size:1.24rem; }
.ep-list{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px 26px; margin:0; padding:0; list-style:none;
}
.ep-list li{ display:flex; align-items:center; gap:11px; font-size:.92rem; color:var(--color-text); }
.ep-ic{ width:18px; height:18px; flex:0 0 auto; color:var(--color-accent); }
@media (max-width:900px){ .ep-list{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:600px){ .ep-list{ grid-template-columns:1fr; } }

/* Kariyer sol kolonu — ölçüt kutuları ve alıntı */
.metric-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:14px;
  margin:28px 0 26px;
}
.metric{
  background:var(--color-bg-alt); border:1px solid var(--color-line);
  border-radius:var(--radius-sm); padding:16px 18px;
}
.metric strong{
  display:block; font-family:var(--font-display); font-weight:700; line-height:1;
  font-size:1.8rem; color:var(--color-brand); letter-spacing:-.02em;
}
.metric strong span{ color:var(--color-accent); }
.metric > span{
  display:block; margin-top:7px; font-size:.8rem; font-weight:600;
  color:var(--color-text-secondary); line-height:1.4;
}
.side-quote{
  margin:0 0 26px; padding:0 0 0 18px; border-left:3px solid var(--color-accent);
  font-family:var(--font-display); font-size:1.02rem; font-style:italic;
  line-height:1.55; color:var(--color-brand);
}
@media (max-width:900px){ .metric-grid{ margin:22px 0; } }

/* Dönem etiketindeki ikon her yerde sabit ölçüde kalsın (savunma kuralı) */
.info-period svg{ width:13px; height:13px; flex:0 0 auto; }

/* ==========================================================================
   İLETİŞİM SAYFASI
   Üstte hızlı erişim kartları (telefon / e-posta / ofis), altta form + yan
   panel. Kartlar dokunmatikte de büyük hedefler olacak şekilde ölçülendi.
   ========================================================================== */
.contact-quick-section{ padding-top:clamp(28px,3.5vw,44px); padding-bottom:0; }
.contact-quick{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2vw,22px); }
.cq-card{
  display:flex; flex-direction:column; gap:4px;
  padding:clamp(22px,2.4vw,28px); border:var(--border); border-radius:var(--radius);
  background:var(--color-bg); color:var(--color-text);
  transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.cq-card:hover{ border-color:var(--color-accent); box-shadow:var(--shadow-md); transform:translateY(-3px); }
.cq-ic{
  width:44px; height:44px; margin-bottom:12px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:var(--color-brand); color:#fff;
}
.cq-ic svg{ width:19px; height:19px; }
.cq-label{
  font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--color-accent);
}
.cq-card strong{
  font-family:var(--font-display); font-size:1.02rem; font-weight:600;
  color:var(--color-brand); line-height:1.4; overflow-wrap:anywhere;
}
.cq-card .cq-hint{ font-size:.83rem; color:var(--color-text-secondary); line-height:1.5; margin-top:4px; }
@media (max-width:860px){ .contact-quick{ grid-template-columns:1fr; } }

/* Form + yan panel */
.contact-grid{ align-items:start; }
.contact-form{
  background:var(--color-bg); border:var(--border); border-radius:var(--radius);
  padding:clamp(24px,3vw,38px);
}
.cf-head{ margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--color-line); }
.cf-head h2{ margin-top:6px; font-size:clamp(1.3rem,1.6vw,1.6rem); }
.btn-lg{ padding:15px 30px; font-size:.98rem; }
.btn.is-busy{ opacity:.6; pointer-events:none; }

.contact-aside{ display:flex; flex-direction:column; gap:2px; }
.ca-block{
  background:var(--color-bg); border:var(--border); padding:22px 24px;
}
.ca-block:first-child{ border-radius:var(--radius) var(--radius) 0 0; }
.ca-block:last-child{ border-radius:0 0 var(--radius) var(--radius); }
.ca-block + .ca-block{ border-top:0; }
.ca-block h3{
  font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--color-accent); margin-bottom:10px;
}
.ca-block p{ font-size:.92rem; line-height:1.65; color:var(--color-text); }
.ca-address{ color:var(--color-text-secondary); margin-bottom:10px; }
.ca-block a{ overflow-wrap:anywhere; }
.ca-note p{ color:var(--color-text-secondary); font-size:.88rem; }
@media (max-width:900px){
  .contact-grid{ grid-template-columns:1fr; }
}

/* Kitap kapalıyken (kapak ve arka kapak) tek sayfa görünümü
   ---------------------------------------------------------------------
   StPageFlip iki sayfalık açılım genişliğini korur ve kapağın yanına boş
   beyaz bir yarım sayfa çizer. Burada o yarı kırpılır ve görünen sayfa
   ortalanır. Kaydırma tamamen translate ile yapıldığı için kütüphanenin
   fare/dokunma koordinatları bozulmaz (ölçekleme yok). */
/* Not: kütüphane .stf__parent sınıfını #ecatBook'un KENDİSİNE ekler,
   bu yüzden kural aynı elemana yazılır. */
.ecat-book.is-single{
  clip-path:inset(0 0 0 50%);
  transform:translateX(-25%);
}
/* Arka kapakta dolu yarı solda kalır */
.ecat-book.is-single.is-back{
  clip-path:inset(0 50% 0 0);
  transform:translateX(25%);
}
/* Kırpma zemin gölgesini de keseceği için tek sayfada gölge kapatılır;
   yerine sayfanın kendi kenar gölgesi kullanılır. */
.ecat-book.is-single::after{ display:none; }
.ecat-book.is-single{ filter:drop-shadow(0 18px 34px rgba(0,0,0,.42)); }

/* ==========================================================================
   KURUMSAL — MİSYON & VİZYON
   İki büyük kart: misyon açık zeminde, vizyon marka lacivertinde. Renk
   karşıtlığı iki bölümü tek bakışta ayırır.
   ========================================================================== */
.mv-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(18px,2.4vw,28px); }
.mv-card{
  position:relative; border-radius:var(--radius); padding:clamp(26px,3vw,40px);
  border:var(--border); background:var(--color-bg); overflow:hidden;
}
.mv-badge{
  display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:var(--color-accent);
}
.mv-card h2{ margin:10px 0 12px; font-size:clamp(1.5rem,2vw,2rem); }
.mv-card > p{ color:var(--color-text-secondary); line-height:1.7; max-width:52ch; }
.mv-list{ list-style:none; margin:24px 0 0; padding:0; display:flex; flex-direction:column; gap:14px; }
.mv-list li{ display:flex; align-items:flex-start; gap:13px; font-size:.95rem; line-height:1.6; }
.mv-ic{
  flex:0 0 auto; width:32px; height:32px; border-radius:9px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(14,118,60,.1); color:var(--color-accent);
}
.mv-ic svg{ width:17px; height:17px; }

/* Misyon kartı — üstte marka şeridi */
.mv-misyon::before{
  content:""; position:absolute; inset:0 0 auto; height:4px;
  background:linear-gradient(90deg, var(--color-accent), var(--color-brand));
}

/* Vizyon kartı — koyu marka zemini */
.mv-vizyon{
  border-color:transparent; color:#fff;
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(34,176,101,.22), rgba(34,176,101,0) 58%),
    linear-gradient(165deg, var(--color-brand), var(--color-footer-bg));
}
.mv-vizyon .mv-badge{ color:var(--color-accent-on-dark); }
.mv-vizyon h2{ color:#fff; }
.mv-vizyon > p{ color:var(--color-on-dark-muted); }
.mv-vizyon .mv-list li{ color:#fff; }
.mv-vizyon .mv-ic{ background:rgba(255,255,255,.1); color:var(--color-accent-on-dark); }
.mv-slogan{
  margin:26px 0 0; padding:18px 20px; border:none; border-radius:var(--radius-sm);
  background:rgba(255,255,255,.07); border-left:3px solid var(--color-accent-on-dark);
  font-family:var(--font-display); font-size:1rem; font-style:italic; line-height:1.55; color:#fff;
}
@media (max-width:900px){ .mv-grid{ grid-template-columns:1fr; } }

/* Olgu kartı içinde düz paragraf */
.fc-text{ font-size:.92rem; line-height:1.7; color:var(--color-text-secondary); }

/* ==========================================================================
   İLETİŞİM — renk vurguları
   Sayfa gri bir forma benzemesin: giriş bandı marka tonuna alınır, hızlı
   erişim kartlarının her biri kendi renk şeridini taşır ve basın notu
   koyu marka zeminine geçer.
   ========================================================================== */
.contact-hero{
  background:
    radial-gradient(64% 120% at 4% 0%, rgba(14,118,60,.16), rgba(14,118,60,0) 62%),
    radial-gradient(58% 110% at 100% 20%, rgba(8,36,62,.14), rgba(8,36,62,0) 60%),
    linear-gradient(180deg, #F4F9F6 0%, #EDF2F6 100%);
  border-bottom:1px solid var(--color-line);
}

/* Her kartın üstünde ince renk şeridi + ikon zemini marka geçişli */
.cq-card{ position:relative; overflow:hidden; }
/* Şerit her zaman görünür, üzerine gelince kalınlaşır */
.cq-card::before{
  content:""; position:absolute; inset:0 0 auto; height:3px;
  transition:height 220ms cubic-bezier(.2,.7,.2,1);
}
.cq-card:hover::before{ height:6px; }
.cq-1::before{ background:linear-gradient(90deg, var(--color-accent), var(--color-accent-on-dark)); }
.cq-2::before{ background:linear-gradient(90deg, var(--color-brand), var(--color-accent)); }
.cq-3::before{ background:linear-gradient(90deg, var(--color-accent-on-dark), var(--color-brand)); }
.cq-1 .cq-ic{ background:linear-gradient(150deg, var(--color-accent), #0A5C2E); }
.cq-2 .cq-ic{ background:linear-gradient(150deg, var(--color-brand), var(--color-footer-bg)); }
.cq-3 .cq-ic{ background:linear-gradient(150deg, #0E763C, var(--color-brand)); }

/* Form kartı — üstte marka şeridi ve daha belirgin başlık */
.contact-form{ position:relative; overflow:hidden; }
.contact-form::before{
  content:""; position:absolute; inset:0 0 auto; height:4px;
  background:linear-gradient(90deg, var(--color-brand), var(--color-accent) 60%, var(--color-accent-on-dark));
}
.contact-form .cf-head .eyebrow{ color:var(--color-accent); }

/* Yan panelde basın notu koyu zemin */
.ca-block.is-dark{
  color:#fff; border-color:transparent;
  background:
    radial-gradient(120% 100% at 100% 0%, rgba(34,176,101,.22), rgba(34,176,101,0) 60%),
    linear-gradient(160deg, var(--color-brand), var(--color-footer-bg));
}
.ca-block.is-dark h3{ color:var(--color-accent-on-dark); }
.ca-block.is-dark p{ color:var(--color-on-dark-muted); }

/* Yan paneldeki başlıkların ikonlu, canlı hâli */
.contact-aside .ca-block:not(.is-dark) h3{ color:var(--color-accent); }
@media (prefers-reduced-motion: reduce){ .cq-card::before{ transition:none; } }

/* ==========================================================================
   KURUMSAL SAYFASI — koyu marka girişi
   Arkada yavaşça sürüklenen altıgen desen (markanın petek diline uygun) ve
   nefes alan bir yeşil ışık. Desen tamamen dekoratiftir (aria-hidden) ve
   azaltılmış hareket modunda durur.
   ========================================================================== */
.corp-hero{
  position:relative; isolation:isolate; overflow:hidden;
  padding:clamp(56px,7vw,110px) 0 clamp(52px,6vw,92px);
  background:linear-gradient(165deg, var(--color-brand) 0%, var(--color-footer-bg) 100%);
  color:#fff;
}
/* Altıgen desen — SVG data URI, iki eksende yavaş kayar */
.corp-hero-pattern{
  position:absolute; inset:-20% -10%; z-index:-2; opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 0 56 16v32L28 64 0 48V16z' fill='none' stroke='%23ffffff' stroke-opacity='0.075' stroke-width='1.2'/%3E%3Cpath d='M28 64 56 80v32L28 128 0 112V80z' fill='none' stroke='%23ffffff' stroke-opacity='0.075' stroke-width='1.2'/%3E%3C/svg%3E");
  animation:corp-drift 48s linear infinite;
}
@keyframes corp-drift{
  0%{ transform:translate3d(0,0,0); }
  100%{ transform:translate3d(56px,-97px,0); }
}
/* Nefes alan yeşil ışık */
.corp-hero-glow{
  position:absolute; z-index:-1; top:-30%; right:-12%; width:min(760px,80vw); aspect-ratio:1;
  border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(34,176,101,.30), rgba(34,176,101,0) 66%);
  animation:corp-breathe 9s ease-in-out infinite;
}
@keyframes corp-breathe{
  0%,100%{ transform:scale(1); opacity:.75; }
  50%{ transform:scale(1.12); opacity:1; }
}
.corp-hero-inner{ position:relative; }
.corp-hero .breadcrumb, .corp-hero .breadcrumb a{ color:var(--color-on-dark-muted); }
.corp-hero .breadcrumb a:hover{ color:#fff; }
.corp-hero .breadcrumb [aria-current]{ color:#fff; }
.corp-eyebrow{ color:var(--color-accent-on-dark); }

/* Büyük iki satırlı başlık */
.corp-title{
  margin:14px 0 18px; color:#fff; line-height:1.02;
  font-size:clamp(2.7rem,6.5vw,5.2rem); letter-spacing:-.03em;
  display:flex; align-items:baseline; flex-wrap:wrap; gap:0 .32em;
}
.ct-line{ display:inline-block; }
.ct-amp{ color:var(--color-accent-on-dark); font-weight:500; opacity:.85; }
.ct-accent{
  background:linear-gradient(96deg, var(--color-accent-on-dark), #7BE3AC);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.corp-lead{ color:var(--color-on-dark-muted); max-width:60ch; }
.corp-hero-cta{ display:flex; align-items:center; gap:clamp(18px,3vw,32px); flex-wrap:wrap; margin-top:30px; }
.text-link-on-dark{
  font-size:.92rem; font-weight:600; color:var(--color-accent-on-dark);
  border-bottom:1px solid rgba(34,176,101,.4); padding-bottom:2px;
}
.text-link-on-dark:hover{ color:#fff; border-color:#fff; }

/* Vizyon kartında dönen ışık halkası */
.mv-vizyon{ position:relative; }
.mv-ring{
  position:absolute; z-index:0; top:-40%; right:-25%; width:70%; aspect-ratio:1;
  border-radius:50%; pointer-events:none;
  background:conic-gradient(from 0deg, rgba(34,176,101,.32), rgba(34,176,101,0) 38%, rgba(34,176,101,.22) 72%, rgba(34,176,101,0));
  filter:blur(18px); animation:mv-spin 26s linear infinite;
}
@keyframes mv-spin{ to{ transform:rotate(360deg); } }
.mv-vizyon > *:not(.mv-ring){ position:relative; z-index:1; }

/* Kart üzerine gelince hafif yükselme */
.mv-card{ transition:transform 320ms cubic-bezier(.2,.7,.2,1), box-shadow 320ms ease; }
.mv-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }
/* Madde satırları üzerine gelince ikon kutusu canlanır */
.mv-list li{ transition:transform 220ms cubic-bezier(.2,.7,.2,1); }
.mv-list li:hover{ transform:translateX(4px); }
.mv-ic{ transition:background var(--transition), color var(--transition), transform 220ms ease; }
.mv-list li:hover .mv-ic{ transform:scale(1.08); }
.mv-misyon .mv-list li:hover .mv-ic{ background:var(--color-accent); color:#fff; }
.mv-vizyon .mv-list li:hover .mv-ic{ background:var(--color-accent-on-dark); color:var(--color-brand); }

/* ============ RAKAMLAR ============ */
.corp-numbers{ padding-bottom:clamp(28px,4vw,52px); }
.cnum-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,2vw,24px); }
.cnum{
  position:relative; padding:clamp(22px,2.6vw,32px) clamp(18px,2vw,26px);
  border:var(--border); border-radius:var(--radius); background:var(--color-bg);
  transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.cnum::before{
  content:""; position:absolute; inset:auto 0 0 0; height:3px; border-radius:0 0 var(--radius) var(--radius);
  background:linear-gradient(90deg, var(--color-brand), var(--color-accent));
  transform:scaleX(.24); transform-origin:left; transition:transform 420ms cubic-bezier(.2,.7,.2,1);
}
.cnum:hover{ border-color:#CFD8E0; box-shadow:var(--shadow-md); transform:translateY(-3px); }
.cnum:hover::before{ transform:scaleX(1); }
.cnum strong{
  display:block; font-family:var(--font-display); font-weight:700; line-height:1;
  font-size:clamp(2.4rem,3.6vw,3.4rem); color:var(--color-brand); letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;
}
.cnum strong em{ font-style:normal; color:var(--color-accent); }
.cnum > span{
  display:block; margin-top:12px; font-size:.84rem; font-weight:600; line-height:1.5;
  color:var(--color-text-secondary);
}
@media (max-width:980px){ .cnum-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .cnum-grid{ grid-template-columns:1fr; } }

/* ============ ÇALIŞMA AKIŞI ============ */
.cstep-flow{
  position:relative; list-style:none; margin:clamp(24px,3vw,36px) 0 0; padding:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2.4vw,30px);
}
/* Adımları birleştiren akan çizgi */
.cstep-flow::before{
  content:""; position:absolute; top:34px; left:12%; right:12%; height:2px; z-index:0;
  background:linear-gradient(90deg, var(--color-line) 0%, var(--color-accent) 50%, var(--color-line) 100%);
  background-size:220% 100%; animation:cstep-flow 5.5s linear infinite;
}
@keyframes cstep-flow{ 0%{ background-position:120% 0; } 100%{ background-position:-120% 0; } }
.cstep{
  position:relative; z-index:1; padding:clamp(22px,2.6vw,30px);
  background:var(--color-bg); border:var(--border); border-radius:var(--radius);
  transition:transform 320ms cubic-bezier(.2,.7,.2,1), box-shadow 320ms ease, border-color var(--transition);
}
.cstep:hover{ transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:#CFD8E0; }
.cstep-num{
  position:absolute; top:-14px; left:clamp(22px,2.6vw,30px);
  display:inline-flex; align-items:center; justify-content:center;
  min-width:38px; height:28px; padding:0 10px; border-radius:999px;
  background:var(--color-brand); color:#fff;
  font-family:var(--font-display); font-size:.74rem; font-weight:700; letter-spacing:.06em;
  box-shadow:0 3px 10px rgba(8,36,62,.22);
}
.cstep-ic{
  display:flex; align-items:center; justify-content:center;
  width:46px; height:46px; margin:14px 0 16px; border-radius:13px;
  background:rgba(14,118,60,.09); color:var(--color-accent);
  transition:background var(--transition), color var(--transition), transform 320ms ease;
}
.cstep-ic svg{ width:21px; height:21px; }
.cstep:hover .cstep-ic{ background:var(--color-accent); color:#fff; transform:rotate(-6deg) scale(1.06); }
.cstep h3{ font-size:1.12rem; margin-bottom:8px; }
.cstep p{ font-size:.92rem; line-height:1.7; color:var(--color-text-secondary); }
@media (max-width:900px){
  .cstep-flow{ grid-template-columns:1fr; gap:26px; }
  .cstep-flow::before{ display:none; }
}

/* ==========================================================================
   KAYDIRDIKÇA AÇILMA
   Başlangıç durumu YALNIZCA JavaScript sınıfı eklediğinde uygulanır
   (.js-reveal). Böylece JavaScript kapalıysa içerik hiç gizlenmez.
   ========================================================================== */
.js-reveal .reveal-item{
  opacity:0; transform:translateY(18px);
  transition:opacity 620ms cubic-bezier(.2,.7,.2,1), transform 620ms cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--d, 0ms);
}
.js-reveal.is-visible .reveal-item{ opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce){
  .corp-hero-pattern, .corp-hero-glow, .mv-ring, .cstep-flow::before{ animation:none; }
  .mv-card, .mv-list li, .mv-ic, .cnum, .cstep, .cstep-ic{ transition:none; }
  .mv-card:hover, .cnum:hover, .cstep:hover{ transform:none; }
  .js-reveal .reveal-item{ opacity:1; transform:none; transition:none; }
}

/* ==========================================================================
   MOBİL İNCE AYAR
   320px genişliğe (iPhone SE 1. nesil, Galaxy Fold kapak ekranı) kadar
   test edilerek yazıldı: 12 sayfa x 12 genişlik otomatik taramada bulunan
   yatay taşmalar, 40px altı dokunma hedefleri ve 12px altı yazılar
   burada düzeltilir. Kural sırası önemli: bu blok temel kuralların
   TAMAMINDAN sonra gelir.
   ========================================================================== */

/* --- 1. Yatay taşmalar ------------------------------------------------- */

/* Izgara kolonlarında 1fr'nin örtük alt sınırı (min-content) geniş bir
   kartı kabından taşırabiliyor; minmax(0,1fr) bunu engeller. */
.shorts-strip{ grid-template-columns:repeat(auto-fill, minmax(min(190px,100%), 1fr)); }
@media (max-width:520px){
  .shorts-strip{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
.ms-row{ grid-template-columns:repeat(4, minmax(0,1fr)); }
@media (max-width:480px){ .ms-row{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
.soc-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
@media (max-width:620px){ .soc-grid{ grid-template-columns:minmax(0,1fr); } }

/* Uzun e-posta / alan adı / IBAN gibi bölünemeyen diziler satır sonunda
   kırılabilsin — 320px'de yasal sayfalardaki e-posta bağlantısı taşıyordu. */
.text-link, .prose a, .legal-dl dd, .legal-sec p, .ca-block p, .cq-value{
  overflow-wrap:anywhere;
}

/* Çok dar ekranda kenar boşluğunu 4px kısaltmak, içeriğe 8px kazandırır */
@media (max-width:400px){
  .container, .container-narrow{ padding-left:16px; padding-right:16px; }
}

/* --- 2. Dokunma hedefleri (Apple/Google önerisi: ~44px) ----------------
   Sınır 1024px: tabletler de dokunmatik. Bu blok, otomatik taramada
   40px'in altında ölçülen HER hedefi kapsar. */
@media (max-width:1024px){
  /* Footer ve yasal bağlantı listeleri: satırlar arası mesafe açılır */
  .site-footer .footer-links a{ padding:9px 0; }
  .footer-bottom .legal-links a{ padding:9px 3px; }
  .legal-toc ol li a{ display:inline-block; padding:7px 0; }
  .breadcrumb a{ display:inline-block; padding:9px 0; }

  /* Kart / bölüm bağlantıları */
  .press-card .go,
  .section-link,
  .ms-all,
  .text-link-on-dark{ min-height:42px; display:inline-flex; align-items:center; }
  .ms-all{ padding-inline:5px; }

  /* Başlık ve araç düğmeleri */
  .icon-btn{ width:42px; height:42px; }
  .lang-trigger{ height:42px; padding:0 10px 0 6px; }
  .nav-toggle{ min-width:42px; min-height:42px; }
  .ecat-toc-list button{ min-height:44px; }
  .ecat-tool{ min-height:42px; }
  .ecat-tab{ min-height:44px; }
  .pc-nav{ width:42px; height:42px; min-width:42px; flex:0 0 auto; }
  .lang-menu button{ min-height:42px; }
  .cookie-banner .btn{ min-height:42px; }

  /* Onay kutusu: kutunun kendisi de, etiketi de rahat dokunulur olsun.
     (Etiket <label for> olduğu için yazıya dokunmak da kutuyu işaretler.) */
  .checkbox-field{ align-items:center; gap:12px; }
  .checkbox-field input[type="checkbox"]{ width:22px; height:22px; margin-top:0; flex:0 0 auto; }
  .checkbox-field label{ padding:6px 0; }
}
/* 961–1024px arası menü hâlâ yatay duruyor; o aralıkta bağlantı
   satırları da parmakla rahat seçilebilecek yüksekliğe çıkarılır. */
@media (min-width:961px) and (max-width:1024px){
  .primary-nav a{ padding-top:11px; padding-bottom:11px; }
}
/* Telefonda banner çok inceleştiği için oklar bilerek küçük kalır;
   yine de 38px'in altına inmez ve asıl etkileşim kaydırmadır. */
@media (max-width:760px){
  .intro-slider .slider-arrow{ width:38px; height:38px; }
  .intro-slider .slider-arrow svg{ width:16px; height:16px; }
}

/* Küçük noktaların GÖRÜNÜMÜ aynı kalır, dokunma alanı görünmez bir
   katmanla büyütülür. Yatay büyütme komşu noktaya taşmayacak kadar
   (aradaki boşluğun yarısı) tutulur. */
.pc-dot, .intro-slider .slider-dots button{ position:relative; }
.pc-dot::after, .intro-slider .slider-dots button::after{
  content:""; position:absolute; inset:-15px -7px;
}
@media (max-width:760px){
  .intro-slider .slider-dots{ gap:15px; bottom:12px; }
  .pc-dots{ gap:15px; }
}
/* 420px altında 42px'lik oklar + 10 nokta sığmıyordu: nokta aralığı
   kısalır, dokunma alanı da buna göre daralır (komşuya taşmasın). */
@media (max-width:420px){
  .pc-dots{ gap:9px; flex-wrap:wrap; justify-content:center; row-gap:8px; }
  .pc-dot::after{ inset:-13px -4px; }
  .pc-controls{ gap:10px; }
}

/* --- 3. 12px altı yazılar --------------------------------------------- */
/* Küçük harf yüksekliği mobilde okunmuyordu; tümü en az 12px'e çıkarılır.
   Büyük harf mikro etiketlerde harf aralığı da hafif düşürülür ki
   yeni boyutta satır taşmasın. */
@media (max-width:1024px){
  .site-footer .col-label,
  .ecat-toc-title span,
  .legal-toc .lt-label,
  .contact-aside .ca-block h3 span,
  .ecat-toc-list .toc-num,
  .fact-list .fc-period,
  .ms-label,
  .cq-label span,
  .mv-badge,
  .hive-label,
  .ecat-tab em span,
  .video-thumb .platform-tag,
  .video-thumb .platform-tag span,
  .video-thumb .duration-tag{ font-size:.75rem; }
  .cstep-num{ font-size:.79rem; }
  .video-card.is-short .platform-tag{ font-size:.75rem; padding:3px 8px; letter-spacing:.04em; }
}
/* Çok dar ekranda kısa video kartı iki kolona sığdığı için başlığa yer
   açılır: rozet kaldırılır (dikey oran ve bölüm başlığı zaten "kısa
   video" olduğunu söylüyor), başlık dört satıra kadar görünür. */
@media (max-width:420px){
  .video-card.is-short .platform-tag{ display:none; }
  .video-card.is-short h3{
    font-size:.86rem; line-height:1.34; -webkit-line-clamp:4;
    min-height:calc(.86rem * 1.34 * 4);
  }
  .video-card.is-short .card-body{ padding:11px 12px 13px; }
  .site-footer .col-label,
  .legal-toc .lt-label{ letter-spacing:.1em; }
}
@media (max-width:1024px){
  /* .platform-tag içindeki span de büyüdüğü için rozet genişler:
     yatay dolgu kısaltılır ki kapağın kenarına dayanmasın. */
  .video-thumb .platform-tag{ padding:3px 8px; letter-spacing:.04em; }
}

/* --- 4. Yatay yatırılmış telefon (yükseklik az, genişlik orta) --------- */
/* Slider 2,63:1 oranıyla yatayda ekranın tamamını kaplar; yatay modda
   bölüm boşlukları da kısaltılır ki içerik bir bakışta görünsün. */
@media (max-height:520px) and (orientation:landscape){
  .section{ padding:44px 0; }
  .page-hero{ padding-top:26px; padding-bottom:26px; }
  #mkLoader{ display:none; }
}

/* --- 5. Genel mobil güvenlik ------------------------------------------ */
/* iOS yatay çevirmede yazıyı kendiliğinden büyütmesin */
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
/* Dokunmatikte 300ms gecikme olmasın, çift dokunma yakınlaştırmasın */
a, button, [role="button"], input, select, textarea, summary{ touch-action:manipulation; }

/* ==========================================================================
   ARAPÇA — SAĞDAN SOLA YAZIM
   Dil Arapçaya alındığında js/main.js kök ögeye dir="rtl" ve .is-rtl ekler.
   Metin akışını tarayıcı kendisi çevirir; aşağıda yalnızca yön varsayımı
   içeren yerler düzeltilir.
   ========================================================================== */

/* Poppins/Inter Arapça glif taşımaz: Arapça için sistem yazı tipi yığını.
   Başlıklarda da aynı yığın kullanılır ki karışık görünüm oluşmasın. */
html[lang="ar"] body,
html[lang="ar"] h1, html[lang="ar"] h2, html[lang="ar"] h3, html[lang="ar"] h4,
html[lang="ar"] .btn, html[lang="ar"] input, html[lang="ar"] textarea, html[lang="ar"] select{
  font-family:"Noto Naskh Arabic", "Geeza Pro", "Segoe UI", Tahoma, "Arial", sans-serif;
}
/* Arapçada büyük/küçük harf dönüşümü ve harf aralığı anlamsızdır */
html[lang="ar"] .eyebrow, html[lang="ar"] .col-label, html[lang="ar"] .ms-label,
html[lang="ar"] .lt-label, html[lang="ar"] .press-org, html[lang="ar"] .info-period,
html[lang="ar"] .platform-tag, html[lang="ar"] .tag{
  text-transform:none; letter-spacing:0;
}

/* Kenardan hizalı bezemeler yön değiştirir */
/* Soldan çizgili bloklar (alıntı, giriş paragrafı, vurgu kutusu) sağa geçer */
.is-rtl .legal-doc .legal-intro,
.is-rtl .prose blockquote,
.is-rtl .side-quote{
  border-left:0; border-right:3px solid var(--color-accent);
  padding-left:0; padding-right:18px;
}
.is-rtl .prose blockquote{ padding-right:22px; }
.is-rtl .legal-doc .legal-intro{ padding-right:22px; }
.is-rtl .mv-slogan{
  border-left:0; border-right:3px solid var(--color-accent-on-dark);
}
.is-rtl .timeline::before{ left:auto; right:6px; }
.is-rtl .timeline-item{ padding-left:0; padding-right:34px; }
.is-rtl .timeline-item::before{ left:auto; right:0; }
.is-rtl .legal-doc ul li{ padding-left:0; padding-right:22px; }
.is-rtl .legal-doc ul li::before{ left:auto; right:2px; }
.is-rtl .video-thumb .platform-tag{ left:auto; right:10px; }
.is-rtl .video-thumb .duration-tag{ right:auto; left:10px; }
.is-rtl .press-media .pm-org{ direction:rtl; }
.is-rtl .fz-glow{ right:auto; left:-10%; }
.is-rtl .fz-glow-2{ left:auto; right:-8%; }
.is-rtl .corp-hero-glow{ right:auto; left:-12%; }

/* Yatay kaydırma yapan bileşenlerin geometrisi soldan sağa kalır —
   translateX hesapları buna dayanır. İçerideki metin yine sağdan sola
   yazılır. */
.is-rtl .intro-slider,
.is-rtl .intro-slider .slider-track,
.is-rtl .press-carousel .pc-track,
.is-rtl .lang-switch,
.is-rtl .ecat-layout, .is-rtl .ecat-stage, .is-rtl #ecatBook{ direction:ltr; }
.is-rtl .pc-slide > *, .is-rtl .ecat-toc, .is-rtl .ecat-doc-desc{ direction:rtl; }
/* Slider okları ekranın kenarına göre değil işleve göre durur */
.is-rtl .lang-menu{ right:auto; left:0; transform-origin:top left; }
.is-rtl .lang-menu::before{ right:auto; left:16px; }
.is-rtl .intro-slider .slider-arrow.prev{ left:16px; right:auto; }
.is-rtl .intro-slider .slider-arrow.next{ right:16px; left:auto; }

/* Sağdan sola okumada ok yönleri ters çevrilir */
.is-rtl .section-link svg, .is-rtl .text-link svg,
.is-rtl .btn svg.icon-arrow-right, .is-rtl .go svg{ transform:scaleX(-1); }
