/* ==========================================================================
   1. KURUMSAL TEMA VE DEĞİŞKENLER (:ROOT)
   ========================================================================== */
:root {  
    /* --- Kurumsal Renk Paleti --- */
    --primary: #001E5A;       
    --primary-hover: #22409A; 
    --primary-200: #6198ff;   
    --primary-900: #162B66;  
    --primary-1000: #0D173C;  

          --qk-blue:    #001E5A; 
      --qk-blue2:   #22409A; 
      --qk-gray:    #f4f6fa; 
      --qk-gray2:   #e2e7ec;
      --qk-red:     #FF0033; 
      --qk-accent:  #4AC2F0; 
      --qk-text:    #0d1b2a;
      --qk-railW:   44px;    
      --qk-panelW:  300px;   
     
    --accent: #4AC2F0; 
    --accent-2: #0076FF;     
    
    /* --- Zemin ve Metin Renkleri --- */
    --back-gry: #e2e7ec;      
    --white: #FFFFFF;
    --black: #000000;
    --header-link: #222224;
    --dark: #414141;
    --muted: #6B7280;         
    --light: #f8f9fa;
    --dark2: #535a74;

    --nav-color: #727b9d;
    --theme-color: #162B66; 
    --text-color: #ffffff;
    --border-color: rgba(255, 255, 255, 0.1);

    /* --- UI / Layout Ayarları --- */
    --radius: 4px;
    --shadow: 0 6px 18px rgba(13,23,60,0.08);
    --header-height: 70px;
    

    /* --- Z-Index Yönetimi --- */
    --z-header: 1000;
/* --- Font Aileleri --- */
  --font-heading: 'Exo 2', sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* --- Font Boyutları (Modular Scale) --- */
  --text-mn: 0.700rem;    /* 5.2px - Çok küçük metinler / İkon altı etiketler */
  --text-xs: 0.78rem;    /* 12.5px - Küçük etiketler / Meta */
  --text-sm: 0.94rem;    /* 15px - Açıklamalar / İpucu metinleri */
  --text-base: 1.05rem;  /* 16.8px - Ana paragraf metni */
  --text-md: 1.125rem;   /* 18px - Masaüstü Navigasyon / Alt Butonlar (Tam 18px dengelendi) */
  --text-lg: 1.32rem;    /* 21px - Büyük alt başlıklar / Lead */
  --text-xl: 1.6rem;     /* 25.6px - H3 alt başlıkları */
  --text-2xl: 2.2rem;    /* 35.2px - H2 Bölüm başlıkları */
  --text-3xl: 3.2rem;    /* 51.2px - H1 Ana sloganlar */

  /* --- Font Ağırlıkları --- */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;

  /* --- Satır Yükseklikleri --- */
  --lh-tight: 1.12;      /* Başlıklar için kompakt ve güçlü duruş */
  --lh-normal: 1.7;      /* Paragraflar için rahat ve akıcı okuma */
  --lh-nav: 1.2;         /* Navigasyon ve menü linkleri için ideal yükseklik */

  /* --- Harf Aralıkları (Letter Spacing) --- */
  --ls-tight: -0.01em;   /* Başlıklarda hafif sıkı duruş */
  --ls-normal: 0.002em;  /* Gövde metinlerinde dengeli okunurluk */
  --ls-nav: -0.015em;    /* Inter Extra Bold (800) kullanırken 18px'de harflerin birbirini ezmemesi için hafif negatif aralık */

  /* --- Özel Navlink (Masaüstü Navigasyon) Kısayolları --- */

  --navlink-line-height: var(--lh-nav);
  --navlink-letter-spacing: var(--ls-nav);
}

/* ==========================================================================
   2. GLOBAL RESET VE TEMEL TİPOGRAFİ
   ========================================================================== */
* { 
    box-sizing: border-box; 
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-body); 
    font-weight: var(--fw-regular);
    font-size: var(--text-base);       
    line-height: var(--lh-normal);     
    letter-spacing: var(--ls-normal);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    background-color: var(--white);
    color: var(--dark);
}
#logo, #logo path {
  shape-rendering: geometricPrecision !important;
}
/* --- Başlık Standartları --- */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    margin-bottom: 0.75rem;
    line-height: var(--lh-tight);      
    letter-spacing: var(--ls-tight);   
}

