/* Site stilleri. Yazı tipleri <head> içinde <link> ile yüklenir (display=swap).
   Gölge, gradyan, bulanıklık ve animasyon kullanılmaz; tek geçiş 150 ms renk. */

:root {
  /* renk belirteçleri */
  --zemin: #FAF7F2;
  --tas-acik: #F1EBE2;
  --tas: #E4DACB;
  --tas-cizgi: #D8CDBD;
  --murekkep: #1E1B18;
  --ikincil: #5C554D;
  --ceviz: #5B3F2C;
  --bronz: #7E6243;
  --bronz-dekor: #A18154;
  --bronz-acik: #C9AE86;
  --hata: #9A2F2A;

  /* yazı aileleri */
  --serif: "Cormorant Garamond", "EB Garamond", Georgia, "Times New Roman", serif;
  --sans: "Source Sans 3", Inter, "Segoe UI", Roboto, Arial, sans-serif;

  /* boşluk (8 px taban) */
  --s-1: 4px;  --s-2: 8px;  --s-3: 16px; --s-4: 24px; --s-5: 32px;
  --s-6: 48px; --s-7: 64px; --s-8: 96px; --s-9: 128px; --s-10: 160px;

  /* ızgara */
  --icerik: 1200px;
  --metin: 680px;        /* 19 px gövdede yaklaşık 66-70 karakter */
  --genis: 880px;        /* uzun metin içindeki büyük görsel */
  --oluk: 16px;
  --kenar: 16px;
  --bolum: 96px;         /* bölümler arası boşluk */
  --ust: 64px;           /* üst bilgi yüksekliği */
  --doc-sol: 208px;      /* tedavi sayfası sol sütun */
  --doc-ara: 64px;

  /* yazı ölçeği (mobil; masaüstü aşağıda) */
  --h1: 38px; --h1-lh: 1.1;
  --h2: 30px; --h2-lh: 1.15;
  --h3: 24px; --h3-lh: 1.25;
  --h4: 18px;
  --p1: 20px;
  --p2: 18px;
  --p3: 15px;
}

@media (min-width: 751px) {
  :root { --oluk: 24px; --kenar: 40px; --bolum: 128px; --h1: 46px; --h2: 34px; }
}
@media (min-width: 1001px) {
  :root {
    --kenar: 64px;
    --bolum: clamp(160px, 13vw, 200px);
    --ust: 72px;
    --doc-ara: clamp(48px, 6vw, 112px);
    --h1: 60px; --h1-lh: 1.05;
    --h2: 44px; --h2-lh: 1.1;
    --h3: 28px; --h3-lh: 1.2;
    --h4: 19px;
    --p1: 22px;
    --p2: 19px;
    --p3: 15px;
  }
}

/* ---------- temel ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--ust) + var(--s-5)); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
  margin: 0;
  background: var(--zemin);
  color: var(--murekkep);
  font-family: var(--sans);
  font-weight: 400;
  font-size: var(--p2);
  line-height: 1.65;
  font-kerning: normal;
  overflow-wrap: break-word;
}
img { max-width: 100%; height: auto; display: block; border-radius: 0; }
h1, h2, h3 {
  font-family: var(--serif); font-weight: 400; margin: 0 0 var(--s-4);
  font-kerning: normal; font-feature-settings: "kern", "liga", "lnum"; text-wrap: balance;
}
h1 { font-size: var(--h1); line-height: var(--h1-lh); letter-spacing: -0.012em; }
h2 { font-size: var(--h2); line-height: var(--h2-lh); letter-spacing: -0.008em; }
h3 { font-size: var(--h3); line-height: var(--h3-lh); font-weight: 500; letter-spacing: 0; }
h4 { font-family: var(--sans); font-weight: 600; font-size: var(--h4); line-height: 1.4; margin: 0 0 var(--s-2); }
p, ul, ol, dl { margin: 0 0 var(--s-4); }
p { text-wrap: pretty; }
em, i { font-style: italic; }
strong, b { font-weight: 600; }
hr { border: 0; border-top: 1px solid var(--tas-cizgi); margin: var(--s-7) 0; }

a { color: var(--ceviz); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { color: var(--murekkep); }
@media (prefers-reduced-motion: no-preference) {
  a, summary { transition: color 150ms ease, text-decoration-color 150ms ease; }
}

/* odak halkası */
:focus-visible { outline: 2px solid var(--ceviz); outline-offset: 2px; }
.band :focus-visible, .site-footer :focus-visible { outline-color: var(--bronz-acik); }

.skip {
  position: absolute; left: var(--kenar); top: -100px;
  background: var(--zemin); color: var(--ceviz); border: 1px solid var(--ceviz);
  padding: var(--s-2) var(--s-3); min-height: 44px; display: inline-flex; align-items: center; z-index: 30;
}
.skip:focus { top: var(--s-2); }

.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- yerleşim ---------- */
.wrap { max-width: calc(var(--icerik) + 2 * var(--kenar)); margin: 0 auto; padding: 0 var(--kenar); }
.text { max-width: var(--metin); }
.text-center { margin-left: auto; margin-right: auto; }
/* .wrap ile birlikte: sütun sola hizalı kalır (sayfa başı ile aynı kenar) */
.wrap.text, .wrap.prose { max-width: calc(var(--icerik) + 2 * var(--kenar)); }
.wrap.text > * { max-width: var(--metin); }

.grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--oluk); }
.grid > * { grid-column: 1 / -1; }
@media (min-width: 751px)  { .grid { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
@media (min-width: 1001px) { .grid { grid-template-columns: repeat(12, minmax(0, 1fr)); } }

.section { padding: var(--bolum) 0; }
.section + .section { padding-top: 0; }
.section--tone { background: var(--tas-acik); }
.section--tone + .section, .section + .section--tone { padding-top: var(--bolum); }
.rule { border-top: 1px solid var(--tas-cizgi); }

/* bölüm başı + gövde: 12 kolonda asimetrik (baş 1-4, gövde 6-12) */
.split { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: var(--s-5);
         border-top: 1px solid var(--tas-cizgi); padding-top: var(--s-5); }
.split-head > :last-child { margin-bottom: 0; }
.split-body > :last-child { margin-bottom: 0; }
@media (min-width: 1001px) {
  .split { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--oluk); padding-top: var(--s-6); }
  .split-head { grid-column: 1 / span 4; }
  .split-body { grid-column: 6 / -1; }
  .split--stack .split-head { grid-column: 1 / span 6; }
  .split--stack .split-body { grid-column: 1 / -1; }
}
.band .split { border-top-color: var(--bronz-dekor); }
.split--plain { border-top: 0; padding-top: 0; margin-top: var(--s-7); }
.split--plain .figure { margin-top: 0; }

/* metin rolleri */
.eyebrow {
  font-family: var(--sans); font-weight: 600; font-size: 12px; line-height: 1.4;
  letter-spacing: 0.18em; color: var(--bronz); margin: 0 0 var(--s-3);
}
.lead { font-size: var(--p1); line-height: 1.5; }
.small, .meta-line { font-size: var(--p3); line-height: 1.6; color: var(--ikincil); }

/* metin bağlantısı (düğme değil): ince alt çizgi, isteğe bağlı ok */
.link-arrow, .link-quiet {
  display: inline-flex; align-items: center; min-height: 44px; gap: var(--s-2);
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px;
}
.link-arrow::after { content: "\2192"; content: "\2192" / ""; text-decoration: none; display: inline-block; }
/* G10: alt çizgi bronz-dekor (zeminde 3.40:1), sessiz ton korunur */
.link-quiet { color: var(--ikincil); text-decoration-color: var(--bronz-dekor); }
.link-quiet:hover { color: var(--murekkep); text-decoration-color: currentColor; }

/* ---------- üst bilgi (sabit, düz zemin, bulanıklık/gölge yok) ---------- */
.site-header {
  background: var(--zemin); border-bottom: 1px solid var(--tas-cizgi);
  position: sticky; top: 0; z-index: 20;
}
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); min-height: var(--ust); }
.brand { display: inline-flex; flex-direction: row; align-items: center; text-decoration: none; color: var(--murekkep); min-height: 44px; }
.brand:hover { color: var(--murekkep); }
/* imza logosu (IS-019 §1.1; tur 2 G4): <img>, iki renk varyantı (açık zeminde mürekkep, alt bilgide zemin).
   Yükseklik mobil 32 px, masaüstü 40 px; genişlik özgün orandan (640x222, width/height öznitelikleri).
   Görsel yüklenemezse alt metin ("Dr. Ferit Çiftçi") görünür; alt metin sığsın diye min-width yok. */
.brand-logo {
  --logo-h: 32px;
  display: block; flex: none; height: var(--logo-h); width: auto; max-width: none;
  /* alt metin yedeği: 32 px kutuya iki satır sığar */
  font-family: var(--serif); font-weight: 500; font-size: 12px; line-height: 1.15; color: var(--murekkep);
}
@media (min-width: 1001px) { .brand-logo { --logo-h: 40px; } }
.site-footer .brand-logo { --logo-h: 48px; color: var(--zemin); font-size: 17px; }
@media (min-width: 1001px) { .site-footer .brand-logo { --logo-h: 56px; } }
/* G3: Windows yüksek karşıtlık / forced-colors: görsel zorlanan zeminle aynı renge düşmesin diye
   öğenin kendi zemini CanvasText olur, PNG alfası maske olarak şekli keser, görsel içeriği kutu dışına itilir. */
@media (forced-colors: active) {
  .brand-logo {
    forced-color-adjust: none; background-color: CanvasText;
    object-fit: none; object-position: -10000px 0;
    -webkit-mask: url(/assets/logo-imza.png) no-repeat center / contain;
            mask: url(/assets/logo-imza.png) no-repeat center / contain;
  }
}

.nav { display: none; }
.nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: var(--s-5); }
.nav a, .header-tel {
  font-weight: 400; font-size: 15px; letter-spacing: 0.01em; color: var(--murekkep); text-decoration: none;
  min-height: 44px; display: inline-flex; align-items: center;
}
.nav a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 10px; text-decoration-color: transparent; }
.nav a:hover { color: var(--ceviz); text-decoration-color: var(--tas-cizgi); }
.nav a[aria-current="page"] { color: var(--murekkep); text-decoration-color: var(--murekkep); }
/* YOL-03: telefon ve dil seçici mobilde de üst bilgide (Menü'nün solunda, sessiz). Masaüstünde numara. */
.header-side { display: flex; align-items: center; gap: var(--s-3); margin-left: auto; }
.header-tel { color: var(--ikincil); font-variant-numeric: tabular-nums; justify-content: center; }
.header-tel:hover { color: var(--ceviz); }
.header-tel .tel-tam { display: none; }
.header-tel .tel-kisa {
  min-width: 44px; display: inline-flex; align-items: center; justify-content: center;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; text-decoration-color: var(--bronz-dekor);
}
.site-header .wrap { flex-wrap: nowrap; }
.site-header .lang { gap: 2px; }
/* etkin dil etiket, bağlantı değil: dokunma hedefi gerekmez, genişlik kazanılır */
.site-header .lang span[aria-current] { min-width: 0; padding: 0 var(--s-1); }
@media (max-width: 359px) {
  .site-header .wrap { gap: var(--s-1); }
  .header-side { gap: var(--s-1); }
  .site-header .brand-logo { --logo-h: 28px; }
  .mnav > summary { padding: 0 var(--s-2); }
}

