/* ==========================================================================
   TÜRKİYE TAEKWONDO FEDERASYONU
   Uluslararası İlişkiler ve Dış Kaynaklı Projeler — site geneli tasarım
   Renk kimliği: kırmızı (logo) + bordo + altın — ayrıntılar tema.css içinde.
   --------------------------------------------------------------------------
   01 Değişkenler · 02 Temel · 03 Üst şerit · 04 Header · 05 Kademeli menü
   06 Mobil menü · 07 Sayfa başlığı · 08 Proje alt menüsü · 09 Bileşenler
   10 Ana sayfa · 11 Alt sayfalar · 12 Footer · 13 Duyarlı
   ========================================================================== */

/* ---------- 01 · Değişkenler ---------- */
:root {
  --tf-navy: #4A0B16;
  --tf-navy-2: #6B1322;
  --tf-navy-3: #2B060D;
  --tf-red: #E31E26;
  --tf-red-2: #C4141B;
  --tf-red-soft: #FDECEC;
  --tf-ink: #4A0B16;
  --tf-text: #4F3E41;
  --tf-muted: #7A6669;
  --tf-line: #EEE3DD;
  --tf-soft: #FBF6F1;
  --tf-radius: 14px;
  --tf-shadow: 0 10px 30px -12px rgba(74, 11, 22, .18);
  --tf-shadow-lg: 0 30px 60px -24px rgba(74, 11, 22, .30);
  --tf-ease: cubic-bezier(.2, .7, .2, 1);
  --tf-max: 1320px;
}

/* ---------- 02 · Temel ---------- */
body { color: var(--tf-text); }
.is-site .container,
.tf-top .container, .tf-header .container, .tf-footer .container { max-width: var(--tf-max); }
html.tf-lock, html.tf-lock body { overflow: hidden; }
.tf-soon {
  display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 20px;
  background: #F6EDE7; color: #9C8789; font-size: 9.5px; font-style: normal; font-weight: 700;
  letter-spacing: .07em; line-height: 1.6; text-transform: uppercase; vertical-align: 2px; white-space: nowrap;
}

