@charset "UTF-8";
/* ==========================================================================
   NEG — responsive.css
   1440+ · 1199 · 991 · 767 · 575 · 479 · 390
   Mobil, masaüstünün küçültülmüş hâli değil: ayrı spacing ve tipografi.
   ========================================================================== */

/* ≥ 1440 — geniş ekranlar */
@media (min-width: 1440px) {
  :root { --nav-h: 84px; }
  .container-xl { max-width: 1400px; }
  .hero__content { max-width: 900px; }
}

/* ≤ 1199 — küçük masaüstü */
@media (max-width: 1199.98px) {
  .topbar__brand, .topbar__sep { display: none; }
  .navbar-neg__inner { gap: 24px; }
  .nav-links a { padding: 8px 10px; }
  .nav-links a::after { left: 10px; right: 10px; }

  .services__layout { grid-template-columns: 110px minmax(0, 1fr) minmax(0, 320px); }
  .timeline__list { gap: 12px; }
  .step { padding: 24px 20px 28px; }
  .step__num { font-size: 2.25rem; margin-bottom: 28px; }
}

/* ≤ 991 — tablet: mobil navigasyon, tek kolonlu akış */
@media (max-width: 991.98px) {
  :root { --topbar-h: 0px; --nav-h: 72px; --section-y: 96px; }

  .topbar { display: none; }
  .site-header.is-scrolled { transform: none; }
  .nav-links, .nav-cta { display: none; }
  .burger { display: block; }
  .brand__text { display: none; }
  .brand__mark { border-right: 0; padding-right: 0; }

  .hero__inner { padding-top: calc(var(--nav-h) + 48px); }
  .hero__lines { width: 70vw; bottom: 180px; opacity: .6; }

  .approach__list { grid-template-columns: repeat(2, 1fr); }
  .approach__item { border-bottom: 1px solid var(--line-light); }
  .approach__item:nth-child(2n) { border-right: 1px solid var(--line-light); }

  .about__grid { grid-template-columns: 1fr; }
  .about__side { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; align-items: start; }
  .about__img--sm { margin-top: 0; grid-row: span 2; }

  /* Services: satırlar kendi içinde açılır */
  .services__layout { grid-template-columns: 1fr; }
  .services__index, .services__preview { display: none; }
  .svc .svc__detail {
    display: block; max-height: 0; overflow: hidden; opacity: 0;
    padding: 0 0 0 68px;
    transition: max-height .6s var(--ease-out), opacity .4s var(--ease), padding .6s var(--ease-out);
  }
  .svc.is-active .svc__detail { max-height: 360px; opacity: 1; padding-bottom: 28px; }
  .svc:hover .svc__row { padding-left: 0; background: none; }
  .svc.is-active .svc__row { padding-left: 12px; }
  .svc.is-active .svc__arrow i { transform: rotate(90deg); }

  /* Timeline: dikey */
  .timeline__track { left: 5px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; }
  .timeline__progress { transform: scaleY(0); transform-origin: top; background: linear-gradient(180deg, var(--primary), var(--accent)); }
  .timeline__list { grid-template-columns: 1fr; gap: 14px; padding: 0 0 0 36px; }
  .step__dot { left: -36px; top: 30px; }
  .step__num { font-size: 2rem; margin-bottom: 16px; }
  .step:hover { transform: none; }

  .why__sticky { position: static; }
  .why__img { aspect-ratio: 16 / 9; }

  .tcard__body { left: 18px; right: 18px; bottom: 18px; }
  .tcard__num { left: 18px; top: 16px; }
  .team__foot { width: 100%; margin-top: 40px; }

  .footer__head { grid-template-columns: 1fr; gap: 24px; }
  .footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 24px; }

  .faq-item__a { padding-left: 82px; }
}