/* dil seçici "TR · EN" (bayraksız) */
.lang { font-size: 14px; display: inline-flex; align-items: center; gap: var(--s-1); color: var(--ikincil); letter-spacing: 0.04em; }
.lang a, .lang span[aria-current] { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.lang a { color: var(--ikincil); text-decoration: none; }
.lang a:hover { color: var(--ceviz); }
.lang [aria-current] { color: var(--murekkep); font-weight: 600; }

/* mobil menü: <details>/<summary>, JS yok */
.mnav { position: static; }
.mnav > summary {
  list-style: none; cursor: pointer; min-width: 48px; min-height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0 var(--s-3); border: 1px solid var(--ikincil); color: var(--murekkep);
  font-weight: 400; font-size: 15px; letter-spacing: 0.02em;
}
.mnav > summary::-webkit-details-marker { display: none; }
.mnav > summary::marker { content: ""; }
.mnav .when-open { display: none; }
.mnav[open] .when-open { display: inline; }
.mnav[open] .when-closed { display: none; }
.mnav-panel {
  position: absolute; left: 0; right: 0; top: 100%;
  background: var(--zemin); border-bottom: 1px solid var(--tas-cizgi);
  height: calc(100vh - var(--ust)); height: calc(100dvh - var(--ust)); overflow-y: auto;
  display: flex; flex-direction: column; justify-content: flex-start;
  padding: var(--s-5) var(--kenar) var(--s-6);
}
/* G1: içerik alta yaslanır ama taşınca üstten kaybolmaz (otomatik üst boşluk sıfıra iner, kaydırılır) */
.mnav-panel > nav { margin-top: auto; }
/* G2: menü açıkken arka plan kaydırılmaz (sınıfı menü betiği koyar) */
html.mnav-acik, html.mnav-acik body { overflow: hidden; }
.mnav-panel ul { list-style: none; margin: 0 0 var(--s-5); padding: 0; }
.mnav-panel li { border-top: 1px solid var(--tas-cizgi); }
.mnav-panel li:last-child { border-bottom: 1px solid var(--tas-cizgi); }
.mnav-panel ul a {
  display: flex; align-items: center; min-height: 60px;
  font-family: var(--serif); font-weight: 400; font-size: 28px; line-height: 1.15; color: var(--murekkep); text-decoration: none;
}
.mnav-panel ul a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 8px; }
.mnav-panel .mnav-tel { display: inline-flex; align-items: center; min-height: 48px; font-size: var(--p2); }
.mnav-close {
  align-self: flex-start; margin-top: var(--s-4); min-width: 48px; min-height: 44px; padding: 0 var(--s-3);
  background: transparent; border: 1px solid var(--ikincil); color: var(--murekkep);
  font: inherit; font-size: 15px; cursor: pointer;
}
.mnav-close[hidden] { display: none; }

@media (min-width: 1001px) {
  .nav, .header-side { display: flex; }
  .header-side { gap: var(--s-4); margin-left: 0; }
  .header-tel .tel-tam { display: inline; }
  .header-tel .tel-kisa { display: none; }
  .site-header .lang span[aria-current] { min-width: 44px; padding: 0; }
  .mnav { display: none; }
}

/* ---------- içerik haritası ---------- */
.breadcrumb { font-size: 14px; color: var(--ikincil); margin: 0 0 var(--s-6); }
.breadcrumb ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-2); }
.breadcrumb li + li::before { content: "/"; margin-right: var(--s-2); color: var(--ikincil); }
.breadcrumb a { color: var(--ikincil); text-decoration-color: var(--bronz-dekor); }
.breadcrumb a:hover { color: var(--murekkep); }
.breadcrumb [aria-current] { color: var(--murekkep); }