h1 {
    font-weight: var(--fw-extrabold);  /* 800 Ağırlık */
    font-size: clamp(2.35rem, 4.3vw, var(--text-3xl));
    line-height: var(--lh-tight);
    letter-spacing: var(--ls-tight);
}

h2 {
    font-weight: var(--fw-extrabold);  /* 800 Ağırlık */
    font-size: clamp(1.9rem, 3vw, var(--text-2xl));
    line-height: var(--lh-tight);
}

h3 {
    font-weight: var(--fw-bold);       /* 700 Ağırlık */
    font-size: clamp(1.35rem, 2.2vw, var(--text-xl));
    line-height: var(--lh-tight);
}

/* --- Metin ve Paragraf Öğeleri --- */
p {
    font-family: var(--font-body);
    font-size: var(--text-base);       
    line-height: var(--lh-normal);     
    margin-bottom: 1.25rem;
    color: var(--dark);
}

/* Küçük / Detay Metinleri */
.small, small {
    font-family: var(--font-body);
    font-size: var(--text-sm);         
    color: var(--muted);
}


/* --- Link Öğeleri --- */
a {
    font-family: var(--font-body);
    font-weight: var(--fw-semibold);   
    color: var(--primary);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover { 
    color: var(--accent); 
}

/* ==========================================================================
   3. STRUCTURAL (YAPISAL) BİLEŞENLER
   ========================================================================== */
.container {
    width: 100%;
    max-width: 1340px;
    margin: 0 auto;
    padding: 0 20px; /* Mobil cihazlar için güvenli emniyet şeridi */
}
.container-xl { 
    width: 100%; 
    max-width: 1720px; 
    margin: 0 auto; 
    padding: 0 15px; 
}

.container-content { 

   max-width: 1292px; 
    margin: 0 auto; 
    padding: 0 15px;

}



/* Scroll to top button is defined in the shared UI layer */
.scroll-top-btn {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: var(--primary);
    color: var(--white);
    box-shadow: 0 12px 28px rgba(0, 30, 90, 0.28);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    z-index: 1400;
    padding: 0;
}

.scroll-top-btn:hover {
    background: var(--primary-hover);
    box-shadow: 0 12px 24px rgba(0, 30, 90, 0.3);
    transform: translateY(-2px);
}

.scroll-top-btn.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.scroll-top-btn svg {
    height: 22px;
    width: 22px;
    fill: var(--white);
    color: var(--white);
    transform: rotate(90deg);
}

@media (max-width: 768px) {
    .scroll-top-btn {
        right: 16px;
        bottom: 16px;
        width: 44px;
        height: 44px;
    }
}

/* ==========================================================================
   4. ÖZEL KURUMSAL BİLEŞENLER VE HOVER ETKİLERİ
   ========================================================================== */

/* Header Sosyal Medya İkonları */
.h-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.h-social-link svg {
    fill: var(--nav-color);
    transition: fill 0.3s ease;
}

.h-social-link:hover svg {
    fill: var(--dark);
}

/* Bölüm Başlıkları (Section Title) */
.section-title {
    font-family: var(--font-heading);
    font-size: clamp(1.9rem, 2.8vw, var(--text-2xl));
    font-weight: var(--fw-extrabold);
    margin-bottom: 1.25rem;
    position: relative;
    padding-bottom: 15px;
    line-height: var(--lh-tight);
}

/* Başlık Altındaki Sabit Kurumsal Çizgi */
.section-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 5rem;
    height: 4px;                      /* Kaba duran 10px değeri inceltildi */
    background-color: var(--primary-200);
    border-radius: var(--radius);     
}

/* Metin İçi Satır Altı Vurgu Gradyanı */
.thick-line {
    display: inline-block;
    padding-bottom: 4px;
    background-image: linear-gradient(to right, var(--primary), var(--primary-hover));
    background-position: bottom left;
    background-size: 100% 4px;        /* 8px yerine şık 4px çizgi */
    background-repeat: no-repeat;
}

/* --- Yardımcı Renk Sınıfları --- */
.color-dark {
    color: var(--primary-1000) !important;
}

.color-white {
    color: var(--white) !important;
}


/* Mobile fine-tune */
@media (max-width: 576px){
    p{ font-size: var(--text-base); line-height: var(--lh-normal); }
}


ul { list-style: none; padding: 0; margin: 0; }
.img-fluid { max-width: 100%; height: auto; display: block; }
.d-flex { display: flex; }
.justify-between { justify-content: space-between; }
.align-center { align-items: center; }
.h-100 { height: 100%; }