/* ---------- 03 · Üst şerit ---------- */
.tf-top { background: var(--tf-navy); color: rgba(255, 255, 255, .86); font-size: 14px; }
.tf-top__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 56px; }
.tf-top__contact { display: flex; align-items: center; gap: 28px; }
.tf-top a { color: inherit; text-decoration: none; }
.tf-top__contact a { display: inline-flex; align-items: center; gap: 9px; font-weight: 500; transition: color .2s; }
.tf-top__contact a:hover { color: #fff; }
.tf-top__contact svg { width: 15px; height: 15px; color: var(--tf-red); }
.tf-top__right { display: flex; align-items: center; gap: 14px; }
.tf-top__fed {
  display: inline-flex; align-items: center; gap: 9px; padding: 8px 15px;
  border: 1px solid rgba(255, 255, 255, .16); border-radius: 9px; background: rgba(255, 255, 255, .04);
  color: #fff !important; font-size: 13.5px; font-weight: 700; transition: background .2s, border-color .2s;
}
.tf-top__fed svg { width: 16px; height: 16px; color: var(--tf-red); }
.tf-top__fed:hover { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .3); }
.tf-top__social { display: flex; gap: 6px; }
.tf-top__social a {
  display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px;
  background: rgba(255, 255, 255, .07); transition: background .2s, color .2s;
}
.tf-top__social a:hover { background: var(--tf-red); color: #fff; }
.tf-top__social svg { width: 16px; height: 16px; }

.tf-lang { display: flex; gap: 2px; padding: 3px; border-radius: 9px; background: rgba(255, 255, 255, .07); }
.tf-lang__item {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 6px;
  color: rgba(255, 255, 255, .72) !important; font-size: 12px; font-weight: 700; letter-spacing: .04em; transition: .2s;
}
.tf-lang__item img { width: 18px; height: 12px; border-radius: 2px; }
.tf-lang__item:hover { color: #fff !important; background: rgba(255, 255, 255, .08); }
.tf-lang__item.is-active { background: var(--tf-red); color: #fff !important; }

/* ---------- 04 · Header (yalnızca logo + 3 başlık) ---------- */
.tf-top__link { color: #fff !important; font-size: 13.5px; font-weight: 700; padding: 8px 4px; }
.tf-top__link:hover, .tf-top__link[aria-current] { color: #FF8A8F !important; }

.tf-header {
  position: sticky; top: 0; z-index: 100;
  background: #fff; border-bottom: 1px solid var(--tf-line);
  transition: box-shadow .3s;
}
.tf-header.is-stuck { box-shadow: 0 10px 30px -18px rgba(74, 11, 22, .35); }
.tf-header__inner { display: flex; align-items: center; gap: 32px; min-height: 104px; transition: min-height .3s var(--tf-ease); }
.tf-header.is-stuck .tf-header__inner { min-height: 82px; }
.tf-brand { display: flex; flex: none; }
.tf-brand__logo { width: 84px; height: 84px; object-fit: contain; transition: width .3s, height .3s, transform .3s; }
.tf-brand:hover .tf-brand__logo { transform: rotate(-6deg) scale(1.03); }
.tf-header.is-stuck .tf-brand__logo { width: 64px; height: 64px; }

.tf-nav { margin-left: auto; }
.tf-nav__head, .tf-nav__foot { display: none; }
.tf-nav__list { display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.tf-nav__link {
  position: relative; display: inline-flex; align-items: center; gap: 8px;
  padding: 16px 18px; border: 0; background: none; cursor: pointer; white-space: nowrap;
  color: var(--tf-navy); font: inherit; font-size: 16px; font-weight: 700; letter-spacing: -.005em; text-decoration: none;
  transition: color .2s;
}
.tf-nav__link::after {
  content: ""; position: absolute; left: 18px; right: 18px; bottom: 4px; height: 3px; border-radius: 3px;
  background: var(--tf-red); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--tf-ease);
}
.tf-nav__link:hover, .tf-nav__item.is-open > .tf-nav__link, .tf-nav__item.is-current > .tf-nav__link { color: var(--tf-red); }
.tf-nav__link:hover::after, .tf-nav__item.is-open > .tf-nav__link::after, .tf-nav__item.is-current > .tf-nav__link::after { transform: scaleX(1); }
.tf-nav__chev { width: 14px; height: 14px; color: #AA9697; transition: transform .3s var(--tf-ease), color .2s; }
.tf-nav__item.is-open .tf-nav__chev { transform: rotate(180deg); color: var(--tf-red); }

/* ---------- 05 · Açılır paneller (masaüstü) ---------- */
@media (min-width: 1281px) {
  .tf-nav__item--mega { position: static; }   /* panel header'ın tam genişliğine göre konumlanır */
  .tf-mega {
    position: absolute; top: 100%; left: 0; right: 0; z-index: 50;
    background: #fff; border-top: 1px solid var(--tf-line);
    box-shadow: 0 40px 70px -30px rgba(74, 11, 22, .32);
    opacity: 0; visibility: hidden; transform: translateY(10px);
    transition: opacity .22s ease, visibility .22s, transform .32s var(--tf-ease);
  }
  .tf-nav__item--mega.is-open .tf-mega,
  .tf-nav__item--mega:focus-within .tf-mega { opacity: 1; visibility: visible; transform: none; }
  .tf-mega::before { content: ""; position: absolute; left: 0; right: 0; top: -30px; height: 30px; }
  .tf-mega::after { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 3px; background: linear-gradient(90deg, var(--tf-red), var(--tf-red) 30%, transparent 80%); }

  .tf-mega__grid { display: grid; padding-top: 40px; padding-bottom: 44px; }
  .tf-mega__grid--isb { grid-template-columns: 1fr 1.35fr 1fr; }
  .tf-mega__grid--prj { grid-template-columns: 1fr 3fr; }

  .tf-mega__intro { padding-right: 36px; border-right: 1px solid var(--tf-line); display: flex; flex-direction: column; }
  .tf-mega__kicker { color: var(--tf-red); font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
  .tf-mega__intro strong { margin-top: 14px; color: var(--tf-navy); font-size: 25px; font-weight: 800; letter-spacing: -.02em; line-height: 1.2; }
  .tf-mega__intro p { margin: 14px 0 0; color: var(--tf-muted); font-size: 14.5px; line-height: 1.7; }
  .tf-mega__all {
    display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-top: auto; padding: 22px 0 8px;
    border-bottom: 2px solid var(--tf-red); color: var(--tf-navy); font-size: 14.5px; font-weight: 800; text-decoration: none; transition: gap .2s, color .2s;
  }
  .tf-mega__all svg { width: 16px; height: 16px; }
  .tf-mega__all:hover { gap: 12px; color: var(--tf-red); }

  .tf-mega__col { padding: 0 30px; border-right: 1px solid var(--tf-line); }
  .tf-mega__card { display: flex; flex-direction: column; padding-left: 30px; text-decoration: none; }
  .tf-mega__img { display: block; overflow: hidden; border-radius: 14px; aspect-ratio: 16 / 9; background: var(--tf-soft); }
  .tf-mega__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--tf-ease); }
  .tf-mega__card:hover .tf-mega__img img { transform: scale(1.05); }
  .tf-mega__card .tf-mega__kicker { margin-top: 18px; }
  .tf-mega__card strong { margin-top: 6px; color: var(--tf-navy); font-size: 18px; font-weight: 800; line-height: 1.35; }
  .tf-mega__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; color: var(--tf-navy); font-size: 14px; font-weight: 700; }
  .tf-mega__more svg { width: 15px; height: 15px; color: var(--tf-red); transition: transform .2s; }
  .tf-mega__card:hover .tf-mega__more svg { transform: translateX(4px); }

  /* Kademeli sütunlar: A–D › proje › proje sayfaları (hep sağa açılır) */
  .tf-cascade { position: relative; min-height: 360px; margin-left: 28px; }
  .tf-cascade .tf-cas--l1 { width: 33.333%; padding-right: 18px; }
  .tf-cascade .tf-cas--l2, .tf-cascade .tf-cas--l3 {
    position: absolute; top: 0; bottom: 0; display: none;
    padding: 0 18px; border-left: 1px solid var(--tf-line); background: #fff;
    animation: tfCol .26s var(--tf-ease) both;
  }
  .tf-cascade .tf-cas--l2 { left: 33.333%; width: 33.333%; }
  .tf-cascade .tf-cas--l3 { left: 100%; width: 100%; }
  .tf-cascade .tf-cas__li.is-open > .tf-cas { display: block; }
  @keyframes tfCol { from { opacity: 0; transform: translateX(-8px); } to { opacity: 1; transform: none; } }

  .tf-cas__tg { display: none; }
  .tf-cas__head {
    display: flex; align-items: center; gap: 8px; margin: 0 0 10px; padding: 0 12px 14px;
    border-bottom: 1px solid var(--tf-line);
    color: #A38F90; font-size: 11px; font-weight: 800; letter-spacing: .14em; line-height: 1.5; text-transform: uppercase;
  }
  .tf-cas__head b { color: var(--tf-red); }
}

/* Menü satırları (masaüstü + mobil) */
.tf-cas { margin: 0; padding: 0; list-style: none; }
.tf-cas__li + .tf-cas__li { margin-top: 2px; }
.tf-cas__a {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 12px 12px; border-radius: 10px;
  color: var(--tf-navy); font-size: 15px; font-weight: 700; line-height: 1.35; text-decoration: none;
  transition: background .18s, color .18s;
}
.tf-cas__t { flex: 1; min-width: 0; }
.tf-cas__t small { display: block; margin-top: 4px; color: var(--tf-muted); font-size: 12.5px; font-weight: 500; line-height: 1.45; }
.tf-cas__arr { flex: none; width: 15px; height: 15px; margin-top: 3px; color: #C8B5B1; transition: transform .2s, color .2s; }
.tf-cas__no {
  flex: none; display: grid; place-items: center; width: 28px; height: 28px; margin-top: -3px;
  border-radius: 8px; background: #F6EEE8; color: var(--tf-navy); font-size: 12.5px; font-weight: 800;
  transition: background .18s, color .18s;
}
.tf-cas__flag { flex: none; width: 26px; height: 18px; margin-top: 1px; border-radius: 3px; box-shadow: 0 0 0 1px rgba(74, 11, 22, .12); object-fit: cover; }
.tf-cas__ico { flex: none; display: grid; place-items: center; width: 26px; height: 26px; margin-top: -3px; border-radius: 7px; background: var(--tf-red-soft); color: var(--tf-red); }
.tf-cas__ico svg { width: 15px; height: 15px; }
.tf-cas__a.is-cat { font-size: 14px; font-weight: 800; letter-spacing: .01em; }
.tf-cas__a.is-project { color: var(--tf-red); font-size: 13.5px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.tf-cas__a.is-placeholder { color: #A38F90; font-weight: 500; font-style: italic; cursor: default; }

.tf-cas__a:hover, .tf-cas__li.is-open > .tf-cas__a { background: var(--tf-soft); color: var(--tf-red); }
.tf-cas__a.is-placeholder:hover { background: none; color: #A38F90; }
.tf-cas__li.is-open > .tf-cas__a .tf-cas__no, .tf-cas__a:hover .tf-cas__no { background: var(--tf-red); color: #fff; }
.tf-cas__li.is-open > .tf-cas__a .tf-cas__arr, .tf-cas__a:hover .tf-cas__arr { color: var(--tf-red); transform: translateX(2px); }
.tf-cas__a[aria-current="page"] { color: var(--tf-red); }

/* ---------- 06 · Mobil menü ---------- */
.tf-burger {
  display: none; place-items: center; width: 50px; height: 50px; margin-left: auto; padding: 0;
  border: 1px solid var(--tf-line); border-radius: 12px; background: #fff; cursor: pointer;
}
.tf-burger span, .tf-burger span::before, .tf-burger span::after { display: block; width: 22px; height: 2px; border-radius: 2px; background: var(--tf-navy); }
.tf-burger span { position: relative; }
.tf-burger span::before, .tf-burger span::after { content: ""; position: absolute; left: 0; }
.tf-burger span::before { top: -7px; } .tf-burger span::after { top: 7px; }
.tf-backdrop { position: fixed; inset: 0; z-index: 99; background: rgba(43, 6, 13, .55); opacity: 0; transition: opacity .25s; }
.tf-backdrop.is-on { opacity: 1; }

@media (max-width: 1280px) {
  .tf-burger { display: grid; }
  .tf-nav {
    position: fixed; top: 0; right: 0; bottom: 0; z-index: 120;
    display: flex; flex-direction: column; width: min(440px, 92vw); margin: 0;
    background: #fff; box-shadow: -20px 0 60px rgba(43, 6, 13, .25);
    overflow-y: auto; overscroll-behavior: contain;
    transform: translateX(100%); transition: transform .32s var(--tf-ease); visibility: hidden;
  }
  .tf-nav.is-open { transform: none; visibility: visible; }
  .tf-nav__head { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 3px solid var(--tf-red); }
  .tf-nav__head img { width: 50px; height: 50px; object-fit: contain; }
  .tf-nav__close { width: 42px; height: 42px; border: 1px solid var(--tf-line); border-radius: 10px; background: #fff; color: var(--tf-navy); font-size: 26px; line-height: 1; cursor: pointer; }
  .tf-nav__list { flex-direction: column; align-items: stretch; gap: 0; padding: 6px 14px; }
  .tf-nav__item { border-bottom: 1px solid var(--tf-line); }
  .tf-nav__link { width: 100%; justify-content: space-between; padding: 18px 6px; font-size: 16px; white-space: normal; text-align: left; }
  .tf-nav__link::after { display: none; }
  .tf-mega { display: none; padding: 0 0 12px; }
  .tf-nav__item--mega.is-open .tf-mega { display: block; }
  .tf-mega__grid { padding: 0; }
  .tf-mega__intro p, .tf-mega__intro strong, .tf-mega__intro .tf-mega__kicker, .tf-mega__card, .tf-cas__head, .tf-cas__arr { display: none; }
  .tf-mega__all { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 8px 6px; color: var(--tf-red); font-size: 13.5px; font-weight: 800; text-decoration: none; }
  .tf-mega__all svg { width: 14px; height: 14px; }
  .tf-cas__li.has-sub { display: grid; grid-template-columns: 1fr 44px; align-items: start; }
  .tf-cas__li.has-sub > .tf-cas { grid-column: 1 / -1; }
  .tf-cas__tg { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 8px; background: none; color: var(--tf-muted); cursor: pointer; }
  .tf-cas__tg svg { width: 15px; height: 15px; transition: transform .25s; }
  .tf-cas__li.is-open > .tf-cas__tg svg { transform: rotate(180deg); color: var(--tf-red); }
  .tf-cas .tf-cas { display: none; margin: 2px 0 6px 14px; padding-left: 10px; border-left: 2px solid var(--tf-line); }
  .tf-cas__li.is-open > .tf-cas { display: block; }
  .tf-cas__a { padding: 11px 6px; font-size: 14.5px; }
  .tf-nav__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding: 18px 20px 26px; }
  .tf-nav__contact { display: inline-flex; align-items: center; gap: 8px; color: var(--tf-navy); font-weight: 800; text-decoration: none; }
  .tf-nav__contact svg { width: 16px; height: 16px; color: var(--tf-red); }
  .tf-lang--mob { display: inline-flex; background: var(--tf-soft); }
  .tf-lang--mob .tf-lang__item { color: var(--tf-navy) !important; padding: 8px 12px; }
  .tf-lang--mob .tf-lang__item.is-active { color: #fff !important; }
}

/* ---------- 07 · Sayfa başlığı (tüm alt sayfalar) ---------- */
.dkp-hero {
  padding: 54px 0 50px;
  background:
    radial-gradient(900px 300px at 85% 0%, rgba(227, 30, 38, .16), transparent 60%),
    linear-gradient(110deg, var(--tf-navy-3) 0%, var(--tf-navy) 50%, var(--tf-navy-2) 100%);
}
.dkp-hero::after { background: linear-gradient(90deg, var(--tf-red) 0%, var(--tf-red) 18%, rgba(227, 30, 38, 0) 60%); height: 3px; }
.dkp-hero::before { opacity: .07; }
.dkp-crumb { margin: 0 0 14px; font-size: 13px; }
.dkp-crumb .sep { color: var(--tf-red); opacity: .8; }
.dkp-hero__title { max-width: 980px; font-size: clamp(28px, 3.4vw, 44px); letter-spacing: -.02em; }
.dkp-hero__title span { color: #fff; }
.dkp-hero__desc { max-width: 760px; color: rgba(255, 255, 255, .72); font-size: 16px; }

/* ---------- 08 · Dual Kick proje alt menüsü ---------- */
.tf-pnav { position: relative; z-index: 40; background: #fff; border-bottom: 1px solid var(--tf-line); box-shadow: 0 8px 24px -20px rgba(74, 11, 22, .4); }
.tf-pnav__inner { display: flex; align-items: center; gap: 26px; min-height: 70px; }
.tf-pnav__brand { display: flex; align-items: center; gap: 11px; flex: none; padding-right: 24px; border-right: 1px solid var(--tf-line); text-decoration: none; }
.tf-pnav__brand img { width: 42px; height: 42px; object-fit: contain; }
.tf-pnav__brand b { display: block; color: var(--tf-navy); font-size: 15px; font-weight: 800; line-height: 1.2; }
.tf-pnav__brand small { display: block; color: var(--tf-muted); font-size: 11.5px; font-weight: 600; letter-spacing: .02em; }
.tf-pnav__list { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.tf-pnav__item { position: relative; }
.tf-pnav__item > a {
  position: relative; display: block; padding: 24px 14px; color: var(--tf-navy); font-size: 14.5px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: color .2s;
}
.tf-pnav__item > a::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0; background: var(--tf-red); transform: scaleX(0); transition: transform .3s var(--tf-ease); }
.tf-pnav__item:hover > a, .tf-pnav__item.is-active > a { color: var(--tf-red); }
.tf-pnav__item.is-active > a::after, .tf-pnav__item:hover > a::after { transform: scaleX(1); }
.tf-pnav__sub {
  position: absolute; top: 100%; left: 0; z-index: 5; min-width: 250px; margin: 0; padding: 8px; list-style: none;
  border: 1px solid var(--tf-line); border-radius: 0 0 12px 12px; background: #fff; box-shadow: var(--tf-shadow);
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: .2s var(--tf-ease);
}
.tf-pnav__item:hover .tf-pnav__sub, .tf-pnav__item:focus-within .tf-pnav__sub { opacity: 1; visibility: visible; transform: none; }
.tf-pnav__sub a { display: block; padding: 10px 12px; border-radius: 8px; color: var(--tf-navy); font-size: 14px; font-weight: 500; text-decoration: none; transition: .15s; }
.tf-pnav__sub a:hover, .tf-pnav__sub a[aria-current="page"] { background: var(--tf-soft); color: var(--tf-red); }

/* ---------- 09 · Bileşenler ---------- */
.tf-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 15px 26px; border: 2px solid var(--tf-red); border-radius: 10px; background: var(--tf-red);
  color: #fff !important; font: inherit; font-size: 15px; font-weight: 700; text-decoration: none !important; cursor: pointer;
  transition: background .2s, border-color .2s, transform .2s, box-shadow .2s;
}
.tf-btn:hover { background: var(--tf-red-2); border-color: var(--tf-red-2); transform: translateY(-2px); box-shadow: 0 12px 26px -12px rgba(227, 30, 38, .7); }
.tf-btn svg { width: 18px; height: 18px; }
.tf-btn--ghost { background: transparent; border-color: rgba(255, 255, 255, .35); color: #fff !important; }
.tf-btn--ghost:hover { background: #fff; border-color: #fff; color: var(--tf-navy) !important; box-shadow: none; }
.tf-btn--navy { background: var(--tf-navy); border-color: var(--tf-navy); }
.tf-btn--navy:hover { background: var(--tf-navy-2); border-color: var(--tf-navy-2); box-shadow: 0 12px 26px -12px rgba(74, 11, 22, .6); }
.tf-link { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 6px; border-bottom: 2px solid var(--tf-red); color: var(--tf-navy); font-weight: 700; text-decoration: none; transition: gap .2s; }
.tf-link:hover { gap: 12px; color: var(--tf-red); }
.tf-link svg { width: 16px; height: 16px; }

.tf-sec { padding: 96px 0; }
.tf-sec--soft { background: var(--tf-soft); }
.tf-sec--navy { background: var(--tf-navy); color: rgba(255, 255, 255, .75); }
.tf-head { max-width: 760px; margin: 0 0 48px; }
.tf-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.tf-kicker { display: inline-block; margin-bottom: 12px; color: var(--tf-red); font-size: 12.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.tf-h2 { margin: 0; color: var(--tf-navy); font-size: clamp(28px, 3.1vw, 42px); font-weight: 800; letter-spacing: -.025em; line-height: 1.15; }
.tf-sec--navy .tf-h2 { color: #fff; }
.tf-lead { margin: 16px 0 0; color: var(--tf-muted); font-size: 17px; line-height: 1.7; }
.tf-sec--navy .tf-lead { color: rgba(255, 255, 255, .7); }
.tf-head__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 44px; }
.tf-head__row .tf-head { margin: 0; }

.tf-card {
  position: relative; display: flex; flex-direction: column; padding: 30px 28px 28px;
  border: 1px solid var(--tf-line); border-radius: var(--tf-radius); background: #fff;
  color: var(--tf-text); text-decoration: none; transition: transform .3s var(--tf-ease), box-shadow .3s, border-color .3s;
}
a.tf-card:hover { transform: translateY(-5px); border-color: transparent; box-shadow: var(--tf-shadow-lg); }
.tf-card__ico { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 22px; border-radius: 14px; background: var(--tf-red-soft); color: var(--tf-red); transition: .3s; }
.tf-card__ico svg { width: 25px; height: 25px; }
a.tf-card:hover .tf-card__ico { background: var(--tf-red); color: #fff; }
.tf-card__no { position: absolute; top: 26px; right: 26px; color: #E4D6D0; font-size: 30px; font-weight: 800; letter-spacing: -.02em; }
.tf-card h3 { margin: 0 0 10px; color: var(--tf-navy); font-size: 19px; font-weight: 800; line-height: 1.3; }
.tf-card p { margin: 0; color: var(--tf-muted); font-size: 15px; line-height: 1.65; }
.tf-card__more { margin-top: auto; padding-top: 22px; color: var(--tf-navy); font-size: 14px; font-weight: 700; }
a.tf-card:hover .tf-card__more { color: var(--tf-red); }
.tf-grid { display: grid; gap: 22px; }
.tf-grid--3 { grid-template-columns: repeat(3, 1fr); }
.tf-grid--4 { grid-template-columns: repeat(4, 1fr); }
.tf-grid--2 { grid-template-columns: repeat(2, 1fr); }
.tf-badge { display: inline-flex; align-items: center; gap: 7px; align-self: flex-start; padding: 5px 11px; border-radius: 30px; font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.tf-badge--live { background: #EAF6E6; color: #2F7A1F; }
.tf-badge--live i { width: 7px; height: 7px; border-radius: 50%; background: #3D9A2B; box-shadow: 0 0 0 3px rgba(61, 154, 43, .2); }
.tf-badge--soon { background: #F6EDE7; color: #8E7A7C; }

/* ---------- 10 · Ana sayfa ---------- */
.tf-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--tf-navy-3); color: #fff; }
.tf-hero__bg { position: absolute; inset: 0; z-index: -2; }
.tf-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 30%; }
.tf-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(90deg, rgba(43, 6, 13, .96) 0%, rgba(74, 11, 22, .9) 42%, rgba(74, 11, 22, .45) 75%, rgba(74, 11, 22, .25) 100%),
    radial-gradient(700px 400px at 10% 100%, rgba(227, 30, 38, .25), transparent 60%);
}
.tf-hero__inner { display: grid; grid-template-columns: 1.25fr .85fr; align-items: center; gap: 56px; min-height: 640px; padding-top: 80px; padding-bottom: 96px; }
.tf-hero__kicker { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 22px; color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.tf-hero__kicker::before { content: ""; width: 34px; height: 3px; border-radius: 2px; background: var(--tf-red); }
.tf-hero h1 { margin: 0; color: #fff; font-size: clamp(36px, 4.6vw, 62px); font-weight: 800; letter-spacing: -.03em; line-height: 1.06; }
.tf-hero h1 span { color: var(--tf-red); }
.tf-hero__text { max-width: 600px; margin: 24px 0 0; color: rgba(255, 255, 255, .78); font-size: 18px; line-height: 1.7; }
.tf-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }
.tf-hero__card {
  position: relative; padding: 30px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 20px;
  background: rgba(43, 6, 13, .55); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .6); color: rgba(255, 255, 255, .8); text-decoration: none;
  transition: transform .35s var(--tf-ease), border-color .3s;
}
.tf-hero__card:hover { transform: translateY(-6px); border-color: rgba(255, 255, 255, .3); }
.tf-hero__card-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.tf-hero__card .tf-badge--live { background: rgba(111, 211, 92, .14); color: #A7E596; }
.tf-hero__logo { display: grid; place-items: center; width: 74px; height: 74px; border-radius: 50%; background: #fff; box-shadow: 0 10px 24px rgba(0, 0, 0, .3); }
.tf-hero__logo img { width: 62px; height: 62px; object-fit: contain; }
.tf-hero__card small { display: block; margin-top: 22px; color: rgba(255, 255, 255, .55); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.tf-hero__card strong { display: block; margin-top: 8px; color: #fff; font-size: 23px; font-weight: 800; line-height: 1.25; }
.tf-hero__card p { margin: 12px 0 0; font-size: 14.5px; line-height: 1.65; }
.tf-hero__meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 24px; overflow: hidden; border-radius: 12px; background: rgba(255, 255, 255, .1); }
.tf-hero__meta span { padding: 12px 10px; background: rgba(43, 6, 13, .6); text-align: center; font-size: 12px; line-height: 1.4; }
.tf-hero__meta b { display: block; color: #fff; font-size: 14px; }
.tf-hero__go { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; color: #fff; font-weight: 700; font-size: 14.5px; }
.tf-hero__go svg { width: 16px; height: 16px; transition: transform .2s; }
.tf-hero__card:hover .tf-hero__go svg { transform: translateX(4px); }

/* Rakam şeridi */
.tf-stats { position: relative; z-index: 3; margin-top: -58px; }
.tf-stats__box { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; border-radius: 18px; background: #fff; box-shadow: var(--tf-shadow-lg); }
.tf-stat { display: flex; align-items: center; gap: 16px; padding: 28px 26px; border-right: 1px solid var(--tf-line); }
.tf-stat:last-child { border-right: 0; }
.tf-stat__ico { display: grid; place-items: center; flex: none; width: 50px; height: 50px; border-radius: 12px; background: var(--tf-red-soft); color: var(--tf-red); }
.tf-stat__ico svg { width: 24px; height: 24px; }
.tf-stat b { display: block; color: var(--tf-navy); font-size: 30px; font-weight: 800; line-height: 1; letter-spacing: -.02em; }
.tf-stat span { display: block; margin-top: 6px; color: var(--tf-muted); font-size: 13.5px; font-weight: 600; line-height: 1.35; }

/* Öne çıkan proje */
.tf-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.tf-feature__media { position: relative; }
.tf-feature__media img.tf-feature__photo { display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: 22px; box-shadow: var(--tf-shadow-lg); }
.tf-feature__logo { position: absolute; right: -22px; bottom: -22px; display: grid; place-items: center; width: 132px; height: 132px; border-radius: 50%; background: #fff; box-shadow: var(--tf-shadow-lg); }
.tf-feature__logo img { width: 112px; height: 112px; object-fit: contain; }
.tf-feature__tag { position: absolute; left: 22px; top: 22px; display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 12px; background: #fff; box-shadow: var(--tf-shadow); }
.tf-feature__tag img { height: 26px; width: auto; }
.tf-feature__tag span { color: var(--tf-navy); font-size: 12px; font-weight: 700; line-height: 1.3; }
.tf-feature h3 { margin: 18px 0 0; color: var(--tf-navy); font-size: clamp(26px, 2.6vw, 36px); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; }
.tf-feature p { margin: 18px 0 0; color: var(--tf-muted); font-size: 16.5px; line-height: 1.75; }
.tf-feature__facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 26px 0 0; padding: 0; list-style: none; }
.tf-feature__facts li { padding: 14px 16px; border: 1px solid var(--tf-line); border-radius: 12px; background: #fff; font-size: 13px; color: var(--tf-muted); }
.tf-feature__facts b { display: block; color: var(--tf-navy); font-size: 14.5px; }
.tf-feature__links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 26px 0 0; padding: 0; list-style: none; }
.tf-feature__links a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px;
  border-radius: 12px; background: var(--tf-soft); color: var(--tf-navy); font-size: 14.5px; font-weight: 700; text-decoration: none; transition: .2s;
}
.tf-feature__links a:hover { background: var(--tf-navy); color: #fff; }
.tf-feature__links svg { flex: none; width: 16px; height: 16px; color: var(--tf-red); }

/* Program kartları A–D */
.tf-prog { display: flex; flex-direction: column; min-height: 100%; }
.tf-prog__letter { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 22px; border-radius: 14px; background: var(--tf-navy); color: #fff; font-size: 20px; font-weight: 800; transition: background .3s; }
a.tf-card:hover .tf-prog__letter { background: var(--tf-red); }
.tf-prog .tf-badge { margin-top: 16px; }

/* İşbirliği kartları */
.tf-coop { display: grid; grid-template-columns: 96px 1fr; gap: 22px; align-items: center; }
.tf-coop__logo { display: grid; place-items: center; width: 96px; height: 96px; border-radius: 18px; background: var(--tf-soft); }
.tf-coop__logo img { max-width: 72px; max-height: 72px; object-fit: contain; }
.tf-coop__flags { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.tf-coop__flags img { width: 26px; height: 18px; border-radius: 3px; box-shadow: 0 0 0 1px rgba(74, 11, 22, .1); }
.tf-coop__flags span { color: var(--tf-muted); font-weight: 700; }

/* Duyurular */
.tf-news { display: grid; grid-template-columns: 1.15fr 1fr; gap: 30px; align-items: stretch; }
.tf-news__main { position: relative; overflow: hidden; border-radius: 20px; background: var(--tf-navy); color: #fff; text-decoration: none; min-height: 420px; display: flex; }
.tf-news__main img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--tf-ease); }
.tf-news__main:hover img { transform: scale(1.04); }
.tf-news__main::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(43, 6, 13, .95) 0%, rgba(43, 6, 13, .35) 55%, rgba(43, 6, 13, .05) 100%); }
.tf-news__body { position: relative; z-index: 1; align-self: flex-end; padding: 32px; }
.tf-news__date { display: inline-block; padding: 5px 11px; border-radius: 6px; background: var(--tf-red); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.tf-news__body h3 { margin: 14px 0 0; color: #fff; font-size: 24px; font-weight: 800; line-height: 1.3; }
.tf-news__body p { margin: 10px 0 0; color: rgba(255, 255, 255, .75); font-size: 15px; line-height: 1.65; }
.tf-news__side { display: flex; flex-direction: column; gap: 16px; }
.tf-news__side .tf-card { flex: 1; }

/* Ortaklık çağrısı */
.tf-cta { position: relative; overflow: hidden; isolation: isolate; padding: 64px; border-radius: 26px; background: var(--tf-navy); }
.tf-cta::before { content: ""; position: absolute; right: -120px; top: -120px; z-index: -1; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(227, 30, 38, .45), transparent 65%); }
.tf-cta::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--tf-red); }
.tf-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.tf-cta h2 { margin: 0; color: #fff; font-size: clamp(26px, 2.8vw, 38px); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; }
.tf-cta p { max-width: 640px; margin: 14px 0 0; color: rgba(255, 255, 255, .72); font-size: 16.5px; line-height: 1.7; }
.tf-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; flex: none; }

/* Destekleyen kuruluşlar */
.tf-logos { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.tf-logos a, .tf-logos span { display: grid; place-items: center; height: 110px; padding: 18px; border: 1px solid var(--tf-line); border-radius: 14px; background: #fff; transition: .25s; }
.tf-logos img { max-width: 100%; max-height: 64px; object-fit: contain; filter: grayscale(.2); transition: filter .25s; }
.tf-logos a:hover { border-color: transparent; box-shadow: var(--tf-shadow); }
.tf-logos a:hover img { filter: none; }

/* ---------- 11 · Alt sayfalar ---------- */
.tf-soonbox {
  display: grid; grid-template-columns: 76px 1fr; gap: 26px; align-items: center; max-width: 900px; margin: 0 auto;
  padding: 36px 38px; border: 1px dashed #DDCDC7; border-radius: 18px; background: #fff;
}
.tf-soonbox__ico { display: grid; place-items: center; width: 76px; height: 76px; border-radius: 20px; background: var(--tf-red-soft); color: var(--tf-red); }
.tf-soonbox__ico svg { width: 34px; height: 34px; }
.tf-soonbox h2 { margin: 0 0 8px; color: var(--tf-navy); font-size: 22px; font-weight: 800; }
.tf-soonbox p { margin: 0 0 16px !important; color: var(--tf-muted); }
.tf-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.tf-list li { position: relative; padding: 16px 18px 16px 50px; border: 1px solid var(--tf-line); border-radius: 12px; background: #fff; color: var(--tf-text); font-size: 15.5px; line-height: 1.6; }
.tf-list li::before { content: ""; position: absolute; left: 18px; top: 21px; width: 16px; height: 16px; border-radius: 50%; background: var(--tf-red-soft); box-shadow: inset 0 0 0 5px var(--tf-red); }
.tf-steps { counter-reset: s; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.tf-step { position: relative; padding: 30px 26px; border-radius: var(--tf-radius); background: #fff; border: 1px solid var(--tf-line); }
.tf-step::before { counter-increment: s; content: "0" counter(s); display: block; margin-bottom: 14px; color: var(--tf-red); font-size: 34px; font-weight: 800; letter-spacing: -.02em; }
.tf-step h3 { margin: 0 0 8px; color: var(--tf-navy); font-size: 18px; font-weight: 800; }
.tf-step p { margin: 0 !important; color: var(--tf-muted); font-size: 15px; }
.tf-split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.tf-split img { width: 100%; border-radius: 20px; box-shadow: var(--tf-shadow-lg); object-fit: cover; aspect-ratio: 4 / 3; }
.tf-prose p { margin: 0 0 16px; color: var(--tf-text); font-size: 16.5px; line-height: 1.8; }
.tf-partner { display: grid; grid-template-columns: 180px 1fr; gap: 36px; align-items: center; padding: 34px; border: 1px solid var(--tf-line); border-radius: 20px; background: #fff; box-shadow: var(--tf-shadow); }
.tf-partner__logo { display: grid; place-items: center; height: 180px; border-radius: 16px; background: var(--tf-soft); }
.tf-partner__logo img { max-width: 130px; max-height: 130px; object-fit: contain; }
.tf-partner h2 { margin: 8px 0 10px; color: var(--tf-navy); font-size: 26px; font-weight: 800; }
.tf-partner p { margin: 0 0 18px !important; color: var(--tf-muted); }
.tf-partner__acts { display: flex; flex-wrap: wrap; gap: 12px; }

/* Alt sayfa kartlarını (eski dkp-card) yeni renklere uyarla */
.is-site .dkp-card { border-top-color: var(--tf-navy); }
.is-site .dkp-card:hover { border-top-color: var(--tf-red); }
.dkp-section .dkp-head__kicker { color: var(--tf-red); }

/* İletişim sayfası renkleri */
.dkx-card__ico, .dkx-btn { background: linear-gradient(145deg, var(--tf-navy-2), var(--tf-navy)); }
.dkx-card__k { color: var(--tf-red); }
.dkx-card::before { background: linear-gradient(90deg, transparent, var(--tf-red), transparent); opacity: .5; }
.dkf-field input:focus, .dkf-field select:focus, .dkf-field textarea:focus { border-color: var(--tf-navy); box-shadow: 0 0 0 4px rgba(74, 11, 22, .1); }

/* ---------- 12 · Footer ---------- */
.tf-footer { background: var(--tf-navy); color: rgba(255, 255, 255, .66); font-size: 15px; }
.tf-footer__top { display: grid; grid-template-columns: 1.45fr 1fr 1fr 1.15fr; gap: 48px; padding-top: 76px; padding-bottom: 60px; }
.tf-footer__logo { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.tf-footer__logo span { display: grid; place-items: center; flex: none; width: 70px; height: 70px; border-radius: 50%; background: #fff; }
.tf-footer__logo img { width: 58px; height: 58px; object-fit: contain; }
.tf-footer__logo strong { color: #fff; font-family: "Times New Roman", Times, Georgia, serif; font-size: 19px; font-weight: 700; letter-spacing: .01em; line-height: 1.15; text-transform: uppercase; }
.tf-footer__logo small { display: block; margin-top: 6px; color: rgba(255, 255, 255, .55); font-family: "Montserrat", sans-serif; font-size: 10.5px; font-weight: 700; letter-spacing: .08em; }
.tf-footer__brand p { margin: 22px 0 0; font-size: 14.5px; line-height: 1.75; }
.tf-footer__social { display: flex; gap: 8px; margin-top: 22px; }
.tf-footer__social a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 9px; background: rgba(255, 255, 255, .07); color: #fff; transition: background .2s; }
.tf-footer__social a:hover { background: var(--tf-red); }
.tf-footer__social svg { width: 17px; height: 17px; }
.tf-footer h3 { position: relative; margin: 8px 0 26px; padding-bottom: 14px; color: #fff; font-size: 16px; font-weight: 800; }
.tf-footer h3::after { content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 3px; border-radius: 2px; background: var(--tf-red); }
.tf-footer__links { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.tf-footer__links a { color: rgba(255, 255, 255, .7); text-decoration: none; line-height: 1.5; transition: color .2s, padding .2s; }
.tf-footer__links a:hover { color: #fff; padding-left: 4px; }
.tf-footer__contact { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.tf-footer__contact li { display: flex; gap: 12px; line-height: 1.55; }
.tf-footer__contact svg { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--tf-red); }
.tf-footer__contact a { color: rgba(255, 255, 255, .78); text-decoration: none; overflow-wrap: anywhere; }
.tf-footer__contact a:hover { color: #fff; }
.tf-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .08); background: var(--tf-navy-3); }
.tf-footer__bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; min-height: 64px; font-size: 13.5px; }
.tf-footer__bottom p { margin: 0; }
.tf-footer__bottom ul { display: flex; gap: 22px; margin: 0; padding: 0; list-style: none; }
.tf-footer__bottom a { color: rgba(255, 255, 255, .7); text-decoration: none; }
.tf-footer__bottom a:hover { color: #fff; }

/* Yukarı çık butonu kırmızı/lacivert */
.totop__arrow { color: var(--tf-navy); }

/* ---------- 13 · Duyarlı ---------- */
@media (min-width: 1281px) and (max-width: 1300px) {
  .tf-nav__link { padding: 16px 12px; font-size: 15px; }
  .tf-nav__link::after { left: 12px; right: 12px; }
  .tf-header__inner { gap: 16px; }
}
@media (max-width: 1280px) {
  .tf-hero__inner { grid-template-columns: 1.2fr .9fr; gap: 40px; }
}
@media (max-width: 1100px) {
  .tf-top__social, .tf-top__link { display: none; }
  .tf-hero__inner { grid-template-columns: 1fr; min-height: 0; padding-top: 70px; padding-bottom: 110px; }
  .tf-hero__card { max-width: 560px; }
  .tf-stats__box { grid-template-columns: repeat(2, 1fr); }
  .tf-stat:nth-child(2) { border-right: 0; }
  .tf-stat:nth-child(-n+2) { border-bottom: 1px solid var(--tf-line); }
  .tf-feature, .tf-split, .tf-news { grid-template-columns: 1fr; gap: 44px; }
  .tf-feature__media { max-width: 640px; }
  .tf-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .tf-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .tf-logos { grid-template-columns: repeat(3, 1fr); }
  .tf-footer__top { grid-template-columns: 1fr 1fr; }
  .tf-cta__inner { flex-direction: column; align-items: flex-start; }
  .tf-pnav__inner { gap: 12px; overflow-x: auto; scrollbar-width: none; }
  .tf-pnav__inner::-webkit-scrollbar { display: none; }
  .tf-pnav__brand { padding-right: 14px; }
  .tf-pnav__sub { display: none; }
  .tf-pnav__item > a { padding: 22px 10px; }
  .tf-head__row { flex-direction: column; align-items: flex-start; }
  .tf-steps { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .tf-top__inner { min-height: 48px; }
  .tf-top__contact a:nth-child(2) { display: none; }
  .tf-top__fed span, .tf-top__fed { font-size: 0; gap: 0; padding: 8px; }
  .tf-top__fed svg { width: 17px; height: 17px; }
  .tf-header__inner { min-height: 84px; gap: 14px; }
  .tf-brand__logo { width: 62px; height: 62px; }
  .tf-sec { padding: 64px 0; }
  .tf-grid--2, .tf-grid--3, .tf-grid--4 { grid-template-columns: 1fr; }
  .tf-stats { margin-top: -40px; }
  .tf-stats__box { grid-template-columns: 1fr 1fr; }
  .tf-stat { flex-direction: column; align-items: flex-start; gap: 10px; padding: 20px 18px; }
  .tf-stat b { font-size: 26px; }
  .tf-feature__facts, .tf-feature__links { grid-template-columns: 1fr; }
  .tf-feature__logo { right: 12px; bottom: -30px; width: 100px; height: 100px; }
  .tf-feature__logo img { width: 84px; height: 84px; }
  .tf-cta { padding: 40px 26px; border-radius: 20px; }
  .tf-logos { grid-template-columns: repeat(2, 1fr); }
  .tf-footer__top { grid-template-columns: 1fr; gap: 36px; padding-top: 56px; padding-bottom: 40px; }
  .tf-soonbox, .tf-partner, .tf-coop { grid-template-columns: 1fr; }
  .tf-partner__logo { height: 150px; }
  .tf-news__main { min-height: 340px; }
}
@media (max-width: 420px) {
  .tf-lang__item { padding: 5px 7px; }
  .tf-lang__item img { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .tf-mega, .tf-cas--l2, .tf-cas--l3, .tf-cas--l4 { animation: none; transition: none; }
}

/* Federasyon sayfalarında vurgu rengi kırmızı (Dual Kick sayfaları kendi mavi/yeşil kimliğini korur) */
.is-site .dkp-head__title span { color: var(--tf-red); }
.is-site .dkp-card__ico { background: var(--tf-red-soft); color: var(--tf-red); }
.is-site .dkp-card:hover .dkp-card__ico { background: var(--tf-red); color: #fff; }
.is-site .dkp-info__k svg, .is-site .dkp-card__no { color: var(--tf-red); }

/* Mobil menü açıkken chatbot gizlenir */
body:has(.tf-nav.is-open) .dkbot { display: none; }


/* ==========================================================================
   ANA SAYFA — federasyon odaklı bölümler
   ========================================================================== */

/* Hero sağ paneli: 3 çalışma alanına hızlı erişim */
.tf-hero__panel {
  display: flex; flex-direction: column; gap: 10px; padding: 28px;
  border: 1px solid rgba(255, 255, 255, .14); border-radius: 20px;
  background: rgba(43, 6, 13, .55); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .6);
}
.tf-hero__panel-k { margin-bottom: 8px; color: rgba(255, 255, 255, .6); font-size: 11.5px; font-weight: 800; letter-spacing: .14em; line-height: 1.5; text-transform: uppercase; }
.tf-hero__link {
  display: flex; align-items: center; gap: 16px; padding: 18px 18px;
  border: 1px solid rgba(255, 255, 255, .1); border-radius: 14px; background: rgba(255, 255, 255, .04);
  color: #fff; text-decoration: none; transition: background .25s, border-color .25s, transform .25s var(--tf-ease);
}
.tf-hero__link:hover { background: var(--tf-red); border-color: var(--tf-red); transform: translateX(4px); }
.tf-hero__link b { display: block; font-size: 16px; font-weight: 700; line-height: 1.35; }
.tf-hero__link > span:nth-child(2) { flex: 1; }
.tf-hero__link svg { flex: none; width: 18px; height: 18px; opacity: .7; }
.tf-hero__no { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: rgba(227, 30, 38, .18); color: #FF8A8F; font-size: 14px; font-weight: 800; transition: .25s; }
.tf-hero__link:hover .tf-hero__no { background: #fff; color: var(--tf-red); }

/* Federasyon tanıtımı */
.tf-about { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.tf-about__media { position: relative; }
.tf-about__photo { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 22px; box-shadow: var(--tf-shadow-lg); }
.tf-about__media::before { content: ""; position: absolute; left: -18px; top: -18px; z-index: -1; width: 55%; height: 60%; border-radius: 22px; background: var(--tf-red); opacity: .9; }
.tf-about__badge { position: absolute; right: -20px; bottom: -24px; display: grid; place-items: center; width: 124px; height: 124px; border-radius: 50%; background: #fff; box-shadow: var(--tf-shadow-lg); }
.tf-about__badge img { width: 104px; height: 104px; object-fit: contain; }
.tf-about__facts { display: grid; grid-template-columns: 1fr 1.4fr; gap: 12px; margin: 8px 0 28px; padding: 0; list-style: none; }
.tf-about__facts li { padding: 16px 18px; border: 1px solid var(--tf-line); border-left: 3px solid var(--tf-red); border-radius: 12px; background: #fff; }
.tf-about__facts span { display: block; color: var(--tf-muted); font-size: 12.5px; font-weight: 600; }
.tf-about__facts b { display: block; margin-top: 3px; color: var(--tf-navy); font-size: 15px; font-weight: 800; line-height: 1.4; }

/* Ortalanmış kart */
.tf-card--center { align-items: center; text-align: center; }
.tf-card--center .tf-card__ico { width: 64px; height: 64px; border-radius: 50%; }
.tf-card--center .tf-card__ico svg { width: 28px; height: 28px; }

/* Erasmus+ bölümü */
.tf-eras { position: relative; overflow: hidden; isolation: isolate; }
.tf-eras::before { content: ""; position: absolute; right: -200px; top: -200px; z-index: -1; width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(227, 30, 38, .28), transparent 65%); }
.tf-eras__grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: center; }
.tf-eras__logo { display: block; width: 190px; margin-bottom: 26px; padding: 12px 16px; border-radius: 12px; background: #fff; }
.tf-eras__dk {
  display: flex; align-items: center; gap: 16px; margin-top: 30px; padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, .14); border-radius: 16px; background: rgba(255, 255, 255, .05);
  color: #fff; text-decoration: none; transition: background .25s, border-color .25s;
}
.tf-eras__dk:hover { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .3); }
.tf-eras__dklogo { flex: none; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #fff; }
.tf-eras__dklogo img { width: 50px; height: 50px; object-fit: contain; }
.tf-eras__dk > span:nth-child(2) { flex: 1; min-width: 0; }
.tf-eras__dk small { display: block; color: #FF8A8F; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.tf-eras__dk b { display: block; margin-top: 3px; font-size: 16px; font-weight: 800; }
.tf-eras__dk em { display: block; margin-top: 2px; color: rgba(255, 255, 255, .65); font-size: 13.5px; font-style: normal; }
.tf-eras__dk svg { flex: none; width: 18px; height: 18px; }
.tf-eras__list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.tf-eras__item { padding: 26px 24px; border: 1px solid rgba(255, 255, 255, .1); border-radius: 18px; background: rgba(255, 255, 255, .04); transition: background .25s, transform .3s var(--tf-ease); }
.tf-eras__item:hover { background: rgba(255, 255, 255, .08); transform: translateY(-4px); }
.tf-eras__item > span { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 18px; border-radius: 14px; background: var(--tf-red); color: #fff; }
.tf-eras__item svg { width: 24px; height: 24px; }
.tf-eras__item h3 { margin: 0 0 8px; color: #fff; font-size: 18px; font-weight: 800; }
.tf-eras__item p { margin: 0; color: rgba(255, 255, 255, .68); font-size: 14.5px; line-height: 1.65; }
.tf-prog__proj { margin-top: 12px !important; padding-top: 12px; border-top: 1px dashed var(--tf-line); color: var(--tf-red) !important; font-size: 13px !important; font-weight: 700; }

@media (max-width: 1100px) {
  .tf-about, .tf-eras__grid { grid-template-columns: 1fr; gap: 48px; }
  .tf-about__media { max-width: 640px; }
  .tf-hero__panel { max-width: 560px; }
}
@media (max-width: 760px) {
  .tf-about__facts, .tf-eras__list { grid-template-columns: 1fr; }
  .tf-about__badge { right: 10px; width: 96px; height: 96px; }
  .tf-about__badge img { width: 80px; height: 80px; }
  .tf-about__media::before { left: -8px; top: -8px; }
}