/* ---------- açılış (hero): ekranı dolduran sakin sahne ---------- */
.hero { overflow: hidden; overflow: clip; }
.hero .grid { row-gap: var(--s-7); }
.hero-text { padding-top: var(--s-8); }
.hero h1 {
  font-size: clamp(2.75rem, 1.5rem + 5vw, 6rem); /* 44 → 96 px; masaüstünde 74-96 */
  line-height: 0.98; letter-spacing: -0.02em; font-weight: 400; margin-bottom: var(--s-5);
}
.hero .lead { max-width: 34ch; margin-bottom: var(--s-3); }
.hero-note { color: var(--ikincil); max-width: 44ch; }
.hero-links { display: flex; flex-wrap: wrap; gap: 0 var(--s-5); margin: var(--s-5) 0 var(--s-6); }
.hero-links a { font-size: var(--p2); }
.hero .small { margin: 0; }
.hero-media { margin: 0 calc(-1 * var(--kenar)); background: var(--tas); }
.hero-media img { width: 100%; aspect-ratio: 4 / 5; max-height: 86vh; max-height: 86svh; object-fit: cover; object-position: 50% 22%; filter: grayscale(1); }
/* telefon: hekim yüzü ilk ekranda (hekim-marka, K-SITE-16) */
@media (max-width: 750px) {
  .hero .grid { row-gap: var(--s-5); }
  .hero-media { order: -1; }
  .hero-media img { aspect-ratio: 5 / 4; max-height: 42vh; max-height: 42svh; object-position: 50% 18%; }
  .hero-text { padding-top: 0; }
}
@media (min-width: 751px) and (max-width: 1000px) {
  .hero-text { grid-column: 1 / span 7; }
  .hero-media img { aspect-ratio: 4 / 3; }
}
@media (min-width: 1001px) {
  .hero .grid { min-height: clamp(560px, calc(100vh - var(--ust)), 1000px); min-height: clamp(560px, calc(100svh - var(--ust)), 1000px); }
  .hero-text { grid-column: 1 / span 6; grid-row: 1; align-self: center; padding: var(--s-8) 0; }
  /* portre: sağ kenara taşar (wrap kenarı + dış boşluk) */
  .hero-media {
    grid-column: 8 / -1; grid-row: 1; position: relative; margin: 0;
    margin-right: calc(-1 * (var(--kenar) + max(0px, (100vw - var(--icerik) - 2 * var(--kenar)) / 2)));
  }
  .hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; aspect-ratio: auto; }
}

/* sayfa başı (hero olmayan sayfalar) */
.page-head { padding: var(--s-6) 0 var(--s-6); }
.page-head h1 { max-width: 18ch; }
@media (min-width: 1001px) { .page-head { padding: var(--s-7) 0 var(--s-8); } }

/* giriş cevabı: kutu yok, ince sol çizgi */
.answer { border-left: 1px solid var(--bronz-dekor); padding: var(--s-1) 0 var(--s-1) var(--s-4); margin: var(--s-5) 0 var(--s-5); font-size: var(--p1); line-height: 1.55; }
.answer p:last-child { margin-bottom: 0; }

/* "Bu sayfada" (mobil: üstte açılır liste) */
.toc { margin: var(--s-5) 0 0; border-top: 1px solid var(--tas-cizgi); border-bottom: 1px solid var(--tas-cizgi); }
.toc > summary { cursor: pointer; font-weight: 600; font-size: var(--p3); letter-spacing: 0.02em; min-height: 48px; display: flex; align-items: center; justify-content: space-between; list-style: none; }
.toc > summary::-webkit-details-marker { display: none; }
.toc > summary::marker { content: ""; }
.toc > summary::after { content: "+"; content: "+" / ""; font-weight: 400; color: var(--bronz); }
.toc[open] > summary::after { content: "\2212"; content: "\2212" / ""; }
.toc ul { list-style: none; padding: 0; margin: 0 0 var(--s-3); }
.toc a { display: flex; align-items: center; min-height: 44px; color: var(--ikincil); text-decoration: none; font-size: var(--p3); }
.toc a:hover { color: var(--murekkep); }

/* uzun metin */
.prose > * { max-width: var(--metin); }
.prose > .figure, .prose > .ba, .prose > .table-wrap, .prose > .case-grid { max-width: var(--genis); }
.prose > .case-grid { padding-left: 0; }
.prose h2 { margin-top: var(--s-8); padding-top: var(--s-5); border-top: 1px solid var(--tas-cizgi); }
.prose > h2:first-child { margin-top: 0; }
.prose h3 { margin-top: var(--s-6); }
.prose ul, .prose ol { padding-left: var(--s-4); }
.prose li { margin-bottom: var(--s-2); }
.prose li::marker { color: var(--bronz); }
.table-wrap { overflow-x: auto; max-width: 100%; margin: 0 0 var(--s-5); }
.prose table { width: 100%; border-collapse: collapse; font-size: var(--p3); margin: 0 0 var(--s-5); }
.table-wrap > table { margin-bottom: 0; }
.prose th, .prose td { text-align: left; vertical-align: top; padding: var(--s-3) var(--s-3) var(--s-3) 0; border-bottom: 1px solid var(--tas-cizgi); overflow-wrap: break-word; hyphens: auto; }
.prose thead th { border-bottom-color: var(--ikincil); font-weight: 600; }
code { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 0.9em; overflow-wrap: anywhere; word-break: break-word; }

/* ---------- tedavi sayfası: sol dar başlık listesi + 680 px metin ---------- */
.doc-nav { display: none; }
@media (min-width: 1001px) {
  .page-head--doc, .doc { display: grid; grid-template-columns: var(--doc-sol) minmax(0, 1fr); column-gap: var(--doc-ara); }
  .page-head--doc > * { grid-column: 2; }
  .page-head--doc .toc--mobile { display: none; }
  .doc-nav {
    display: block; grid-column: 1; grid-row: 1; align-self: start;
    position: sticky; top: calc(var(--ust) + var(--s-5));
    max-height: calc(100vh - var(--ust) - var(--s-7)); overflow-y: auto;
    border-top: 1px solid var(--tas-cizgi); padding-top: var(--s-3);
  }
  .doc-nav-title { font-size: 12px; font-weight: 600; letter-spacing: 0.18em; color: var(--bronz); margin: 0 0 var(--s-2); }
  .doc-nav ul { list-style: none; margin: 0; padding: 0; }
  .doc-nav a {
    display: flex; align-items: center; min-height: 44px; padding: var(--s-1) 0;
    font-size: 14px; line-height: 1.4; color: var(--ikincil); text-decoration: none;
  }
  .doc-nav a:hover { color: var(--murekkep); }
  .doc-body { grid-column: 2; grid-row: 1; min-width: 0; }
  /* metin sütunundan sonra gelen bloklar aynı sol kenara hizalanır */
  .doc ~ .wrap, .doc ~ .section > .wrap { padding-left: calc(var(--kenar) + var(--doc-sol) + var(--doc-ara)); }
}