.btn-sm:hover { background-color: var(--primary); color: var(--white); }
.front-text-system {
    display:flex;
    justify-content: space-between;
}

@media (max-width: 992px) {
    .front-text-system {
        flex-direction: column;
        gap: 15px;
    }
    .front-text-system .hiz-button{
        display: none;
    }
    
}


/* =========================================
   about us section front 
   ========================================= */

/* =========================================
   PROJECT SLIDER STYLES
   ========================================= */
 

/* NEWS SLIDER */
.home-page .news-section {
  --ns-radius: 2px;
  padding: 44px 0 52px;
  background: var(--qk-gray);
}

.home-page .news-section .ns-header {
  margin-bottom: 24px;
  text-align: left;
}

.home-page .news-section .ns-header h2 {
  margin: 0 0 14px;
  color: var(--primary);
  font-family: var(--font-heading);
    font-size: clamp(1.5rem, 2.4vw, var(--text-xl));
  font-weight: var(--fw-extrabold);
    line-height: var(--lh-tight);
    letter-spacing: var(--ls-tight);
}

.home-page .news-section .ns-divider {
  display: block;
  width: 56px;
  height: 4px;
  margin: 0 auto;
  border-radius: var(--ns-radius);
 
}

.home-page .news-section .ns-swiper-wrap { position: relative; }
.home-page .news-section .ns-swiper { padding: 6px 4px; overflow: hidden; }

.home-page .news-section .ns-card {
  position: relative;
  display: flex;
  height: 310px;
  overflow: hidden;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: var(--ns-radius);
  box-shadow: 0 2px 10px rgba(13, 23, 60, 0.12);
  user-select: none;
}

.home-page .news-section .ns-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.home-page .news-section .ns-card__overlay {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(
  to top, 
  rgba(0, 8, 30, 0.85) 0%,   /* En alt: Koyu (Yazı rahat okunsun diye) */
  rgba(0, 8, 30, 0.40) 50%,  /* Orta: Hafif açık koyuluk */
  rgba(0, 8, 30, 0) 85%      /* Üst kısım: Tamamen şeffaf (Resim net görünür) */
);
}

.home-page .news-section .ns-card__body {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 168px;
  padding: 16px 18px 18px;
  flex-direction: column;
  align-items: flex-start;
}

.home-page .news-section .ns-card__tag {
  position: absolute;
  z-index: 2;
  top: 8px;
  left: 14px;
  padding: 2px 8px;
  border-radius: var(--ns-radius);
  background: var(--dark2);
  color: var(--white);
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: var(--fw-light);
    letter-spacing: var(--ls-normal);
  text-transform: uppercase;
}

.home-page .news-section .ns-card__date {
  display: block;
    margin: auto 0 8px;
  color: rgba(255,255,255,.82);
  font-family: var(--font-body);
  font-size: var(--text-xs);
}

.home-page .news-section .ns-card__title {
  display: -webkit-box;
  max-height: 2.7em;
    margin: 0 0 25px;
  overflow: hidden;
  color: var(--white);
  font-family: var(--font-heading);
  font-size: var(--text-base);
  font-weight: var(--fw-bold);
    line-height: var(--lh-tight);
    letter-spacing: var(--ls-tight);
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  -webkit-line-clamp: 2;
}


.home-page .news-section .ns-nav {
  display: flex;
  margin-top: 30px;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.home-page .news-section .ns-nav__btn {
  display: flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--primary);
  border-radius: 50%;
  outline: 0;
  background: transparent;
  color: var(--primary);
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}

.home-page .news-section .ns-nav__btn:hover { background: var(--primary); color: var(--white); }
.home-page .news-section .ns-nav__btn svg { width: 18px; height: 18px; pointer-events: none; }

.home-page .news-section .ns-pagination {
  position: static;
  display: flex;
  width: auto;
  align-items: center;
  gap: 7px;
}

.home-page .news-section .ns-pagination .swiper-pagination-bullet {
  width: 6px;
  height: 6px;
  margin: 0 !important;
  border-radius: 50%;
  background: var(--back-gry);
  opacity: 1;
  transition: background .2s ease, transform .2s ease;
}

.home-page .news-section .ns-pagination .swiper-pagination-bullet-active { background: var(--qk-red); transform: scale(1.35); }