/* ≤ 767 — mobil: sticky alt aksiyon barı */
@media (max-width: 767.98px) {
  :root { --section-y: 80px; --r-card: 14px; }
  body { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  .container-xl { --bs-gutter-x: 2.5rem; }

  .fab { display: none; }
  .action-bar {
    position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 1020;
    display: flex; align-items: center; height: 60px; border-radius: 18px;
    --glass-bg: rgba(7, 17, 31, .84); --glass-border: rgba(255, 255, 255, .16);
    box-shadow: 0 18px 40px -18px rgba(7, 17, 31, .7);
  }
  .action-bar a {
    flex: 1; display: flex; align-items: center; justify-content: center; gap: 10px; height: 100%;
    font-family: var(--font-head); font-weight: 500; color: var(--white);
  }
  .action-bar a:last-child { color: var(--white); background: var(--primary); border-radius: 0 17px 17px 0; }
  .action-bar i { font-size: 1.25rem; }
  .action-bar__sep { width: 1px; height: 100%; background: var(--glass-border); }
  .toast-neg { bottom: 92px; }

  .hero__content { padding-bottom: 40px; }
  .hero__title { letter-spacing: -.04em; }
  .hero__bottom { flex-direction: column; align-items: stretch; border-top: 0; padding-top: 0; }
  .hero__scroll { display: none; }
  .hero__note { width: 100%; }
  .hero__lines { width: 92vw; bottom: 250px; opacity: .45; }

  .approach__item { padding: 28px 20px 30px; gap: 12px; }
  .approach__title { font-size: 1.05rem; }

  .about__side { grid-template-columns: 1fr; }
  .about__img--sm { display: none; }
  .arrow-list { margin-top: 8px; }

  .svc__row { grid-template-columns: 40px minmax(0, 1fr) 40px; padding: 20px 0; }
  .svc__arrow { width: 40px; height: 40px; }
  .svc .svc__detail { padding-left: 52px; }

  .why__item { grid-template-columns: 64px minmax(0, 1fr); padding: 32px 0; }
  .why__item::before { width: 64px; }
  .why__num { font-size: 2.25rem; }

  /* Ekip: yatay kaydırılan şerit (scroll-snap), kademe kaldırılır */
  .team__track {
    grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 74%;
    gap: 14px; overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(var(--bs-gutter-x) * -.5); padding-inline: calc(var(--bs-gutter-x) * .5);
    scroll-padding-inline: calc(var(--bs-gutter-x) * .5);
  }
  .team__track::-webkit-scrollbar { display: none; }
  .tcard { scroll-snap-align: start; }
  .tcard:nth-child(2), .tcard:nth-child(3) { margin-top: 0; }
  .team__foot { width: 100%; margin-top: 32px; flex-wrap: wrap; gap: 12px 20px; }
  .team__foot-line { display: none; }
  .team__foot p { flex: 1 1 100%; }

  .quote blockquote { margin-bottom: 32px; }

  .faq-item__btn { grid-template-columns: 32px minmax(0, 1fr) 20px; padding: 20px; }
  .faq-item__a { padding: 0 20px 22px 64px; }

  .cta__lines { width: 70%; top: 6%; opacity: .6; }
  .cta__foot { flex-direction: column; align-items: stretch; }
  .cta__actions .btn-neg { flex: 1; }

  .contact-list li { grid-template-columns: 1fr; gap: 4px; }
  .contact-form { border-radius: 16px; }
  .contact-form__head { flex-direction: column; gap: 4px; margin-bottom: 28px; }
  .contact-form__foot .btn-neg { width: 100%; }
  .map__label { left: 12px; bottom: 12px; max-width: calc(100% - 24px); padding: 10px 14px 10px 10px; font-size: .8rem; }

  .footer { padding-bottom: 32px; }
  .footer__intro { flex-direction: column; align-items: flex-start; }
  .footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ≤ 575 */
@media (max-width: 575.98px) {
  :root { --section-y: 72px; }
  .container-xl { --bs-gutter-x: 2rem; }

  .h-display { letter-spacing: -.03em; margin-bottom: 22px; }
  .eyebrow { margin-bottom: 20px; font-size: .7rem; }
  .eyebrow__line { width: 32px; }

  .hero__actions { flex-direction: column; }
  .hero__actions .btn-neg { width: 100%; }
  .hero__note { padding: 18px 20px; }


  .footer__cols { gap: 32px 20px; }
  .footer__bottom ul { gap: 16px; }
}

/* ≤ 479 */
@media (max-width: 479.98px) {
  :root { --fs-body: 1rem; }
  .footer__cols { grid-template-columns: 1fr; }
  .approach__item { padding: 24px 16px 26px; }
  .approach__title { font-size: .98rem; }
  .svc .svc__detail { padding-left: 0; }
  .g-rating { width: 100%; }
  .faq-item__a { padding-left: 20px; }
}

/* ≤ 390 */
@media (max-width: 390px) {
  .container-xl { --bs-gutter-x: 1.75rem; }
  :root { --fs-hero: 2.65rem; --fs-display: 2.2rem; }
  .btn-neg { --h: 52px; padding: 0 22px; }
  .svc__name { font-size: 1.25rem; }
  .team__track { grid-auto-columns: 80%; }
  .contact-form { padding: 24px 20px; }
}
