/* =============================================================
   Gerçek DM Sans 600 & 700 (self-host) — faux-bold önlenir
   ============================================================= */
@font-face{font-family:"DM Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/dm-sans-latin-600-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/dm-sans-latin-ext-600-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/dm-sans-latin-700-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/dm-sans-latin-ext-700-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* =============================================================
   Three Point Digital — genişletme stilleri
   (ana tasarımı bozmadan üzerine eklenen katman)
   ============================================================= */
/* Sahte kalın/eğik üretimini kapat — sadece gerçek ağırlıklar kullanılsın */
body { font-synthesis: none; }
/* Yatay taşma emniyeti — hiçbir eleman viewport'u aşıp düzeni bozmasın */
html, body { overflow-x: hidden; max-width: 100%; }
.calc-card, .calc-bento > * { min-width: 0; }

/* Aktif menü öğesi */
.nav-links a.active { color: var(--orange); }

/* ===============================================================
   Tipografi tazeleme — okunaklı, modern sans başlıklar
   (ince serif göz yormasın; e-ticaret/B2B satıcılar için net)
   =============================================================== */
.hero-title,
.section-title,
.references-count,
.footer-logo,
.about-lead,
.pull-quote,
.cta-band h2 {
  font-family: "DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
}
.hero-title { font-weight: 700 !important; letter-spacing: -.025em; line-height: 1.08; }
.section-title { font-weight: 600 !important; letter-spacing: -.018em; line-height: 1.18; }
.hero-title em, .section-title em { font-style: normal; color: var(--purple); }
.about-lead { font-weight: 500 !important; letter-spacing: -.01em; line-height: 1.42; }
.about-lead em { font-style: normal; color: var(--purple); }
.pull-quote { font-weight: 600 !important; letter-spacing: -.015em; line-height: 1.32; }
.pull-quote em { font-style: normal; color: var(--orange); }
.cta-band h2 { font-weight: 600 !important; letter-spacing: -.018em; }
.references-count { font-weight: 700 !important; letter-spacing: -.02em; }
.footer-logo { font-weight: 700 !important; letter-spacing: -.01em; }

/* Kalan serif rakam/etiketler de sans olsun (tutarlılık) */
.hstat-num, .hstat-num span, .dash-perf-val,
.service-num, .service-stat-num, .contact-loc-city {
  font-family: "DM Sans", ui-sans-serif, system-ui, -apple-system, sans-serif !important;
}
.hstat-num { font-weight: 700 !important; letter-spacing: -.02em; }
.dash-perf-val { font-weight: 700 !important; }
.service-num { font-weight: 700 !important; }
.service-stat-num { font-weight: 700 !important; }
.contact-loc-city { font-weight: 500 !important; }

/* Gövde metni daha rahat okunsun */
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.section-desc { color: #56564f; }
.why-item-desc, .value-card p, .process-card p { color: #56564f; }

/* ---------------------------------------------------------------
   Landing: kayan marka şeridi (logo marquee)
   Renkler korunur — logolar tam renkli, sadece kenarlarda yumuşama
   --------------------------------------------------------------- */
.brand-marquee-section {
  background: var(--white);
  padding: 6rem 0 6.5rem;
  overflow: hidden;
}
.brand-marquee-head {
  max-width: 1400px;
  margin: 0 auto 3rem;
  padding: 0 4rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2rem;
  flex-wrap: wrap;
}
.brand-marquee-head .references-count { line-height: .9; }

.brand-lane {
  position: relative;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.brand-lane + .brand-lane { margin-top: 2.2rem; }

.brand-lane-track {
  display: flex;
  align-items: center;
  gap: 3.5rem;
  width: max-content;
  animation: brandScroll 90s linear infinite;
  will-change: transform;
}
.brand-lane-track.reverse { animation-direction: reverse; }
.brand-lane:hover .brand-lane-track { animation-play-state: paused; }

/* Tek boy logo — hepsi aynı yükseklikte, ortak hizada (nizami) */
.brand-logo {
  flex: 0 0 auto;
  width: 168px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: .92;
  transition: opacity .3s, transform .3s;
}
.brand-logo:hover { opacity: 1; transform: translateY(-3px); }
.brand-logo img {
  height: 42px;          /* tüm logolar aynı yükseklik → küçükler büyür */
  width: auto;
  max-width: 130px;      /* çok geniş logolar taşmasın */
  object-fit: contain;
  display: block;
}

@keyframes brandScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .brand-lane-track { animation: none; }
}

/* ---------------------------------------------------------------
   Alt sayfa (Referanslar / Hakkımızda) ortak başlık bloğu
   --------------------------------------------------------------- */
.page-hero {
  position: relative;
  background: var(--gray-light);
  padding: 11rem 4rem 4.5rem;
  border-bottom: 1px solid var(--gray-mid);
  overflow: hidden;
}
.page-hero-inner { max-width: 1100px; margin: 0 auto; position: relative; z-index: 1; }
.page-hero .hero-accent-line {
  position: absolute;
  bottom: auto; top: 6.5rem; left: 0;
  height: 90px;
}
.page-hero .section-title { margin-bottom: 1rem; max-width: 20ch; }
.page-hero .section-desc { max-width: 620px; margin-bottom: 0; }
.page-hero-shape {
  position: absolute; top: -30%; right: -8%;
  width: 45vw; height: 130%;
  background: #ffffff;
  clip-path: polygon(22% 0, 100% 0, 100% 100%, 0 100%);
  opacity: .6; z-index: 0;
}

.page-section { padding: 5.5rem 4rem; }
.page-section-inner { max-width: 1200px; margin: 0 auto; }
.page-section.alt { background: var(--gray-light); }

/* ---------------------------------------------------------------
   Hakkımızda güçlendirme: değerler, süreç, öne çıkan alıntı
   --------------------------------------------------------------- */
.about-intro {
  max-width: 1100px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start;
}
.about-intro p { color: var(--gray-text); font-size: 1.02rem; line-height: 1.85; margin: 0 0 1.2rem; }
.about-lead {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.6rem, 2.4vw, 2.1rem);
  font-weight: 300; line-height: 1.35; color: var(--black);
}
.about-lead em { color: var(--purple); font-style: italic; }

.pull-quote {
  max-width: 1000px; margin: 0 auto;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.8rem, 3.2vw, 2.8rem);
  font-weight: 300; line-height: 1.3; color: var(--black);
  border-left: 3px solid var(--orange); padding-left: 2rem;
}
.pull-quote em { color: var(--orange); font-style: italic; }

.process-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem;
  margin-top: 3rem;
}
.process-card {
  background: var(--color-background-primary);
  border: .5px solid var(--gray-mid);
  border-radius: var(--border-radius-lg);
  padding: 1.6rem 1.4rem;
  transition: transform .25s, box-shadow .25s;
}
.process-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px #0000000d; }
.process-step {
  font-family: var(--font-mono); font-size: .78rem; color: var(--orange);
  letter-spacing: .1em; margin-bottom: 1rem;
}
.process-card h3 { font-size: 1.02rem; font-weight: 600; margin: 0 0 .5rem; color: var(--black); }
.process-card p { font-size: .9rem; color: var(--gray-text); line-height: 1.65; margin: 0; }