/* ---------- editoryal blok ---------- */
.editorial { border-top: 1px solid var(--tas-cizgi); padding-top: var(--s-5); }
.editorial + .editorial { margin-top: var(--bolum); }
.editorial .grid { row-gap: var(--s-5); }
@media (min-width: 1001px) {
  .editorial { padding-top: var(--s-6); }
  .editorial .grid { align-items: end; }
  .editorial-text { grid-column: 1 / span 4; grid-row: 1; }
  .editorial-media { grid-column: 6 / -1; grid-row: 1; }
  .editorial--rev .editorial-text { grid-column: 9 / -1; }
  .editorial--rev .editorial-media { grid-column: 1 / span 7; }
}
.editorial-media.figure { margin: 0; }

/* ---------- tipografik tedavi dizini ---------- */
.index-list { list-style: none; margin: 0 0 var(--s-5); padding: 0; border-top: 1px solid var(--tas-cizgi); }
.index-list li { border-bottom: 1px solid var(--tas-cizgi); }
.index-list a {
  display: grid; grid-template-columns: 2.75rem minmax(0, 1fr) auto; column-gap: var(--s-3);
  align-items: baseline; min-height: 64px; padding: var(--s-5) 0;
  color: var(--murekkep); text-decoration: none;
}
.index-list .num { font-family: var(--serif); font-weight: 400; font-size: 22px; color: var(--bronz); font-feature-settings: "lnum", "tnum"; }
.index-list .name { font-family: var(--serif); font-weight: 400; font-size: var(--h3); line-height: var(--h3-lh); }
.index-list .desc { grid-column: 2 / 3; color: var(--ikincil); font-size: var(--p3); line-height: 1.55; margin-top: var(--s-2); }
.index-list .read { grid-column: 3; grid-row: 1; font-size: 14px; letter-spacing: 0.04em; color: var(--ikincil); }
.index-list .read::after { content: " \2192"; content: " \2192" / ""; }
.index-list a:hover .name, .index-list a:hover .read { color: var(--ceviz); }
@media (prefers-reduced-motion: no-preference) { .index-list .name, .index-list .read { transition: color 150ms ease; } }
@media (min-width: 1001px) {
  .index-list a { grid-template-columns: 4rem minmax(0, 1fr) auto; }
  .index-list .num { font-size: 26px; }
}

/* ---------- ilkeler (satırlar: numara | başlık + metin) ---------- */
.principles { list-style: none; margin: 0 0 var(--s-5); padding: 0; counter-reset: ilke; border-top: 1px solid var(--tas-cizgi); }
.principles li { counter-increment: ilke; border-bottom: 1px solid var(--tas-cizgi); padding: var(--s-5) 0;
                 display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); column-gap: var(--s-3); }
.principles li > * { grid-column: 2; }
.principles li::before {
  content: counter(ilke, decimal-leading-zero); grid-column: 1; grid-row: 1;
  font-family: var(--serif); font-weight: 400; font-size: 22px; line-height: 1.3; color: var(--bronz); font-feature-settings: "lnum", "tnum";
}
.principles h3 { margin-bottom: var(--s-2); }
.principles p { margin: 0; color: var(--ikincil); }
@media (min-width: 1001px) {
  .principles li { grid-template-columns: 4rem minmax(0, 5fr) minmax(0, 6fr); column-gap: var(--oluk); align-items: baseline; }
  .principles li > h3 { grid-column: 2; margin: 0; }
  .principles li > p { grid-column: 3; }
  .principles li::before { font-size: 26px; }
}

/* ---------- adım akışı ---------- */
.steps { list-style: none; margin: 0 0 var(--s-5); padding: 0 0 0 var(--s-4); counter-reset: adim; border-left: 1px solid var(--tas-cizgi); }
.steps li { counter-increment: adim; padding: 0 0 var(--s-5); }
.steps li::before {
  content: counter(adim, decimal-leading-zero); display: block;
  font-family: var(--serif); font-weight: 400; font-size: 22px; color: var(--bronz); line-height: 1.2; margin-bottom: var(--s-2);
  font-feature-settings: "lnum", "tnum";
}
.steps h3 { font-size: 24px; margin-bottom: var(--s-2); }
.steps p { margin: 0; color: var(--ikincil); }
@media (min-width: 1001px) {
  .steps { padding: var(--s-5) 0 0; border-left: 0; border-top: 1px solid var(--tas-cizgi);
           display: grid; grid-template-columns: repeat(var(--adim-sayisi, 5), minmax(0, 1fr)); gap: var(--oluk); }
  .steps li { padding: 0 var(--s-4) 0 0; }
  .steps li::before { font-size: 26px; margin-bottom: var(--s-4); }
}

/* ---------- SSS: ince çizgili akordeon ---------- */
.faq { border-top: 1px solid var(--tas-cizgi); max-width: var(--metin); margin: 0 0 var(--s-6); }
.faq details { border-bottom: 1px solid var(--tas-cizgi); }
.faq summary {
  cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-4);
  min-height: 56px; padding: var(--s-4) 0; font-weight: 400; font-size: var(--h4); line-height: 1.4;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::marker { content: ""; }
