/* Turmak site stilleri — doğrudan bu dosya düzenlenir.
   Kırılımlar Bootstrap ile aynı: sm 576 / md 768 / lg 992 / xl 1200. */

/* ===== 00-base.css ===== */
/* =========================================================================
   Turmak - site stilleri (Bootstrap 5.3 üzerine)
   Kırılımlar Bootstrap ile aynı: sm 576 / md 768 / lg 992 / xl 1200.
   Tablet aralığındaki yazı boyutları clamp() ile 768 -> 1200 px arasında
   akışkan büyür; 767 px altı ve 1200 px üstü orijinal değerlerle birebir.
   ========================================================================= */

/* ---------- Yazı tipleri ---------- */
@font-face {
  font-family: "Montserrat UltraLight";
  src: url("/fonts/montserrat-ultralight.woff") format("woff"),
       url("/fonts/montserrat-ultralight.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Font Awesome 5 Brands";
  src: url("/fonts/fa-brands-400.woff2") format("woff2"),
       url("/fonts/fa-brands-400.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

.fab {
  display: inline-block;
  font-family: "Font Awesome 5 Brands";
  font-weight: 400;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.fa-whatsapp::before { content: "\f232"; }
.fa-linkedin::before { content: "\f08c"; }
.fa-instagram::before { content: "\f16d"; }
.fa-facebook::before { content: "\f09a"; }
.fa-youtube::before { content: "\f167"; }

/* ---------- Temel ---------- */
:root {
  --c-text: #5f727f;
  --c-red: #d92414;
  --c-brick: #bf4539;
  --c-coral: #e75344;
  --c-light: #f2f2f2;
  --c-dark: #3c3950;
  --c-footer: #2c2e3d;
  --c-footer-text: #99a9b5;
  --bs-body-font-family: Montserrat, sans-serif;
  --bs-body-font-size: 16px;
  --bs-body-line-height: 25px;
  --bs-body-color: #5f727f;
}

body {
  background: #fff;
  overflow-x: hidden;
}

h1, h2, h3, p, ul, figure {
  margin: 0;
}

ul {
  padding: 0;
  list-style: none;
}

a {
  color: var(--c-brick);
  text-decoration: none;
  transition: color .3s, background-color .3s;
}

img {
  max-width: 100%;
  height: auto;
}

.container-boxed {
  max-width: 1140px;
  margin: 0 auto;
}

.container-wide {
  max-width: 1212px;
  margin: 0 auto;
}

/* 7 sütunlu ızgara (Bootstrap row-cols-* mantığında) */
@media (min-width: 992px) {
  .row-cols-lg-7 > * {
    flex: 0 0 auto;
    width: 14.2857143%;
  }
}

/* ---------- Giriş animasyonu (Elementor fadeInUp) ---------- */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

/* JS açıksa öğe görünür alana girene kadar gizli kalır (JS kapalıysa hep görünür) */
@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
  .anim {
    visibility: hidden;
  }

  .anim.in {
    visibility: visible;
    animation: fadeInUp 1.25s both;
  }
}

/* ===== 10-header.css ===== */
/* ---------- Header ---------- */
.site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transition: background-color .3s, box-shadow .3s;
}

.site-header.is-fixed {
  position: fixed;
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 0 2px rgba(56, 69, 84, .2);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 80px;
  max-width: 1212px;
  margin: 0 auto;
  padding: 0 21px;
  transition: height .3s;
}

.site-logo {
  display: grid;
  flex-shrink: 0;
}

.site-logo img {
  grid-area: 1 / 1;
  align-self: center;
  transition: opacity .3s;
}

.logo-big {
  display: none;
}

.menu-toggle {
  position: relative;
  width: 36px;
  height: 30px;
  padding: 0;
  border: 0;
  background: transparent;
}

.menu-toggle span {
  position: absolute;
  left: 9px;
  width: 18px;
  height: 2px;
  background: #fff;
  transition: background-color .3s;
}

.menu-toggle span:nth-child(1) { top: 9px; }
.menu-toggle span:nth-child(2) { top: 14px; }
.menu-toggle span:nth-child(3) { top: 19px; }

.is-fixed .menu-toggle span {
  background: var(--c-dark);
}

/* Mobil / tablet menü (992 px altı) */
.main-nav {
  position: absolute;
  top: 100%;
  left: 21px;
  right: 21px;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .3s, transform .3s, visibility .3s;
}

.menu-open .main-nav {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.menu {
  padding: 1px 1px 0;
  background: #50525f;
}

.menu li {
  padding-bottom: 1px;
}

.menu a {
  display: block;
  padding: 16px 30px;
  background: #212331;
  color: #99a9b5;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
}

.menu .active a {
  padding-left: 26px;
  border-left: 4px solid var(--c-brick);
  background: #181828;
  color: #fff;
}

@media (max-width: 767.98px) {
  .is-fixed .header-inner {
    height: 63px;
  }
}

/* Masaüstü menü (992 px ve üstü) */
@media (min-width: 992px) {
  .header-inner {
    height: 100px;
  }

  .is-fixed .header-inner {
    height: 80px;
  }

  .logo-big {
    display: block;
  }

  .logo-small {
    justify-self: start;
    opacity: 0;
  }

  .is-fixed .logo-big {
    opacity: 0;
  }

  .is-fixed .logo-small {
    opacity: 1;
  }

  .menu-toggle {
    display: none;
  }

  .main-nav {
    position: static;
    max-height: none;
    overflow: visible;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .menu {
    display: flex;
    align-items: center;
    margin-right: -20px;
    padding: 0;
    background: none;
  }

  .menu li {
    padding: 0;
  }

  .menu a,
  .menu .active a {
    padding: 35px clamp(16px, calc(1.923vw - 3.08px), 20px);
    border: 0;
    background: none;
    color: #fff;
    font-size: clamp(20px, calc(1.923vw + .92px), 24px);
    line-height: 16px;
  }

  .menu .active a {
    padding-bottom: 31px;
    border-bottom: 4px solid transparent;
    color: var(--c-brick);
  }

  .menu a:hover {
    color: var(--c-brick);
  }

  .menu .lang img {
    vertical-align: baseline;
  }

  .is-fixed .menu a {
    padding-top: 18px;
    padding-bottom: 18px;
    color: var(--c-dark);
  }

  .is-fixed .menu .active a {
    padding-bottom: 14px;
    border-bottom-color: #d7dee4;
    background: #f4f6f7;
    color: var(--c-brick);
  }

  .is-fixed .menu a:hover {
    color: var(--c-brick);
  }
}

/* ===== 20-home.css ===== */
/* ---------- Hero ---------- */
.hero {
  display: flex;
  align-items: center;
  min-height: 100vh;
  background: url("/images/home-bg-1-jpg.webp") 50% 0 / cover no-repeat;
  text-align: center;
}

.hero-inner {
  width: 100%;
  padding: 35px 21px 50px;
}

.hero-title {
  padding-top: 60px;
  color: var(--c-brick);
  font-size: clamp(36px, calc(7.870vw - 24.44px), 70px);
  font-weight: 700;
  line-height: clamp(53px, calc(6.25vw + 5px), 80px);
  letter-spacing: .05em;
}

.hero-titles .hero-title {
  display: block;
}

.hero-titles .hero-title + .hero-title {
  padding-top: 10px;
  font-size: clamp(28px, calc(9.722vw - 46.67px), 70px); /* mobilde 28 px, masaüstünde 70 px */
}

/* EN ana sayfa: masaüstünde arka plan genişliğe göre ölçeklenir, altı beyaz kalır (orijinaldeki gibi) */
@media (min-width: 768px) {
  .hero-fit-width {
    background-size: 100% auto;
  }
}

.hero-subtitle {
  padding-top: 10px;
  color: #fff;
  font-family: "Montserrat UltraLight", Montserrat, sans-serif;
  font-size: clamp(28px, calc(4.167vw - 4px), 46px);
  line-height: clamp(42px, calc(6.25vw - 6px), 69px);
  letter-spacing: .05em;
}

.hero-text {
  max-width: 1000px;
  margin: 40px auto 0;
}

.hero-text p {
  margin-bottom: 26.4px;
  color: #fff;
  font-family: "Source Sans Pro", sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 37px;
}

/* ---------- Slider (tr/inc/slider.asp, en/inc/slider.asp) ----------
   İlk slayt .hero'nun arka planını kullanır. Ek slaytlar: .hero-slide + .hero-slide-N (görseli aşağıdaki
   "slayt görselleri" listesinde). Eklemek/silmek için: python _tools/slider_ekle.py (bkz. dosyanın başı). */
.hero-slide {
  min-height: 100vh;
  background: 50% 0 / cover no-repeat;
}

.hero-slide .hero-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100vh;
}

/* slayt görselleri (slider_ekle.py yönetir) */
/* slayt görselleri sonu */

/* ---------- Tanıtım sütunları ---------- */
.features {
  background: #bf7e78;
}

.feature {
  padding: 80px 21px 107px 60px;
  color: var(--c-light);
}

.feature-1 { background: var(--c-red); }
.feature-2 { background: var(--c-brick); }
.feature-3 { background: var(--c-coral); }

.feature-title {
  margin-bottom: 20px;
  padding-top: 20px;
  color: var(--c-light);
  font-size: 28px;
  font-weight: 700;
  line-height: clamp(38px, calc(.926vw + 30.89px), 42px);
  letter-spacing: .05em;
}

.feature-text {
  padding-top: 10px; /* margin olsaydı başlığın alt boşluğuyla birleşirdi */
  padding-right: 50px;
}

.feature-text-gap-60 {
  padding-top: 60px;
}

.feature-text p {
  margin-bottom: 17.6px;
}

.feature-text p:last-child {
  margin-bottom: 0;
}

.drop-cap {
  float: left;
  margin: 8px 20px 5px 0;
  padding: 9px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-family: "Source Sans Pro", sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
  text-align: center;
}

.drop-cap span {
  display: inline-block;
  min-width: 40px;
  height: 40px;
  font-size: 40px;
  font-weight: 900;
  line-height: 40px;
}

.feature-1 .drop-cap {
  margin: 0 15px 5px 0;
  color: #fff;
}

/* ---------- Bölüm başlıkları ---------- */
.section-heading {
  max-width: 1140px;
  margin: 62px auto;
  padding-top: 29px;
  background: #fff;
  text-align: center;
}

.section-heading h2 {
  margin-top: -10px;
  color: var(--c-red);
  font-size: clamp(28px, calc(4.167vw - 4px), 46px);
  font-weight: 700;
  line-height: clamp(53px, calc(3.704vw + 24.56px), 69px);
  letter-spacing: .05em;
}

.section-heading-tight {
  margin-top: 31px;
  margin-bottom: 31px;
}

.section-heading-brands {
  max-width: none;
  margin: 0;
  padding: 48px 20px 25px;
}

.section-heading-brands h2 {
  max-width: 1212px;
  margin: -10px auto 0;
  padding: 0 21px;
}

/* ---------- Haber ve etkinlik kartları ---------- */
.cards {
  padding-bottom: 55px;
}

.card-box {
  height: 100%;
  margin: 0 5px;
  padding: 20px;
  border: 3px solid rgba(191, 69, 57, .46);
  text-align: center;
  overflow-wrap: break-word;
}

.card-img img {
  display: block;
  width: 100%;
}

.cards-news .card-text {
  margin-bottom: 17.6px; /* orijinaldeki boş paragrafın bıraktığı alt boşluk */
}

.card-title {
  margin: 1.13em 0;
  color: var(--c-dark);
  font-size: clamp(24px, calc(.926vw + 16.89px), 28px);
  font-weight: 700;
  line-height: clamp(38px, calc(.926vw + 30.89px), 42px);
  letter-spacing: .05em;
}

/* ---------- Referanslar (çevrilen kartlar) ---------- */
.references {
  padding: 100px 20px;
  background: #fafafa;
}

.references .row {
  row-gap: 30px;
}

.ref-card {
  display: flex;
  justify-content: center;
  box-shadow: 0 0 10px rgba(0, 0, 0, .5);
}

.flip {
  width: 100%;
  max-width: 230px;
  height: 300px;
  perspective: 1000px;
}

.flip-wide {
  max-width: 250px;
}

.flip-inner {
  position: relative;
  height: 100%;
  transition: transform .6s ease;
  transform-style: preserve-3d;
}

.ref-card:hover .flip-inner {
  transform: rotateX(180deg);
}

.flip-front,
.flip-back {
  position: absolute;
  inset: 0;
  overflow: hidden;
  backface-visibility: hidden;
}

.flip-front {
  z-index: 2;
  background: #fff;
}

.flip-back {
  background: #fc545e;
  transform: rotateX(180deg);
}

.flip-front img,
.flip-back img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.flip-back img {
  object-fit: cover;
}

@media (min-width: 576px) {
  .references .col {
    padding: 0 10px;
  }
}

@media (min-width: 768px) {
  .references {
    padding: 40px 25px;
  }

  .references .row {
    row-gap: 25px;
  }

  .flip {
    height: 200px;
  }
}

@media (min-width: 992px) {
  .references {
    padding: 10px;
  }

  .references .col {
    padding: 0 15px;
  }
}

/* ---------- Markalar ---------- */
.brands {
  padding-bottom: 56px;
}

.brand-col {
  padding: 10px 21px;
}

.brand-box {
  border: 3px solid var(--c-text);
  text-align: center;
}

.brand-img img {
  display: inline-block;
}

.brand-img-70 img { width: 70%; }
.brand-img-77 img { width: 77%; }
.brand-img-gap img { margin-bottom: 15px; }

/* ===== 30-footer.css ===== */
/* ---------- Footer ---------- */
.site-footer {
  background: var(--c-footer);
  color: var(--c-footer-text);
}

.footer-top {
  padding: 25px 21px 1px;
}

.footer-col {
  padding: 10px 21px;
}

.footer-address li {
  padding-left: 4px;
}

.footer-address li:first-child {
  padding-bottom: 2.5px;
}

.footer-address li + li {
  margin-top: 2.5px;
}

.footer-contact li {
  padding: 0 0 .5px 5px;
}

.footer-contact li + li {
  margin-top: .5px;
}

.footer-bottom .footer-col {
  display: flex;
  align-items: center;
  min-height: 52px;
}

.footer-bottom .footer-col > * {
  flex: 1;
}

.copyright {
  font-size: 13.6px;
  line-height: 23px;
}

.footer-links {
  display: flex;
  justify-content: center;
  font-size: 13.6px;
  line-height: 23px;
}

.footer-links li {
  position: relative;
  margin: 0 15px;
}

.footer-links li + li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -15px;
  height: 20px;
  border-left: 1px solid var(--c-footer-text);
  transform: translateY(-50%);
}

.footer-links a,
.social a {
  color: var(--c-footer-text);
}

.social {
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  height: 32px;
  padding-right: 20px;
}

.social a {
  display: block;
  font-size: 38px;
  line-height: 38px;
}

.social i {
  width: 1em;
  height: 1em;
  text-align: center;
}

@media (max-width: 767.98px) {
  .footer-top {
    padding: 70px 21px;
  }

  .footer-top .footer-col:nth-child(1) {
    margin-bottom: 30px;
  }

  .footer-top .footer-col:nth-child(3) {
    margin-top: 30px;
  }

  .footer-bottom {
    padding: 50px 21px;
  }

  .footer-bottom .footer-col {
    min-height: 0;
  }

  .footer-bottom .footer-col:nth-child(2) {
    margin: 30px 0;
  }

  .copyright {
    text-align: center;
  }

  .footer-links li {
    margin: 0 7.5px;
  }

  .footer-links li + li::before {
    left: -7.5px;
  }

  .social {
    justify-content: center;
    margin-left: -20px; /* orijinalde ikon grubu 10 px sola kayık */
    padding-right: 0;
  }
}

/* ---------- WhatsApp butonu ---------- */
.whatsapp {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 0;
  height: 0;
  padding: 35px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  font-size: 40px;
  animation: pulse 1.5s ease-out infinite;
}

.whatsapp:hover {
  color: #fff;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, .5);
  }

  80% {
    box-shadow: 0 0 0 14px rgba(37, 211, 102, 0);
  }
}

/* ---------- Çerez bandı ---------- */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 9999;
  display: none;
  width: 100%;
  padding: 15px;
  background: #222;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, .3);
  color: #fff;
  font-family: Arial, sans-serif;
  text-align: center;
}