.value-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-top: 3rem;
}
@media (max-width: 1100px) { .value-grid { grid-template-columns: repeat(2, 1fr); } }
.value-card {
  padding: 1.8rem 1.6rem; border-radius: var(--border-radius-lg);
  background: var(--color-background-primary); border: .5px solid var(--gray-mid);
}
.value-card .why-icon { color: var(--orange); font-size: 1.1rem; margin-bottom: .9rem; }
.value-card h3 { font-size: 1.05rem; font-weight: 600; margin: 0 0 .5rem; color: var(--black); }
.value-card p { font-size: .92rem; color: var(--gray-text); line-height: 1.7; margin: 0; }

/* Alt sayfada CTA bandı */
.cta-band {
  background: var(--black); color: #fff; text-align: center;
  padding: 5rem 4rem;
}
.cta-band h2 {
  font-family: "Cormorant Garamond", serif; font-weight: 300;
  font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.2; margin: 0 0 1rem;
}
.cta-band p { color: #ffffffa6; max-width: 480px; margin: 0 auto 2rem; line-height: 1.7; }

/* Referanslar sayfası: sektör etiketleri */
.ref-intro-stats {
  display: flex; flex-wrap: wrap; gap: 3rem; margin-top: 2.5rem;
}
.ref-intro-stats .hstat-num { font-size: 2.4rem; }

/* Referanslar: tek boy, hizalı logo kartları (ayrı kenarlıklı — boş hücre olmaz) */
.logo-grid { display: grid; gap: .75rem; }
.logo-grid-global { grid-template-columns: repeat(3, minmax(0, 1fr)); }  /* öne çıkan, büyük */
.logo-grid-local  { grid-template-columns: repeat(5, minmax(0, 1fr)); }  /* kompakt */
.logo-cell {
  min-width: 0;                 /* geniş logolar track'i şişirmesin (taşma önlenir) */
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--gray-mid);
  border-radius: 12px;
  aspect-ratio: 3 / 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.4rem 1.6rem;
  transition: background .2s, border-color .2s, transform .2s;
}
.logo-cell:hover { background: #fff; border-color: #d9d9d3; transform: translateY(-2px); }
.logo-cell img {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
/* Global kartlar biraz daha ferah/büyük */
.logo-grid-global .logo-cell { aspect-ratio: 2 / 1; padding: 1.6rem 2rem; }

@media (max-width: 1024px) {
  .logo-grid-local { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .logo-grid { gap: .6rem; }
  .logo-grid-global { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .logo-grid-local  { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .logo-cell { padding: 1.1rem 1.2rem; }
}
@media (max-width: 520px) {
  .logo-grid-global { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .logo-grid-local  { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .logo-cell { padding: 1rem 1.1rem; aspect-ratio: 3 / 2; }
  .logo-grid-global .logo-cell { aspect-ratio: 3 / 2; }
  .ref-intro-stats { gap: 1.4rem 2rem; }
  .ref-intro-stats .hstat-num { font-size: 1.9rem; }
}

/* ===============================================================
   Karmatik CTA
   =============================================================== */
.karmatik-cta {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  max-width: 1200px;
  margin: 1rem auto 0;
  padding: 1.35rem 1.6rem;
  background: linear-gradient(180deg, #ffffff, #faf9ff);
  border: 1px solid #e9e6fb;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(70, 55, 216, .07);
  text-decoration: none;
  transition: transform .22s, box-shadow .22s;
}
.karmatik-cta:hover { transform: translateY(-2px); box-shadow: 0 18px 42px rgba(70, 55, 216, .14); }
.karmatik-cta-logo { flex: 0 0 auto; height: 32px; width: auto; display: block; }
.karmatik-cta-divider { flex: 0 0 auto; width: 1px; align-self: stretch; margin: .3rem 0; background: #e9e6fb; }
.karmatik-cta-text { display: flex; flex-direction: column; gap: .18rem; }
.karmatik-cta-text strong {
  color: #1a1a1a; font-size: 1.02rem; font-weight: 700; letter-spacing: -.01em;
}
.karmatik-cta-text span { color: var(--gray-text); font-size: .88rem; line-height: 1.45; }
.karmatik-cta-btn {
  flex: 0 0 auto; margin-left: auto;
  display: inline-flex; align-items: center; gap: .5rem;
  background: #4637d8; color: #fff;
  font-size: .84rem; font-weight: 600; letter-spacing: .01em;
  padding: .82rem 1.5rem; border-radius: 10px;
  white-space: nowrap; transition: background .2s;
}
.karmatik-cta:hover .karmatik-cta-btn { background: #3a2cc0; }

/* ===============================================================
   Karlılık hesaplayıcı — yeniden tasarım
   =============================================================== */
.calc { max-width: 1200px; margin: 0 auto; }
/* Bento grid — farklı boyutlu kutular, hepsi hizalı */
.calc-bento {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1rem;
}
.bento-inputs  { grid-column: 1 / 7;  grid-row: 1 / 4; }
.bento-net     { grid-column: 7 / 13; grid-row: 1 / 2; }
.calc-bento > .bento-stat:nth-child(3) { grid-column: 7 / 10;  grid-row: 2; }
.calc-bento > .bento-stat:nth-child(4) { grid-column: 10 / 13; grid-row: 2; }
.calc-bento > .bento-stat:nth-child(5) { grid-column: 7 / 10;  grid-row: 3; }
.calc-bento > .bento-stat:nth-child(6) { grid-column: 10 / 13; grid-row: 3; }
.bento-dagilim { grid-column: 1 / 7;  grid-row: 4; }
.bento-kdv     { grid-column: 7 / 13; grid-row: 4 / 6; }
.bento-save    { grid-column: 1 / 7;  grid-row: 5; }

.calc-card {
  background: #fff; border: 1px solid var(--gray-mid);
  border-radius: 16px; padding: 1.4rem 1.5rem;
}
.calc-card-label {
  margin: 0 0 1rem; font-size: .7rem; font-weight: 600;
  letter-spacing: .09em; text-transform: uppercase; color: var(--gray-text);
}
.bento-inputs { display: flex; flex-direction: column; gap: .9rem; }
.calc-field { display: flex; flex-direction: column; gap: .4rem; }
.calc-field label { font-size: .8rem; color: var(--gray-text); }
.calc-hint { font-size: .7rem; color: var(--color-text-tertiary); }
.calc-input-wrap { position: relative; }
.calc-input-wrap input, .calc-input-wrap select { width: 100%; box-sizing: border-box; }
.calc-input-wrap input { padding-right: 2rem !important; }
.calc-suffix {
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  font-size: .85rem; color: var(--gray-text); pointer-events: none;
}
.calc-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.calc-divider { height: 1px; background: var(--gray-mid); margin: .2rem 0; }
.calc-note { margin: auto 0 0; font-size: .72rem; color: var(--color-text-tertiary); line-height: 1.5; }

.calc-net {
  text-align: center;
  background: linear-gradient(180deg, #fff, #fbfbf8);
  display: flex; flex-direction: column; justify-content: center;
}
.calc-net-value {
  margin: .1rem 0 0; font-family: var(--font-mono);
  font-size: 2.7rem; font-weight: 600; line-height: 1;
}
.calc-net-sub { display: flex; align-items: center; justify-content: center; gap: .6rem; margin-top: .8rem; }
.calc-badge {
  font-size: .78rem; font-weight: 600; padding: 3px 12px;
  border-radius: 999px; background: var(--gray-light);
}
.calc-net-sublabel { font-size: .78rem; color: var(--color-text-tertiary); }

.bento-stat { display: flex; flex-direction: column; justify-content: center; }
.calc-stat-label { margin: 0 0 .35rem; font-size: .72rem; color: var(--gray-text); }
.calc-stat-value { margin: 0; font-size: 1.2rem; font-weight: 600; font-family: var(--font-mono); }

.bento-save { display: flex; flex-direction: column; }

.calc-bar { display: flex; height: 14px; border-radius: 7px; overflow: hidden; gap: 1px; background: var(--gray-light); }
.calc-legend { display: flex; flex-wrap: wrap; gap: .5rem .9rem; margin-top: .9rem; }

.calc-vat { display: flex; flex-direction: column; }
.calc-vat-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: .5rem 0; border-bottom: 1px solid var(--gray-mid);
  font-size: .82rem; color: var(--gray-text);
}
.calc-vat-row:last-child { border-bottom: none; }
.calc-vat-value { font-family: var(--font-mono); color: var(--black); }
.calc-vat-row.total { padding-top: .7rem; font-weight: 600; }
.calc-vat-row.total span { color: var(--black); }
.calc-vat-row.total .calc-vat-value { font-size: .95rem; }

@media (max-width: 900px) {
  .calc-bento { grid-template-columns: 1fr 1fr; }
  .bento-inputs, .bento-net, .bento-dagilim, .bento-kdv, .bento-save {
    grid-column: 1 / -1 !important; grid-row: auto !important;
  }
  .calc-bento > .bento-stat { grid-column: auto !important; grid-row: auto !important; }
  .karmatik-cta { flex-wrap: wrap; gap: 1rem 1.2rem; padding: 1.3rem 1.4rem; }
  .karmatik-cta-divider { display: none; }
  .karmatik-cta-text { flex: 1 1 100%; order: 3; }
  .karmatik-cta-btn { margin-left: 0; width: 100%; justify-content: center; order: 4; }
}
@media (max-width: 480px) {
  .calc-bento { grid-template-columns: 1fr; }
  .calc-bento > .bento-stat { grid-column: 1 / -1 !important; }
  .calc-net-value { font-size: 2.2rem; }
}

/* ---------------------------------------------------------------
   Responsive
   --------------------------------------------------------------- */
@media (max-width: 900px) {
  .brand-marquee-head, .page-hero, .page-section, .cta-band { padding-left: 1.5rem; padding-right: 1.5rem; }
  .about-intro { grid-template-columns: 1fr; gap: 1.5rem; }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .value-grid { grid-template-columns: 1fr; }
  .page-hero-shape { display: none; }
}
@media (max-width: 560px) {
  .brand-marquee-section { padding: 4rem 0 4.5rem; }
  .process-grid { grid-template-columns: 1fr; }
  .brand-lane-track { gap: 3rem; }
  .page-hero { padding: 8.5rem 1.5rem 3rem; }
}