.faq summary::after { content: "+"; content: "+" / ""; font-family: var(--serif); font-size: 26px; line-height: 1; font-weight: 400; color: var(--bronz); flex: none; }
.faq details[open] summary::after { content: "\2212"; content: "\2212" / ""; }
.faq summary:hover { color: var(--ceviz); }
.faq .faq-body { padding: 0 var(--s-6) var(--s-5) 0; color: var(--ikincil); }
.faq .faq-body p:last-child { margin-bottom: 0; }

/* ---------- figür ---------- */
.figure { margin: var(--s-7) 0; }
.figure img { width: 100%; background: var(--tas); object-fit: cover; }
.figure figcaption, .ba figcaption { font-size: 14px; line-height: 1.55; color: var(--ikincil); margin-top: var(--s-3); max-width: var(--metin); }

/* önce-sonra figür: tek sütunda, büyük; oran özgün dosyadan (width/height), kırpılmaz */
.ba { margin: var(--s-7) 0; }
.ba-pair { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-5); margin: 0; padding: 0; list-style: none; }
.ba-pair li { margin: 0; }
.ba-pair img { width: 100%; background: var(--tas); }
.ba-label { display: block; font-size: 12px; font-weight: 600; letter-spacing: 0.18em; color: var(--bronz); margin-top: var(--s-2); }
.ba-source { display: block; }

/* etiketli yer tutucu */
.placeholder {
  background: var(--tas); color: var(--ikincil); font-size: var(--p3);
  display: flex; align-items: center; justify-content: center; text-align: center; padding: var(--s-4);
  aspect-ratio: 4 / 3;
}

/* ---------- koyu bant ---------- */
.band { background: var(--murekkep); color: var(--zemin); padding: var(--bolum) 0; }
.band h1, .band h2, .band h3, .band h4 { color: var(--zemin); }
.band .eyebrow { color: var(--bronz-acik); }
.band .small, .band .meta-line { color: var(--zemin); }
.band a { color: var(--zemin); text-decoration-color: var(--bronz-dekor); }
.band a:hover { color: var(--bronz-acik); }
.band .rule, .band hr { border-color: var(--bronz-dekor); }
.section + .band, .band + .section { padding-top: var(--bolum); }

/* ---------- CTA satırı (sade bağlantı) ---------- */
.cta-line { font-family: var(--serif); font-size: clamp(24px, 1rem + 1.4vw, 34px); line-height: 1.3; margin: 0 0 var(--s-5); }
.cta-line a { display: inline-flex; align-items: center; min-height: 48px; font-feature-settings: "lnum"; text-underline-offset: 6px; }

/* kimlik bloğu ve kaynakça */
.byline { font-size: var(--p3); color: var(--ikincil); border-top: 1px solid var(--tas-cizgi); padding-top: var(--s-4); margin-top: var(--s-7); max-width: var(--metin); }
.refs { font-size: var(--p3); line-height: 1.6; color: var(--ikincil); padding-left: var(--s-4); max-width: var(--metin); }
.refs li { margin-bottom: var(--s-2); }
.refs li:target { color: var(--murekkep); }
sup.cite { font-size: 0.7em; line-height: 0; vertical-align: super; margin-left: 0.1em; }
sup.cite a { text-decoration: none; color: var(--ikincil); padding: 0 0.15em; }
.related { list-style: none; padding: 0; margin: var(--s-6) 0; border-bottom: 1px solid var(--tas-cizgi); }
.prose > .related { padding-left: 0; }
.related li { border-top: 1px solid var(--tas-cizgi); margin: 0; }
.related a { display: flex; align-items: center; min-height: 52px; padding: var(--s-2) 0; text-decoration: none; }
.related a:hover { text-decoration: underline; text-decoration-thickness: 1px; }

/* kartlar (seçki; koyu bantta da) */
.cards { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-6); }
@media (min-width: 751px) { .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--oluk); row-gap: var(--s-6); } }
@media (min-width: 1001px) { .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cards li { border-top: 1px solid var(--tas-cizgi); padding-top: var(--s-4); }
.cards .figure { margin: 0; }
.band .cards li { border-top-color: var(--bronz-dekor); }

/* ---------- alt bilgi: koyu mürekkep bant, üç sütun ---------- */
.site-footer {
  background: var(--murekkep); color: var(--zemin); font-size: var(--p3); line-height: 1.6;
  padding: var(--s-9) 0 var(--s-5); margin-top: 0;
}
/* içerikten alt bilgiye tek bölüm boşluğu: main altta boşluk bırakır, son bölüm kendi boşluğunu bırakmaz */
main { padding-bottom: var(--bolum); }
main > .section:last-child:not(.section--tone) { padding-bottom: 0; }
main > .band:last-child, main > .section--tone:last-child { margin-bottom: calc(-1 * var(--bolum)); }
.footer-grid { display: grid; gap: var(--s-6); }
@media (min-width: 751px)  { .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--oluk); } .footer-col--brand { grid-column: 1 / -1; } }
@media (min-width: 1001px) {
  .footer-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .footer-col--brand { grid-column: 1 / span 3; }
  .footer-col--treatments { grid-column: 4 / span 3; }
  .footer-col--pages { grid-column: 7 / span 3; }
  .footer-col--contact { grid-column: 10 / span 3; }
}
.footer-brand { margin: 0 0 var(--s-3); }
.site-footer .footer-brand a { text-decoration: none; }
.site-footer .eyebrow { color: var(--bronz-acik); margin-bottom: var(--s-3); }
.site-footer p { margin: 0 0 var(--s-2); }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li a, .site-footer .f-link { display: inline-flex; align-items: center; min-height: 44px; }
.site-footer a { color: var(--zemin); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: transparent; }
.site-footer a:hover { color: var(--bronz-acik); text-decoration-color: currentColor; }
.site-footer .small { color: var(--zemin); }
.footer-bottom { border-top: 1px solid var(--bronz-dekor); margin-top: var(--s-8); padding-top: var(--s-4);
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--s-3); color: var(--zemin); font-size: 14px; }
.footer-bottom p { margin: 0; }
.site-footer .lang, .site-footer .lang a { color: var(--zemin); }
.site-footer .lang [aria-current] { color: var(--bronz-acik); }