.cookie-banner.show {
  display: block;
}

.cookie-banner p {
  display: inline-block;
  margin: 0 15px 0 0;
  font-size: 14px;
}

.cookie-btn {
  padding: 8px 20px;
  border: 0;
  border-radius: 4px;
  background: #4caf50;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.cookie-btn:hover {
  background: #45a049;
}

/* ===== 40-intro.css ===== */
/* ---------- Giriş bloğu (Hakkımızda, Kurumsal, Servisler, İletişim) ----------
   Solda koyu zemin + dikey sayfa adı görseli, sağda fotoğraf.
   767 px altı orijinal mobil, 1200 px üstü orijinal masaüstü; arası clamp() ile akışkan. */
.intro-text {
  position: relative;
  padding: clamp(120px, calc(18.52vw - 22.2px), 200px) 21px 90px;
  background: #323236;
}

.intro-label {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 100% 50%;
  pointer-events: none;
}

.intro-title,
.intro-sub,
.intro-btn {
  position: relative;
}

.intro-title {
  margin: 0;
}

.intro-lead,
.intro-accent {
  display: block;
}

.intro-lead {
  padding-right: 80px;
  color: #fff;
  font-size: clamp(20px, calc(6.944vw - 33.33px), 50px);
  font-weight: 400;
  line-height: clamp(26px, calc(8.333vw - 40px), 60px); /* mobilde orijinaldeki gibi 26 px satır */
}

