:root {
  --navy: #102f4c;
  --ink: #22384d;
  --teal: #168c93;
  --line: #e8edf0;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--ink);
  background: #fff;
}
body.menu-open {
  overflow: hidden;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  font: inherit;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
button:focus-visible,
a:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 3px;
}
/* Sticky wrapper stays in normal document flow; do not put it inside an overflow:hidden ancestor */
#asc-header {
  position: sticky;
  top: 0;
  z-index: 2000;
}
.asc-header {
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid var(--line);
  transition:
    box-shadow 0.2s,
    background 0.2s;
}
.asc-header.scrolled {
  box-shadow: 0 7px 25px rgba(8, 34, 56, 0.13);
  background: #fff;
}
.asc-header-inner {
  max-width: 1500px;
  min-height: 86px;
  padding: 10px clamp(20px, 2.6vw, 42px);
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(12px, 1.3vw, 20px);
}
.asc-brand {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}
.asc-brand img {
  width: 120px; /* Kullanıcının belirlediği logo ölçüsü korunur. */
  height: auto;
  object-fit: contain;
}
.asc-desktop {
  margin-left: auto; /* Menü sağdaki dil seçicisine yaklaşır. */
  display: flex;
  flex: 0 1 auto;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(16px, 1.55vw, 24px);
}
.asc-desktop > a,
.asc-drop > button {
  color: var(--ink);
  font-size: 14px;
  font-weight: 400; /* Normal, bold olmayan yazı. */
  letter-spacing: 0.005em;
  line-height: 1.3;
  background: none;
  border: 0;
  padding: 16px 0;
  transition: color 0.2s ease;
  white-space: nowrap;
  cursor: pointer;
}
.asc-desktop > a:hover,
.asc-drop > button:hover {
  color: var(--teal);
}
.asc-desktop .home-icon {
  display: flex;
  align-items: center;
}
.home-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.asc-drop {
  position: relative;
}
.asc-drop > button {
  display: flex;
  align-items: center;
  gap: 7px;
}
.chev {
  width: 7px;
  height: 7px;
  border: solid currentColor;
  border-width: 0 1.6px 1.6px 0;
  transform: rotate(45deg);
  margin-top: -4px;
}
.asc-drop-menu {
  position: absolute;
  top: 100%;
  left: -22px;
  min-width: 235px;
  padding: 9px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 18px 48px rgba(9, 38, 58, 0.13);
  visibility: hidden;
  opacity: 0;
  transform: translateY(7px);
  transition: 0.18s;
}
.asc-drop:hover .asc-drop-menu,
.asc-drop:focus-within .asc-drop-menu,
.asc-drop.open .asc-drop-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
.asc-drop-menu a {
  display: block;
  font-size: 13px;
  padding: 11px 12px;
  border-radius: 6px;
}
.asc-drop-menu a:hover {
  background: #f0f6f7;
  color: var(--teal);
}
.asc-drop-menu .cmt {
  border-top: 1px solid var(--line);
  margin-top: 5px;
  padding-top: 14px;
  color: #116e79;
  font-weight: 700;
}
.asc-right {
  display: flex;
  flex: 0 0 auto;
  gap: 50px; /* Dil seçicisi ile kurum logoları arasındaki mesafe */
  align-items: center;
  border-left: 1px solid var(--line);
  padding-left: 18px;
}

/* ==========================================
   ASC — Minimal Premium Dil Seçici
   ========================================== */

.asc-lang {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 2px;
  padding: 3px;

  background: #f3f6f8;
  border: 1px solid #e4eaee;
  border-radius: 999px;
}

.asc-lang button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 32px;
  height: 27px;
  padding: 0 8px;

  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;

  color: #748493;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.015em;

  cursor: pointer;

  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

/* Pasif dilin üzerine gelindiğinde */
.asc-lang button:not(.active):hover {
  color: #102f4c;
  background: rgba(255, 255, 255, 0.65);
}

/* Seçili dil */
.asc-lang button.active {
  background: #ffffff;
  color: #102f4c;
  border-color: #e5ebef;
  font-weight: 600;
  box-shadow: 0 1px 4px rgba(16, 47, 76, 0.07);
}

/* Klavye ile kullanım */
.asc-lang button:focus-visible {
  outline: 2px solid #168c93;
  outline-offset: 3px;
}