.home-page .news-section .ns-footer { margin-top: 34px; text-align: center; }
.home-page .news-section .ns-btn-all {
  display: inline-flex;
  padding: 10px 28px;
  align-items: center;
  gap: 8px;
  border: 2px solid var(--primary);
  border-radius: var(--ns-radius);
  background: transparent;
  color: var(--primary);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: var(--fw-bold);
    letter-spacing: var(--ls-normal);
  text-decoration: none;
  transition: background .22s ease, color .22s ease;
}

.home-page .news-section .ns-btn-all:hover { background: var(--primary); color: var(--white); }

.home-page .news-section .ns-all-card {
    min-height: 100%;
  padding: 28px;
  justify-content: center;
  background: linear-gradient(135deg, var(--primary), var(--primary-hover));
}

.home-page .news-section .ns-all-card .ns-card__body {
    min-height: 0;
    padding: 0;
    align-items: center;
    text-align: center;
}

.home-page .news-section .ns-all-icon {
    width: 52px;
    height: 52px;
    margin: 0 0 16px;
    color: var(--accent);
    fill: currentColor;
    flex: 0 0 52px;
}

.home-page .news-section .ns-all-card .ns-card__title {
    max-height: none;
    margin: 0;
    color: var(--white);
    font-family: var(--font-heading);
    font-size: var(--text-lg);
    font-weight: var(--fw-bold);
    line-height: var(--lh-tight);
    letter-spacing: var(--ls-tight);
    text-align: center;
}
.home-page .news-section .ns-all-card .ns-card__link { margin: 0; color: var(--white); }

@media (max-width: 991px) {
  .home-page .news-section .ns-card { height: 285px; }
    .home-page .news-section .ns-header h2 { font-size: var(--text-xl); }
    .home-page .news-section .ns-card__title { font-size: var(--text-sm); }
    .home-page .news-section .ns-card__link { font-size: var(--text-xs); }
}

@media (max-width: 767px) {
  .home-page .news-section { padding: 36px 0 42px; }
  .home-page .news-section .ns-header { margin-bottom: 18px; }
    .home-page .news-section .ns-header h2 { margin-bottom: 10px; font-size: var(--text-lg); }
  .home-page .news-section .ns-card { height: 320px; }
  .home-page .news-section .ns-card__body { min-height: 160px; padding: 14px 16px; }
    .home-page .news-section .ns-card__tag { font-size: var(--text-xs); }
  .home-page .news-section .ns-card__date { font-size: 0; }
  .home-page .news-section .ns-card__date::after { content: attr(data-mobile-date); font-size: var(--text-xs); }
  .home-page .news-section .ns-nav__btn, .home-page .news-section .ns-footer { display: none; }
}
       
      
/* =========================================
   logo slider 
   ========================================= */
       .section-reference {
            padding: 40px 0;
            background-color: var(--white);
        }
        /* Swiper Wrapper - Sürekli Akış İçin Kritik */
        .section-reference .swiper-wrapper {
            transition-timing-function: linear !important; 
        }

        .section-reference .swiper-slide {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100px; /* Logo alanı yüksekliği */
            width: auto; /* Genişlik içeriğe göre olsun */
        }

        /* Logo Görsel Ayarları */
        .section-reference img {
            width: min(260px, 100%);
            max-width: 260px;
            max-height: 80px; 
            object-fit: contain;
            /* Framework renklerine uygun grileştirme */
          
            transition: all 0.4s ease;
            cursor: pointer;
        }

        /* Hover Efekti */
       
        /* Bireysel logo hover */
        .section-reference img:hover {
            transform: scale(1.1);
        }
@media (max-width: 768px) {
            .section-reference .swiper-slide {
                height: 90px;
            }

            .section-reference img {
                width: min(170px, 100%);
                max-width: 170px;
                max-height: 70px;
            }

            .project-slider .custom-nav-wrapper {
            display: none;
            
        }
        .mobile-swipe { display:block; }

        .mobile-swipe svg {
    animation: pulse 2s infinite;
}
   @keyframes pulse {
            0% {
                transform: scale(1);
            }
            50% {
                transform: scale(1.1);
            }
            100% {
                transform: scale(1);
            }
        }

    }



/* =========================================
   FOOTER 
   ========================================= */