.intro-accent {
  color: var(--c-brick);
  font-size: clamp(20px, calc(8.796vw - 47.55px), 58px);
  font-weight: 700;
  line-height: clamp(53px, calc(6.25vw + 5px), 80px);
  letter-spacing: .05em;
}

.intro-sub {
  margin: 4px 20px 0 0;
  padding-right: 20px;
  color: #fff;
  font-family: "Source Sans Pro", sans-serif;
  font-size: clamp(18px, calc(1.389vw + 7.33px), 24px);
  font-weight: 300;
  line-height: clamp(21.6px, calc(3.565vw - 5.78px), 37px);
}

.intro-photo {
  position: relative;
  min-height: 500px;
}

.intro-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.intro-btn {
  display: inline-block;
  border-radius: 5px;
  background: #d9534f;
  color: #fff;
  text-align: center;
  transition: background-color .3s, color .3s;
}

.intro-btn:hover {
  color: #fff;
}

.intro-btn-lg {
  margin-top: 20px;
  padding: 20px 40px;
  font-size: 18px;
  line-height: 18px;
}

.intro-btn-sm {
  display: block;
  width: fit-content;
  padding: 12px 24px;
  border-radius: 3px;
  font-size: 15px;
  line-height: 15px;
}

@media (min-width: 768px) {
  .intro-text {
    padding-right: clamp(21px, calc(39.12vw - 279.4px), 190px);
    padding-left: clamp(21px, calc(11.34vw - 66.1px), 70px);
  }

  .intro-lead {
    padding-right: 0;
  }

  .intro-btn-sm {
    display: none;
  }
}

