:root {
  --about-gap: 16px;
  --about-thumb-h: 170px;
  --project-thumb-h: 220px;
}

body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.navbar {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}

/* Page header (internal pages) */
.page-header {
  padding: 80px 0 40px;
  background: linear-gradient(135deg, #0d6efd, #0a58ca);
  color: #fff;
}
.page-header h1 {
  font-weight: 700;
}

/* Home hero */
.hero {
  min-height: 80vh;
  display: flex;
  align-items: center;
  color: #fff;
  background: linear-gradient(rgba(0, 35, 82, 0.7), rgba(0, 35, 82, 0.8)),
    url("../../imeges/43de2538-73bf-4b3d-bf7e-fa038bd8e3dc.jpg") center/cover no-repeat;
}
.hero h1 {
  font-weight: 700;
  letter-spacing: 0.03em;
}
.hero .lead {
  max-width: 520px;
}

.icon-circle {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(13, 110, 253, 0.1);
  color: #0d6efd;
  font-size: 1.4rem;
}

.service-card {
  border: 1px solid rgba(0, 0, 0, 0.05);
  transition: all 0.2s ease-in-out;
}
.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.08);
}

/* Home about image stack */
.about-stack {
  gap: var(--about-gap);
}
.about-thumb {
  width: 100%;
  object-fit: cover;
  height: var(--about-thumb-h);
}
.about-thumb--tall {
  height: calc(var(--about-thumb-h) * 2 + var(--about-gap));
}

/* Project cards */
.project-card img {
  height: var(--project-thumb-h);
  object-fit: cover;
}
.home-projects .card-img-top {
  height: var(--project-thumb-h);
  object-fit: cover;
}

/* Referans galeri */
.gallery-tile {
  display: block;
  cursor: zoom-in;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.gallery-tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12) !important;
}
.gallery-thumb {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}
.gallery-modal-img {
  max-height: min(78vh, 900px);
  width: auto;
  object-fit: contain;
}
.gallery-nav {
  position: absolute;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
  padding: 0.5rem 0.65rem;
  border-radius: 50%;
}
.gallery-nav--prev {
  left: 0.5rem;
}
.gallery-nav--next {
  right: 0.5rem;
}
@media (max-width: 991.98px) {
  .gallery-nav--prev {
    left: 0.25rem;
  }
  .gallery-nav--next {
    right: 0.25rem;
  }
}

footer {
  background: #051427;
  color: rgba(255, 255, 255, 0.7);
}
footer a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
}
footer a:hover {
  color: #fff;
}