/* ================= IS-019 bileşenleri ================= */

/* ---------- niyet kapıları: ziyaretçinin cümlesi (serif) + tedavi adları (küçük); ikon yok ---------- */
.gates { list-style: none; margin: 0 0 var(--s-5); padding: 0; border-top: 1px solid var(--tas-cizgi); }
.gates li { border-bottom: 1px solid var(--tas-cizgi); }
.gates a {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--s-3); align-items: baseline;
  min-height: 64px; padding: var(--s-5) 0; color: var(--murekkep); text-decoration: none;
}
.gate-say { font-family: var(--serif); font-weight: 400; font-size: var(--h3); line-height: var(--h3-lh); }
.gate-sub { grid-column: 1; color: var(--ikincil); font-size: var(--p3); line-height: 1.55; margin-top: var(--s-2); }
.gates a::after { content: "\2192"; content: "\2192" / ""; grid-column: 2; grid-row: 1; color: var(--bronz); }
.gates a:hover .gate-say, .gates a:hover::after { color: var(--ceviz); }
.gates .gate--quiet a { min-height: 56px; padding: var(--s-4) 0; }
.gates .gate--quiet .gate-say { font-family: var(--sans); font-size: var(--p2); color: var(--ikincil); }
@media (prefers-reduced-motion: no-preference) { .gate-say, .gates a::after { transition: color 150ms ease; } }
@media (min-width: 1001px) {
  /* masaüstü: 2x2 sakin satır; sessiz satır tam genişlik */
  .gates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--oluk); }
  .gates a { padding: var(--s-6) var(--s-4) var(--s-6) 0; }
  .gates .gate--quiet { grid-column: 1 / -1; }
}
.band .gates, .band .gates li { border-color: var(--bronz-dekor); }
.band .gates a { color: var(--zemin); }
.band .gate-sub, .band .gates .gate--quiet .gate-say { color: var(--tas); }

/* ---------- sonraki adım (sayfa başına tek; kutu/düğme/ikon yok) ---------- */
.next-step { border-top: 1px solid var(--tas-cizgi); margin-top: calc(var(--bolum) / 2); padding-top: var(--s-5); max-width: var(--metin); }
.next-step .eyebrow { margin-bottom: var(--s-2); }
.next-step-main { font-family: var(--serif); font-size: var(--h3); line-height: var(--h3-lh); margin: 0 0 var(--s-2); }
.next-step-main a { color: var(--murekkep); text-underline-offset: 8px; text-decoration-color: var(--bronz-dekor); }
.next-step-main a:hover { color: var(--ceviz); text-decoration-color: currentColor; }
.next-step-note { font-size: 16px; color: var(--ikincil); margin: 0 0 var(--s-3); }
.next-step-alt { margin: 0; font-size: var(--p3); }
.band .next-step { border-top-color: var(--bronz-dekor); }
.band .next-step-main a { color: var(--zemin); }
.band .next-step-note, .band .next-step-alt a { color: var(--tas); }

/* ---------- vaka ızgarası: masaüstü 2 sütun, büyük görsel, altyazı; karusel yok ---------- */
.case-group { margin: 0 0 var(--s-8); }
.case-group > h2 { border-top: 1px solid var(--tas-cizgi); padding-top: var(--s-5); }
.case-grid { list-style: none; margin: 0 0 var(--s-5); padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-7) var(--oluk); }
@media (min-width: 751px) { .case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--s-8); } }
.case-grid > li { margin: 0; min-width: 0; }
.case { margin: 0; }
.case img { width: 100%; background: var(--tas); }
.case .ba-pair { gap: var(--s-3); }
.case figcaption { font-size: 14px; line-height: 1.55; color: var(--ikincil); margin-top: var(--s-3); }
.case-title { display: block; font-family: var(--serif); font-size: 22px; line-height: 1.25; color: var(--murekkep); margin-bottom: var(--s-1); }
.case-note { font-size: var(--p3); color: var(--ikincil); max-width: var(--metin); }