.asc-partners {
  display: block;
  width: 182px;
  max-height: 68px;
  height: auto;
  object-fit: contain;
}
.asc-mobile-button {
  display: none;
  border: 1px solid #e1e9ed;
  background: #fff;
  color: var(--navy);
  width: 43px;
  height: 43px;
  border-radius: 9px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.asc-mobile-button svg {
  width: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}
.asc-footer {
  border-top: 1px solid var(--line);
  background: #102f4c;
  color: #e4eaf0;
}
.asc-footer-inner {
  max-width: 1450px;
  margin: auto;
  padding: 22px clamp(18px, 3vw, 45px);
  font-size: 12px;
  text-align: center;
}
.asc-overlay {
  position: fixed;
  inset: 0;
  background: rgba(4, 20, 35, 0.55);
  z-index: 2999;
  opacity: 0;
  visibility: hidden;
  transition: 0.22s;
}
.asc-overlay.show {
  opacity: 1;
  visibility: visible;
}
.asc-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  width: min(88vw, 380px);
  background: #fff;
  z-index: 3000;
  transform: translateX(105%);
  visibility: hidden;
  transition:
    transform 0.25s,
    visibility 0.25s;
  overflow: auto;
  box-shadow: -8px 0 40px rgba(0, 0, 0, 0.13);
}
.asc-drawer.show {
  transform: translateX(0);
  visibility: visible;
}
.asc-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 17px 22px;
  border-bottom: 1px solid var(--line);
}
.asc-drawer-head img {
  height: 47px;
  max-width: 90px;
  object-fit: contain;
}
.asc-close {
  border: 1px solid var(--line);
  background: white;
  border-radius: 9px;
  width: 38px;
  height: 38px;
  font-size: 25px;
  color: var(--navy);
  cursor: pointer;
}
.asc-drawer-nav {
  padding: 17px 24px;
}
.asc-drawer-nav > a,
.asc-accordion > button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 16px 2px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: none;
  text-align: left;
  font-size: 15px;
  font-weight: 650;
  color: var(--navy);
  cursor: pointer;
}
.asc-accordion-panel {
  display: none;
  padding: 8px 0 8px 12px;
  background: #f7fafb;
  border-radius: 7px;
}
.asc-accordion.open .asc-accordion-panel {
  display: block;
}
.asc-accordion-panel a {
  display: block;
  padding: 12px 8px;
  font-size: 13px;
  color: #486075;
}
.asc-drawer-lang {
  display: flex;
  gap: 8px;
  margin: 14px 24px;
}
.asc-drawer-lang button {
  flex: 1;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  padding: 11px;
  color: var(--ink);
  font-weight: 700;
  cursor: pointer;
}
.asc-drawer-lang button.active {
  background: var(--navy);
  color: #fff;
}
.demo {
  min-height: 150vh;
  background: linear-gradient(125deg, #102f4c, #176978);
  color: #fff;
}
.demo-inner {
  max-width: 1100px;
  margin: auto;
  padding: 115px 30px;
}
.demo span {
  font-size: 11px;
  letter-spacing: 3px;
}
.demo h1 {
  font-size: clamp(40px, 6vw, 75px);
  margin: 23px 0;
}
.demo p {
  max-width: 480px;
  line-height: 1.8;
  color: #cbdce7;
}
/* Dar masaüstünde ölçüleri biraz sıkıştır, ASC logosunu KÜÇÜLTME. */
@media (max-width: 1250px) {
  .asc-desktop {
    gap: 14px;
  }
  .asc-desktop > a,
  .asc-drop > button {
    font-size: 13.5px;
  }
  .asc-header-inner {
    gap: 14px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .asc-partners {
    width: 145px;
  }
  .asc-right {
    gap: 17px;
    padding-left: 17px;
  }
}
@media (max-width: 1080px) {
  .asc-header-inner {
    min-height: 72px;
  }
  .asc-desktop {
    display: none;
  }
  .asc-mobile-button {
    display: flex;
  }
  .asc-right {
    margin-left: auto;
    border: 0;
    padding: 0;
  }
  .asc-partners {
    width: 135px;
  }
  .asc-brand img {
    width: 110px;
    height: auto;
    max-height: 60px;
  }
}
@media (max-width: 560px) {
  .asc-header-inner {
    min-height: 66px;
    padding: 7px 14px;
    gap: 8px;
  }
  .asc-brand img {
    width: 59px;
    height: 55px;
  }
  .asc-partners {
    width: 108px;
    max-height: 49px;
  }
  .asc-lang {
    display: none;
  }
  .asc-right {
    gap: 10px;
  }
  .asc-mobile-button {
    width: 41px;
    height: 41px;
  }
  .asc-footer-inner {
    font-size: 11px;
  }
}

/* V3: Compact footer with original social profiles */
.asc-footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  text-align: left;
  padding-top: 20px;
  padding-bottom: 20px;
}
.asc-social {
  display: flex;
  align-items: center;
  gap: 10px;
}
.asc-social a {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  color: #e4eaf0;
  transition:
    background 0.18s,
    border-color 0.18s,
    transform 0.18s;
}
.asc-social a:hover {
  background: #168c93;
  border-color: #168c93;
  transform: translateY(-2px);
}
.asc-social svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
}
@media (max-width: 600px) {
  .asc-footer-inner {
    flex-direction: column;
    justify-content: center;
    text-align: center;
    gap: 12px;
  }
  .asc-social {
    justify-content: center;
  }
}

/* ============================================================
   HEADER PREMIUM — EK ERİŞİLEBİLİRLİK VE İNCE AYARLAR
   ============================================================ */
.asc-desktop a[aria-current="page"] {
  color: var(--teal);
}
.asc-drop-menu a[aria-current="page"] {
  background: #f0f7f7;
  font-weight: 650;
}
.asc-drop > button[aria-expanded="true"] {
  color: var(--teal);
}
.asc-header a:focus-visible,
.asc-header button:focus-visible,
.asc-drawer a:focus-visible,
.asc-drawer button:focus-visible {
  outline: 2px solid #168c93;
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
  .asc-header *,
  .asc-drawer,
  .asc-overlay {
    transition-duration: 0.01ms !important;
  }
}

/* ICSSMS shared header logo sizing */
@media (min-width:1025px){.asc-header .asc-brand .asc-logo{width:auto;height:78px;max-height:78px;max-width:220px;object-fit:contain}.asc-header .asc-right .asc-partners{width:255px;max-width:255px;height:100px;max-height:100px;object-fit:contain}}
@media (min-width:769px) and (max-width:1024px){.asc-header .asc-brand .asc-logo{width:auto;height:65px;max-height:65px}.asc-header .asc-right .asc-partners{width:190px;max-width:190px;height:78px;max-height:78px}}
@media (max-width:768px){.asc-header .asc-brand .asc-logo{width:auto;height:56px;max-height:56px}.asc-header .asc-right .asc-partners{width:145px;max-width:145px;height:64px;max-height:64px}}
@media (max-width:420px){.asc-header .asc-brand .asc-logo{height:48px;max-height:48px;max-width:100px}.asc-header .asc-right .asc-partners{width:115px;max-width:115px;height:54px;max-height:54px}}