/* ---------- Bu sayfalardaki footer: orijinalde 10 px dikey ve 37 px yan girintili ---------- */
.page-intro .site-footer {
  padding: 10px 0;
}

@media (min-width: 768px) {
  .page-intro .footer-top {
    padding-right: 37px;
    padding-left: 37px;
  }
}

/* ---------- Ortak metin bölümü (tme-heading) ---------- */
.text-section {
  padding: clamp(65px, calc(162.2px - 8.1vw), 100px) 20px;
}

.text-section h2 {
  margin-bottom: 5px;
  color: #0d1321;
  font-size: clamp(28px, calc(4.167vw - 4px), 46px);
  font-weight: 700;
  line-height: clamp(42px, calc(6.25vw - 6px), 69px);
  letter-spacing: .05em;
  text-align: center;
}

.text-section p {
  color: #444140;
  font-size: clamp(13px, calc(1.157vw + 4.11px), 18px);
  line-height: clamp(22.1px, calc(1.968vw + 6.99px), 30.6px);
}

@media (min-width: 768px) {
  .text-section {
    padding-right: 0;
    padding-left: 0;
  }

  .text-section h2 {
    margin-bottom: 20px;
  }

  /* arka plan tam genişlik kalır; metin site kabına (1212px) ve kenar boşluğuna oturur */
  .text-section > * {
    max-width: 1212px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 21px;
    padding-left: 21px;
  }
}