/* ---------- mesleki yazı kartı: tür etiketi, başlık, tek cümle, tarih ---------- */
.notes { list-style: none; margin: 0 0 var(--s-5); padding: 0; border-top: 1px solid var(--tas-cizgi); }
.notes > li { border-bottom: 1px solid var(--tas-cizgi); }
.note-card { padding: var(--s-5) 0; display: grid; grid-template-columns: minmax(0, 1fr); row-gap: var(--s-2); }
.note-type { font-family: var(--sans); font-weight: 600; font-size: 12px; line-height: 1.4; letter-spacing: 0.18em; color: var(--bronz); margin: 0; }
.note-card h3 { margin: 0; }
.note-card h3 a { color: var(--murekkep); text-decoration: none; }
.note-card h3 a:hover { color: var(--ceviz); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.note-sum { margin: 0; color: var(--ikincil); max-width: var(--metin); }
.note-date { margin: 0; font-size: var(--p3); color: var(--ikincil); font-variant-numeric: tabular-nums; }
@media (min-width: 1001px) {
  .note-card { grid-template-columns: 12rem minmax(0, 1fr); column-gap: var(--oluk); }
  .note-card > * { grid-column: 2; }
  .note-card .note-type, .note-card .note-date { grid-column: 1; }
  .note-card .note-type { grid-row: 1; }
  .note-card .note-date { grid-row: 2; }
}
.band .notes, .band .notes > li { border-color: var(--bronz-dekor); }
.band .note-type { color: var(--bronz-acik); }
.band .note-card h3 a { color: var(--zemin); }
.band .note-sum, .band .note-date { color: var(--tas); }

/* ---------- klinik özet kutusu (mesleki yazı başı): ince çerçeve, taş zemin, gölge yok ---------- */
.clinical-summary {
  border: 1px solid var(--tas-cizgi); background: var(--tas-acik);
  padding: var(--s-4) var(--s-4) var(--s-3); margin: var(--s-5) 0 var(--s-6); max-width: var(--metin);
}
.clinical-summary .eyebrow { margin-bottom: var(--s-3); }
.clinical-summary ul, .clinical-summary ol { margin: 0 0 var(--s-3); padding-left: var(--s-4); }
.clinical-summary li { margin-bottom: var(--s-2); }
.clinical-summary li::marker { color: var(--bronz); }
.clinical-summary p { margin: 0 0 var(--s-3); }
.clinical-summary .small { margin-top: var(--s-2); }
@media (min-width: 751px) { .clinical-summary { padding: var(--s-5) var(--s-5) var(--s-4); } }

/* ---------- numaralı protokol: dikey adımlar, ince serif numara ---------- */
.protocol { list-style: none; margin: 0 0 var(--s-6); padding: 0; counter-reset: protokol; border-top: 1px solid var(--tas-cizgi); }
.protocol > li {
  counter-increment: protokol; border-bottom: 1px solid var(--tas-cizgi); padding: var(--s-4) 0;
  display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); column-gap: var(--s-3);
}
.protocol > li::before {
  content: counter(protokol, decimal-leading-zero); grid-column: 1; grid-row: 1 / span 9;
  font-family: var(--serif); font-size: 22px; line-height: 1.3; color: var(--bronz); font-feature-settings: "lnum", "tnum";
}
.protocol > li > * { grid-column: 2; }
.protocol h4 { margin: 0 0 var(--s-1); }
.protocol p { margin: 0 0 var(--s-2); }
.protocol p:last-child { margin-bottom: 0; }
.protocol .protocol-note { font-size: var(--p3); color: var(--ikincil); }
.prose > .protocol { padding-left: 0; }

/* ---------- kontrol listesi: ince çizgili kare (CSS ile çizilir; ikon seti değil) ---------- */
.checklist { list-style: none; margin: 0 0 var(--s-5); padding: 0; }
.prose > .checklist { padding-left: 0; }
.checklist li { position: relative; padding: var(--s-1) 0 var(--s-1) var(--s-5); margin-bottom: var(--s-2); }
.checklist li::before {
  content: ""; position: absolute; left: 0; top: 0.55em; width: 12px; height: 12px;
  border: 1px solid var(--bronz);
}
@media print { .checklist li::before { border-color: #000; } }

/* ---------- kaynakça listesi: numaralı, asılı girinti, küçük; DOI/PMID bağlantısı ---------- */
.biblio { list-style: none; counter-reset: kaynak; margin: 0 0 var(--s-6); padding: 0; font-size: var(--p3); line-height: 1.6; color: var(--ikincil); max-width: var(--metin); border-top: 1px solid var(--tas-cizgi); }
.prose > .biblio { padding-left: 0; }
.biblio > li { counter-increment: kaynak; position: relative; padding: var(--s-3) 0 var(--s-3) 2.5rem; border-bottom: 1px solid var(--tas-cizgi); margin: 0; }
.biblio > li::before { content: counter(kaynak) "."; position: absolute; left: 0; top: var(--s-3); color: var(--bronz); font-feature-settings: "lnum", "tnum"; }
.biblio > li:target { color: var(--murekkep); }
.biblio a { color: var(--ikincil); text-decoration-color: var(--tas-cizgi); overflow-wrap: anywhere; }
.biblio a:hover { color: var(--murekkep); }
.biblio .ev { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: 0.12em; color: var(--bronz); margin-left: var(--s-1); }

/* ---------- 404 ---------- */
.notfound { padding: var(--s-8) var(--kenar); }
.notfound section + section { border-top: 1px solid var(--tas-cizgi); margin-top: var(--s-6); padding-top: var(--s-6); }
.notfound ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0 var(--s-5); }
.notfound li a { display: inline-flex; align-items: center; min-height: 44px; }

/* hareketi azalt: hiç geçiş yok */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* yazdırma */
@media print {
  .site-header, .mnav, .skip, .lang, .doc-nav { display: none !important; }
  body { background: #fff; }
  .site-footer { background: #fff; color: #000; }
  .site-footer a, .site-footer .small { color: #000; }
  /* alt bilgi logosu açık renkli PNG: beyaz kâğıtta kaybolmasın, mürekkep rengine çevrilir */
  .site-footer .brand-logo { filter: brightness(0); }
}