.site-footer {
    font-family: var(--font-body);
    color: var(--qk-text);
    background: var(--white);
    border-top: 1px solid var(--qk-gray2);
}

.footer-main {
    padding: 64px 0 54px;
}



.footer-row {
    align-items: flex-start;
    row-gap: 28px;
}

.footer-row > [class*="col-"] {
    padding-left: 24px;
    padding-right: 24px;
}

.site-footer h4 {
    margin: 0 0 24px;
    font-family: var(--font-heading);
    font-size: var(--text-md);
    font-weight: var(--fw-extrabold);
    color: var(--primary);
    letter-spacing: var(--ls-tight);
}



.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.footer-contact a {
    display: flex;
    align-items: center;
    gap: 16px;
    color: var(--header-link);
    text-decoration: none;
    font-size: var(--text-base);
}

.footer-contact svg {
    color: var(--primary-hover);
    width: 28px;
    height: 28px;
}

.footer-center {
    text-align: center;
}

.footer-right {
    text-align: center;
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px 0;
}

.footer-links a {
    color: var(--header-link);
    text-decoration: none;
    font-size: var(--text-base);
}

.footer-links a:not(:last-child)::after {
    content: "/";
    margin: 0 13px;
    color: var(--primary-hover);
    font-weight: var(--fw-bold);
}

.footer-links a:hover,
.footer-contact a:hover,
.footer-headquarters a:hover,
.footer-bottom a:hover {
    color: var(--primary-hover);
}

.footer-social {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-top: 56px;
}

.footer-social a {
    width: 35px;
    height: 35px;
    border: 1.5px solid var(--primary-hover);
    border-radius: 50%;
    color: var(--primary-hover);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: .25s ease;
}

.footer-social svg {
    width: 26px;
    height: 26px;
}

.footer-social a:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--white);
    transform: translateY(-3px);
}

.footer-headquarters {
    min-height: 40px;
    padding: 14px 10px;
    background: var(--light);
    color: var(--header-link);

    display: flex;
    align-items: center;
    justify-content: center;
}

.footerlogo {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

.footerlogo svg {
    width: 120px;
    height: auto;
    display: block;
    flex-shrink: 0;
}

.footerlogo .lead {
    font-family: var(--font-heading);
    font-size: var(--text-xs);
    font-weight: var(--fw-regular);
    color: var(--primary);
    letter-spacing: var(--ls-tight);
    line-height: var(--lh-tight);
    white-space: nowrap;
}
@media (max-width: 575.98px) {
    .footer-headquarters {
        justify-content: flex-start;
        padding: 20px 15px;
    }

    .footerlogo {
        width: 100%;
        align-items: center;
        justify-content: flex-start;
        gap: 12px;
    }

    .footerlogo svg {
        width: 96px;
        height: auto;
    }

    .footerlogo .lead {
        display: flex;
        align-items: center;
        min-height: 24px;
        line-height: var(--lh-tight);
    }

  
}

.footer-bottom {
    background: linear-gradient(180deg, var(--primary-1000), var(--primary));
    padding: 20px 0;
}

.footer-bottom nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 0;
}

.footer-bottom a {
    color: rgba(255, 255, 255, .9);
    text-decoration: none;
    font-size: var(--text-sm);
}

.footer-bottom a:not(:last-child)::after {
    content: "|";
    margin: 0 18px;
    color: rgba(255, 255, 255, .7);
}

/* Mobile */
@media (max-width: 991.98px) {
    .footer-main {
        padding: 40px 0 12px;
    }

    .footer-row {
        row-gap: 0;
    }

    .footer-row > [class*="col-"] {
        padding-left: 15px;
        padding-right: 15px;
        margin-bottom: 28px !important;
    }

    .footer-center,
    .footer-right {
        text-align: left;
    }

    .footer-links,
    .footer-social {
        justify-content: flex-start;
    }

    .footer-selects {
        flex-direction: column;
    }

    .footer-selects button {
        width: 100%;
    }

    .footer-links {
        flex-direction: column;
        gap: 10px;
    }

    .footer-links a::after {
        display: none;
    }

    .footer-headquarters {
        justify-content: flex-start;
        text-align: left;
        line-height: var(--lh-normal);
    }

    .footer-bottom nav {
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }

    .footer-bottom a {
        display: block;
        padding: 4px 12px;
        line-height: var(--lh-normal);
        text-align: center;
    }

    .footer-bottom a::after {
        display: none;
    }
}