/* ===== 41-about.css ===== */
/* ---------- Hakkımızda ---------- */
.page-about .intro-lead {
  padding-right: 80px;
}

.page-about .intro-sub {
  padding-right: 10px;
}

.about-desc {
  padding: clamp(65px, calc(162.2px - 8.1vw), 100px) 20px;
  background: #fafafa;
}

.about-desc a {
  color: inherit;
}

.about-desc p {
  color: #444140;
  font-size: clamp(13px, calc(1.62vw + .56px), 20px);
  line-height: clamp(22.1px, calc(2.755vw + .94px), 34px);
  text-align: center;
}

@media (min-width: 768px) {
  .about-desc {
    padding-right: 21.5px;
    padding-left: 21.5px;
  }

  .about-desc p {
    text-align: left;
  }
}

/* Ekip ızgarası: mobil 2, masaüstü 3 sütun */
.team {
  padding: clamp(50px, calc(188.9px - 11.57vw), 100px) clamp(20px, calc(4.63vw - 15.56px), 40px) clamp(60px, calc(7.64vw + 1.33px), 93px);
}

.team-heading {
  margin-bottom: clamp(40px, calc(4.63vw + 4.44px), 60px);
  color: #212121;
  font-size: clamp(28px, calc(4.167vw - 4px), 46px);
  font-weight: 700;
  line-height: clamp(42px, calc(6.25vw - 6px), 69px);
  letter-spacing: .05em;
  text-align: center;
}

.team-grid {
  margin: 0 -5px;
}

.team-item {
  padding: 0 5px;
  margin-bottom: 10px;
}

.team-card {
  position: relative;
  overflow: hidden;
  background: #eee;
}

.team-card img {
  display: block;
  width: 100%;
}

.team-overlay {
  position: absolute;
  inset: 0 0 5px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  opacity: 0;
  transition: opacity .2s ease-in-out;
}

.team-card:hover .team-overlay {
  opacity: 1;
}

.team-name,
.team-role {
  font-weight: 600;
}

.team-name {
  padding-left: 10px;
  background: #212121;
  color: #fff;
  font-size: 18px;
  line-height: 21.6px;
}

.team-role {
  padding: 10px;
  background: #fff;
  color: #212121;
  font-size: 16px;
  line-height: 19.2px;
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.team-card:hover .team-name {
  animation: fadeInLeft .5s both;
}

.team-card:hover .team-role {
  animation: fadeInLeft 1s both;
}

@media (min-width: 768px) {
  .team-grid {
    margin: 0 -20px;
  }

  .team-item {
    padding: 0 20px;
    margin-bottom: 40px;
  }
}

/* Üyelikler ve sertifikalar */
.memberships {
  margin-bottom: 62px;
  background: var(--c-footer);
}

.memberships-text {
  padding: 131px 29px 7px 90px;
}

.memberships-text h2 {
  margin-bottom: 30px;
  color: var(--c-brick);
  font-family: Roboto, sans-serif;
  font-size: clamp(28px, calc(4.167vw - 4px), 46px);
  font-weight: 600;
  line-height: clamp(42px, calc(6.25vw - 6px), 69px);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.memberships-text p {
  color: #fff;
  font-family: "Source Sans Pro", sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 37px;
}

.memberships-logos {
  background: #fff;
}

.logo-col {
  padding: 10px 21px;
  text-align: center;
}

.logo-col.logo-wide {
  padding: 0;
}

.logo-link img {
  width: 70%;
  margin-bottom: 15px;
}

.logo-link.logo-first img {
  width: 71%;
  margin-bottom: 25px;
}

@media (min-width: 768px) {
  .memberships-logos > .row {
    align-items: flex-start;
  }
}

/* ===== 42-corporate.css ===== */
/* ---------- Kurumsal ---------- */
.page-corporate .intro-sub {
  font-size: clamp(16px, calc(1.852vw + 1.78px), 24px);
  line-height: clamp(19.2px, calc(4.12vw - 12.44px), 37px);
}

.text-section-1,
.text-section-3 {
  background: #f2f2f2;
}

.text-section-2 {
  background: #fafafa;
}

/* ===== 43-services.css ===== */
/* ---------- Servisler ---------- */
.page-services .intro-title {
  padding-top: 10px;
}

.page-services .intro-photo img {
  object-position: 50% 0;
}

/* Kurumsal ile aynı panel genişliğinde dikey yazı aynı boyda kalır.
   Kısa katalog metni, intro-label görselini yükseklikten küçültmemeli. */
@media (min-width: 768px) {
  .page-catalogs .intro-text {
    min-height: calc(50vw * 813 / 961);
  }
}

/* Katalog banner'ı iki dilde siyah-beyaz gösterilir; kaynak görsel renklidir. */
.page-catalogs .intro-photo img {
  filter: grayscale(100%);
}

/* Alıntı ve katalog başlığı bantları */
.services-quote,
.catalogs-heading {
  padding: clamp(60px, calc(1.157vw + 51.11px), 65px) 0;
  background: rgba(151, 151, 151, .31);
}

.services-quote .container-wide,
.catalogs-heading h2 {
  padding: 10px 21px;
}

.quote-text {
  margin: 50px clamp(0px, calc(11.57vw - 88.9px), 50px) 0;
  color: #000;
  font-family: "Source Sans Pro", sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 37px;
  letter-spacing: .05em;
}

.catalogs-heading h2 {
  max-width: 1212px;
  margin: 0 auto;
  color: var(--c-dark);
  font-size: clamp(28px, calc(4.167vw - 4px), 46px);
  font-weight: 700;
  line-height: clamp(42px, calc(6.25vw - 6px), 69px);
  letter-spacing: .05em;
  text-align: center;
}

/* Hizmet kartları: hover'da sağa döner */
.service-cards {
  padding: clamp(65px, calc(162.2px - 8.1vw), 100px) clamp(20px, calc(4.63vw - 15.56px), 40px);
}

.service-card {
  height: 300px;
  perspective: 1000px;
}

.service-card + .service-card,
.service-col + .service-col {
  margin-top: 20px;
}

.service-inner {
  position: relative;
  height: 100%;
  transition: transform .6s cubic-bezier(.75, 0, .85, 1);
  transform-style: preserve-3d;
  cursor: pointer;
}

.service-card:hover .service-inner {
  transform: rotateY(180deg);
}

.service-front,
.service-back {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  backface-visibility: hidden;
}

.service-front {
  z-index: 2;
  padding: 30px;
  border: 1px solid var(--c-brick);
  background: #fff;
  text-align: center;
}

.service-icon svg {
  width: 100px;
  height: 100px;
  fill: var(--c-brick);
}

.service-title {
  margin: 20px 0 10px;
  color: #001035;
  font-family: "Josefin Sans", sans-serif;
  font-size: clamp(24px, calc(1.389vw + 13.33px), 30px);
  font-weight: 700;
  line-height: clamp(31.2px, calc(1.806vw + 17.33px), 39px);
  letter-spacing: .05em;
}

.service-back {
  padding: 20px;
  border: 1px solid #f9ba48;
  border-radius: 4px;
  background: var(--c-brick);
  color: #fff;
  transform: rotateY(180deg);
}

.service-back p {
  font-size: 10px;
  line-height: 25px;
}

@media (min-width: 768px) {
  .service-card {
    height: 320px;
  }

  .service-col + .service-col {
    margin-top: 0;
    padding-left: 20px;
  }
}

/* Katalog indirme kutuları */
.catalogs {
  padding: clamp(50px, calc(188.9px - 11.57vw), 100px) clamp(20px, calc(6.94vw - 33.3px), 50px);
}

.download-box {
  position: relative;
  width: 250px;
  max-width: 100%;
  margin: 16px auto;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .1), inset 0 1px 0 rgba(255, 255, 255, .4);
  text-align: center;
}

.download-box img {
  display: block;
  width: 100%;
  border-radius: 3px 3px 0 0;
}

.download-count {
  position: absolute;
  top: 0;
  right: 0;
  margin: -8px -8px 0 0;
  padding: 9.6px;
  border: 1px solid #bbb;
  border-radius: 16px;
  background: #ddd;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .1), inset 0 1px 0 rgba(255, 255, 255, .4);
  color: #777;
  font-size: 16px;
  line-height: 16px;
}

.download-button {
  display: block;
  margin: 23px 16px 16px;
  padding: 14.4px 19.2px;
  border: 1px solid #0086b2;
  border-radius: 4px;
  background: #09c linear-gradient(to bottom, #009fd4, #09c, #0086b2);
  color: #fff;
  font-size: 19.2px;
  line-height: 28.8px;
}

.download-button:hover {
  color: #fff;
}

.download-button small {
  display: block;
  font-size: 15.36px;
  opacity: .8;
}

/* ===== 44-contact.css ===== */
/* ---------- İletişim ---------- */
@font-face {
  font-family: "Font Awesome 5 Free";
  src: url("/fonts/fa-regular-400.woff2") format("woff2"),
       url("/fonts/fa-regular-400.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: "Font Awesome 5 Free";
  src: url("/fonts/fa-solid-900.woff2") format("woff2"),
       url("/fonts/fa-solid-900.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: block;
}

.far,
.fas {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

.far { font-weight: 400; }
.fas { font-weight: 900; }
.fa-address-card::before { content: "\f2bb"; }
.fa-fax::before { content: "\f1ac"; }
.fa-phone::before { content: "\f095"; }
.fa-envelope::before { content: "\f0e0"; }

/* Giriş bloğu: orijinalde her öğenin altında 20 px boşluk var */
.page-contact .intro-text {
  padding-top: clamp(35px, calc(25vw - 157px), 143px);
}

.page-contact .intro-title {
  padding-top: 30px;
}

.page-contact .intro-lead,
.page-contact .intro-accent {
  margin-bottom: 20px;
}

/* Harita + iletişim bilgileri */
.contact-map iframe {
  display: block;
  width: 100%;
  height: 766px;
  border: 0;
}

.contact-list {
  padding: 50px 21px 30px;
}

.contact-item {
  display: flex;
  min-height: clamp(121px, calc(8.1vw + 58.8px), 156px);
}

.contact-icon {
  flex: 0 0 56px;
  padding-top: clamp(42.5px, calc(4.05vw + 11.4px), 60px);
  color: var(--c-brick);
  font-size: 28px;
  line-height: 36.4px;
}

.contact-body h4 {
  margin-bottom: clamp(18px, calc(1.389vw + 7.33px), 24px);
  color: var(--c-dark);
  font-size: clamp(18px, calc(1.389vw + 7.33px), 24px);
  font-weight: 700;
  line-height: clamp(29px, calc(2.083vw + 13px), 38px);
  letter-spacing: .05em;
}

.contact-desc a {
  font-weight: 700;
}

.contact-desc p {
  margin: 0;
}

@media (min-width: 768px) {
  .contact-list {
    padding: 80px 0 40px clamp(21px, calc(22.92vw - 155px), 120px);
  }
}

/* Form bölümü */
.contact-form-section {
  background: #54595f;
}

.contact-form-col {
  padding: 60px 0;
}

.contact-form-col h2 {
  padding: 0 21px;
  color: #fff;
  font-size: clamp(28px, calc(1.852vw + 13.78px), 36px);
  font-weight: 700;
  line-height: clamp(42px, calc(2.546vw + 22.44px), 53px);
  letter-spacing: .05em;
}

.contact-form {
  margin-top: 40px;
}

.form-field {
  margin-bottom: 20px;
  padding: 0 21px;
}

.form-field.form-message {
  margin-bottom: 40px;
}

.contact-form input,
.contact-form textarea {
  display: block;
  width: 100%;
  border: 0;
  background: #171b2d;
  color: #99a9b5;
  font-size: 16px;
  line-height: 25px;
}

.contact-form input {
  height: 49px;
  padding: 12px 40px 12px 20px;
}

.contact-form textarea {
  height: 120px;
  padding: 10px 12px 10px 20px;
}

.contact-form ::placeholder {
  color: #99a9b5;
  opacity: 1;
}

.contact-form .invalid {
  outline: 2px solid #dc3232;
}

.form-submit {
  display: flex;
  justify-content: center;
  padding: 0 21px;
}

.form-submit button {
  width: 250px;
  margin: 15px 0;
  padding: 0 40px;
  border: 0;
  border-radius: 3px;
  background: var(--c-brick);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 50px;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.form-response {
  margin: 0 21px;
  color: #fff;
}

.form-response:empty {
  display: none;
}

.contact-form-image {
  position: relative;
  min-height: 535px;
}

.contact-form-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0;
}

@media (min-width: 768px) {
  .contact-form-col {
    padding: 130px 80px 100px;
  }

  .contact-form {
    margin-top: 70px;
  }

  .form-field {
    flex: 0 0 auto;
    width: 50%;
  }

  .form-field.form-message {
    width: 100%;
  }
}

/* Küresel kimlik ağı: arka plan dikey parallax ile kayar (js/contact.js) */
.global-network {
  position: relative;
  overflow: hidden;
  padding: clamp(100px, calc(4.63vw + 64.44px), 120px) 21px;
  background: var(--c-footer);
}

.global-bg {
  position: absolute;
  top: -10%;
  left: 0;
  width: 100%;
  height: 120%;
  object-fit: cover;
  will-change: transform;
}

.global-inner {
  position: relative;
  padding: 10px 21px;
}

.global-inner h2 {
  color: var(--c-brick);
  font-size: clamp(28px, calc(4.167vw - 4px), 46px);
  font-weight: 700;
  line-height: clamp(42px, calc(6.25vw - 6px), 69px);
  letter-spacing: .05em;
  text-align: center;
}

.global-text {
  color: #fff;
  font-family: "Montserrat UltraLight", Montserrat, sans-serif;
  font-size: 17px;
  line-height: clamp(42px, calc(6.25vw - 6px), 69px);
  letter-spacing: -.9px;
}

.global-link {
  padding: 30px;
  font-size: clamp(16px, calc(4.63vw - 19.56px), 36px);
  font-weight: 700;
  line-height: clamp(42px, calc(6.25vw - 6px), 69px);
  letter-spacing: -1.2px;
  text-align: center;
}

/* ===== 50-text.css ===== */
/* ---------- Metin sayfaları (gizlilik) ---------- */
.text-top {
  height: 121px; /* şeffaf header'ın arkasındaki koyu bant */
  background: #333;
}

.text-page {
  background: #fafafa;
}

.text-page .container-wide {
  padding: 10px 21px;
}

/* 404: iki dil bloğu arasında ve üst/altta nefes payı */
.error-page {
  padding: 50px 0 70px;
}

.error-page .text-content {
  margin-bottom: 40px;
}

.error-page .text-content:last-child {
  margin-bottom: 0;
}

.text-heading {
  color: var(--c-dark);
  font-size: clamp(28px, calc(1.852vw + 13.78px), 36px);
  font-weight: 700;
  line-height: clamp(42px, calc(2.546vw + 22.44px), 53px);
  letter-spacing: .05em;
}

.text-content p,
.post-text p {
  margin-bottom: 17.6px;
}

.text-content ul {
  margin-bottom: 17.6px;
  padding-left: 40px;
  list-style: disc;
}

/* ---------- Sayfa başlık bandı (yazı + arşiv) ---------- */
.page-title {
  padding: 110px 0;
  background: var(--c-footer);
  color: #fff;
  text-align: center;
}

.page-title .container-wide {
  padding: 0 21px;
}

.page-title h1 {
  font-size: clamp(28px, calc(4.167vw - 4px), 46px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .05em;
}

/* ===== 51-blog.css ===== */
/* ---------- Blog listesi ---------- */
.blog-hero {
  padding: 140px 21px 120px;
  background: #323236;
  color: #fff;
  text-align: center;
}

.blog-hero h1 {
  font-size: clamp(36px, calc(7.870vw - 24.44px), 70px);
  font-weight: 700;
  line-height: clamp(53px, calc(6.25vw + 5px), 80px);
  letter-spacing: .05em;
}

.blog-grid .container-wide {
  padding: 10px 1px;
}

.blog-grid .col-md-6 {
  margin-bottom: 40px;
  padding: 0 20px;
}

.blog-card-img img {
  display: block;
  width: 100%;
}

.blog-card-title {
  margin: 1.13em 0;
  color: var(--c-dark);
  font-size: clamp(24px, calc(.926vw + 16.89px), 28px);
  font-weight: 700;
  line-height: clamp(38px, calc(.926vw + 30.89px), 42px);
  letter-spacing: .05em;
}

.blog-card-excerpt {
  margin-bottom: 17.6px;
}

@media (min-width: 768px) {
  .blog-hero {
    padding: 160px 0 119px;
  }

  .blog-grid .container-wide {
    padding: 10px 21px;
  }

  .blog-grid .row {
    margin: 0 -20px;
  }
}

/* ===== 53-post.css ===== */
/* ---------- Blog yazısı ---------- */
.post {
  padding: 135px 0 110px;
}

.post .container-wide {
  padding: 10px 21px 0;
}

.post-text p:last-child {
  margin-bottom: 0;
}
/* ---------- Paylaş ikonları (thegem-socials yazı tipi) ---------- */
@font-face {
  font-family: "thegem-socials";
  src: url("/fonts/thegem-socials.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

.share-links {
  display: flex;
  height: 25px;
}

.post .share-links {
  margin-top: 70px;
}

.share-links a {
  display: block;
  height: 16px;
  margin: 0 5px;
  color: #bf7e78;
  line-height: 16px;
}

.share-icon {
  display: inline-block;
  font-family: "thegem-socials";
  font-size: 16px;
  font-style: normal;
  line-height: 16px;
  -webkit-font-smoothing: antialiased;
}

.share-facebook::before { content: "\e600"; }
.share-twitter::before { content: "\e675"; }
.share-pinterest::before { content: "\e602"; }
.share-tumblr::before { content: "\e604"; }
.share-linkedin::before { content: "\e60a"; }
.share-reddit::before { content: "\e654"; }

.share-links a:hover .share-facebook { color: #4e64b5; }
.share-links a:hover .share-twitter { color: #99a9b5; }
.share-links a:hover .share-pinterest { color: #ff5757; }
.share-links a:hover .share-tumblr { color: #6a85a6; }
.share-links a:hover .share-linkedin { color: #0e76a8; }
.share-links a:hover .share-reddit { color: #ff4500; }

/* Katalog indirme dugmelerinin PDF ikonu */
.fa-file-pdf::before { content: "\f1c1"; }
.download-button .fa-file-pdf { margin-right: .4em; }
