/* Bosphore — özel iç sayfa şablonları (hero, modüller, harita, sayaçlar, CTA). */
.bsp-page {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow-x: clip;
}

.bsp-wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.bsp-kicker {
  margin: 0 0 1rem;
  font: 600 12px/1 var(--bsp-mono);
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--bsp-amber);
}

.bsp-h2 {
  margin: 0 0 1.5rem;
  max-width: 22ch;
  font: 700 clamp(2rem, 4.4vw, 3.6rem)/1.04 var(--bsp-sans);
  letter-spacing: -0.01em;
  color: var(--bsp-fg);
}

.bsp-text {
  max-width: 60ch;
  color: var(--bsp-dim);
  font-size: 1.05rem;
}

.bsp-block {
  position: relative;
  padding: clamp(4.5rem, 10vw, 8rem) 0;
  border-top: 1px solid var(--bsp-line);
}

.bsp-btn {
  display: inline-block;
  margin: 0 10px 10px 0;
  padding: 0.85rem 1.4rem;
  border: 1px solid var(--bsp-line);
  color: var(--bsp-fg) !important;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: border-color 0.2s, background 0.2s;
}
.bsp-btn:hover,
.bsp-btn:focus-visible { border-color: var(--bsp-amber); }
.bsp-btn--primary { background: var(--bsp-amber); border-color: var(--bsp-amber); color: var(--bsp-bg) !important; }
.bsp-btn--primary:hover { background: #36b4ee; }

/* Giriş animasyonu (JS varsa). */
.bsp-js [data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s cubic-bezier(0.2, 0.7, 0.2, 1), transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
  transition-delay: calc(var(--d, 0) * 90ms);
}
.bsp-js [data-reveal].is-in { opacity: 1; transform: none; }

/* ---------- Sinematik giriş ---------- */
.bsp-hero {
  position: relative;
  min-height: min(92svh, 860px);
  display: flex;
  align-items: flex-end;
  margin-top: calc(var(--bsp-header-h) * -1);
  padding: calc(var(--bsp-header-h) + 4rem) 0 clamp(3rem, 8vw, 6rem);
  overflow: hidden;
  isolation: isolate;
}

.bsp-hero__media,
.bsp-hero__poster,
.bsp-hero__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.bsp-hero__media { z-index: -2; }
.bsp-hero__poster { object-fit: cover; }
.bsp-hero__canvas { opacity: 0; transition: opacity 0.6s; }
.bsp-hero__canvas.is-live { opacity: 1; }

.bsp-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(0deg, var(--bsp-bg) 0%, rgba(8, 18, 31, 0.6) 35%, rgba(8, 18, 31, 0.15) 70%, rgba(8, 18, 31, 0.6) 100%),
    linear-gradient(90deg, rgba(4, 10, 20, 0.75) 0%, rgba(4, 10, 20, 0.2) 60%, transparent 100%);
}

.bsp-hero__hud {
  position: absolute;
  inset: calc(var(--bsp-header-h) + 20px) 24px 24px;
  z-index: 0;
  pointer-events: none;
  font: 500 11px/1 var(--bsp-mono);
  letter-spacing: 0.16em;
  color: rgba(238, 243, 249, 0.7);
}

.bsp-hero__code { position: absolute; left: 0; top: 0; color: var(--bsp-amber); }
.bsp-hero__coord { position: absolute; right: 0; top: 0; color: var(--bsp-cyan); }

/* Köşe işaretleri */
.bsp-hero__frame {
  position: absolute;
  inset: 24px 0 0;
  --c: rgba(238, 243, 249, 0.35);
  background:
    linear-gradient(var(--c), var(--c)) left top / 22px 1px no-repeat,
    linear-gradient(var(--c), var(--c)) left top / 1px 22px no-repeat,
    linear-gradient(var(--c), var(--c)) right top / 22px 1px no-repeat,
    linear-gradient(var(--c), var(--c)) right top / 1px 22px no-repeat,
    linear-gradient(var(--c), var(--c)) left bottom / 22px 1px no-repeat,
    linear-gradient(var(--c), var(--c)) left bottom / 1px 22px no-repeat,
    linear-gradient(var(--c), var(--c)) right bottom / 22px 1px no-repeat,
    linear-gradient(var(--c), var(--c)) right bottom / 1px 22px no-repeat;
}

.bsp-hero__inner {
  position: relative;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 48px;
}

.bsp-hero__title {
  margin: 0 0 1.25rem;
  font: 700 clamp(3rem, 9vw, 7.5rem)/0.95 var(--bsp-sans);
  letter-spacing: -0.02em;
  color: var(--bsp-fg);
  text-shadow: 0 2px 30px rgba(0, 0, 0, 0.5);
}

.bsp-hero__lead {
  max-width: 58ch;
  margin: 0;
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  color: rgba(238, 243, 249, 0.88);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.bsp-hero__ai {
  position: absolute;
  right: 24px;
  bottom: 12px;
  font-size: 10px;
  color: rgba(238, 243, 249, 0.55);
}

/* Özel şablonlu sayfalarda header videonun üstünde, şeffaf. */
body:has(.bsp-hero) .site-header {
  background: linear-gradient(180deg, rgba(4, 10, 20, 0.7), rgba(4, 10, 20, 0));
  border-bottom-color: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* ---------- Hizmet modülleri ---------- */
.bsp-modules {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 1px;
  margin-top: 2.5rem;
  background: var(--bsp-line);
  border: 1px solid var(--bsp-line);
}

.bsp-module {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 360px;
  padding: 2rem 1.75rem;
  background: var(--bsp-bg);
  color: var(--bsp-fg) !important;
  text-decoration: none;
  overflow: hidden;
  transition: background 0.35s;
}

.bsp-module__no {
  font: 600 13px/1 var(--bsp-mono);
  letter-spacing: 0.2em;
  color: var(--bsp-amber);
}

.bsp-module__title {
  margin: auto 0 1rem;
  font: 700 1.3rem/1.2 var(--bsp-sans);
  letter-spacing: 0.02em;
  color: var(--bsp-fg);
}

.bsp-module__text {
  margin: 0 0 1.25rem;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--bsp-dim);
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.5s, opacity 0.4s;
}

.bsp-module__more {
  font: 500 12px/1.4 var(--bsp-mono);
  letter-spacing: 0.08em;
  color: var(--bsp-dim);
  transition: color 0.3s;
}

.bsp-module__more i {
  display: inline-block;
  font-style: normal;
  transition: transform 0.3s;
}

.bsp-module__scan {
  position: absolute;
  left: 0;
  right: 0;
  top: -40%;
  height: 40%;
  background: linear-gradient(180deg, transparent, rgba(111, 227, 255, 0.12), transparent);
  border-bottom: 1px solid rgba(111, 227, 255, 0.5);
  opacity: 0;
  pointer-events: none;
}

.bsp-module:hover,
.bsp-module:focus-visible { background: var(--bsp-bg-2); }
.bsp-module:hover .bsp-module__text,
.bsp-module:focus-visible .bsp-module__text { max-height: 12em; opacity: 1; }
.bsp-module:hover .bsp-module__more,
.bsp-module:focus-visible .bsp-module__more { color: var(--bsp-amber); }
.bsp-module:hover .bsp-module__more i { transform: translateX(6px); }
.bsp-module:hover .bsp-module__scan { animation: bsp-scan 1.2s ease-out; }

@keyframes bsp-scan {
  0% { top: -40%; opacity: 1; }
  100% { top: 100%; opacity: 0; }
}

/* Dokunmatik ekranlarda açıklama hep görünür. */
@media (hover: none) {
  .bsp-module__text { max-height: none; opacity: 1; }
  .bsp-module { min-height: 0; }
  .bsp-module__title { margin-top: 2.5rem; }
}

/* ---------- İki kolon + şematik harita ---------- */
.bsp-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
}

@media (max-width: 900px) {
  .bsp-split { grid-template-columns: 1fr; }
}

.bsp-map {
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--bsp-line);
  background: radial-gradient(ellipse at 50% 60%, rgba(111, 227, 255, 0.06), transparent 70%), var(--bsp-bg-2);
  color: var(--bsp-fg);
}

.bsp-map svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.bsp-map__route {
  fill: none;
  stroke: var(--bsp-amber);
  stroke-width: 1.5;
  stroke-dasharray: 6 6;
  animation: bsp-dash 1.4s linear infinite;
}

.bsp-map__route--rail { stroke: var(--bsp-cyan); stroke-dasharray: 2 5; }
.bsp-map__route--sea { stroke-opacity: 0.55; }

@keyframes bsp-dash { to { stroke-dashoffset: -24; } }

.bsp-map__pt { cursor: default; }
.bsp-map__pt circle { fill: var(--bsp-amber); }
.bsp-map__pt .bsp-map__pulse {
  fill: none;
  stroke: var(--bsp-amber);
  transform-box: fill-box;
  transform-origin: center;
  animation: bsp-pulse 2.2s ease-out infinite;
}
.bsp-map__pt.is-active circle:not(.bsp-map__pulse) { fill: var(--bsp-cyan); }
.bsp-map__pt.is-active .bsp-map__pulse { stroke: var(--bsp-cyan); }

@keyframes bsp-pulse {
  0% { transform: scale(0.4); opacity: 1; }
  100% { transform: scale(1.8); opacity: 0; }
}

.bsp-map text {
  fill: var(--bsp-fg);
  font: 600 12px var(--bsp-mono);
  letter-spacing: 0.14em;
}

.bsp-map .bsp-map__label {
  fill: var(--bsp-dim);
  font-size: 10px;
}

/* ---------- Sayaçlar ---------- */
.bsp-counters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1px;
  background: var(--bsp-line);
  border: 1px solid var(--bsp-line);
}

.bsp-counter {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 2rem 1.5rem;
  background: var(--bsp-bg);
}

.bsp-counter img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  border: 0;
  filter: brightness(0) invert(1) opacity(0.75);
}

.bsp-counter b {
  font: 700 clamp(1.8rem, 3.4vw, 2.6rem)/1 var(--bsp-sans);
  font-variant-numeric: tabular-nums;
  color: var(--bsp-fg);
}

.bsp-counter span {
  font: 700 1.6rem/1 var(--bsp-sans);
  color: var(--bsp-amber);
}

/* ---------- CTA ---------- */
.bsp-cta {
  text-align: left;
  background:
    repeating-linear-gradient(90deg, var(--bsp-line) 0 1px, transparent 1px 80px),
    radial-gradient(ellipse at 80% 100%, rgba(79, 192, 245, 0.16), transparent 60%),
    var(--bsp-bg-2);
}

@media (prefers-reduced-motion: reduce) {
  .bsp-map__route,
  .bsp-map__pulse { animation: none !important; }
}

/* =========================================================
   YUMUŞAK TEMA (iç sayfalar) — açık, sıcak zemin; video girişi koyu kalır.
   Önceki koyu stiller değişkenlerle burada geçersiz kılınır.
   ========================================================= */
body:not(.home) {
  --bsp-bg: #e7eef3;
  --bsp-bg-2: #d8e3ea;
  --bsp-fg: #14243a;
  --bsp-dim: rgba(20, 36, 58, 0.74);
  --bsp-line: rgba(20, 36, 58, 0.12);
  --bsp-panel: #f5f8fa;
  --bsp-amber: #0089cc;
  --bsp-cyan: #2b7ea3;
  --bsp-radius: 18px;
  --bsp-shadow: 0 1px 2px rgba(20, 36, 58, 0.04), 0 12px 32px -12px rgba(20, 36, 58, 0.14);
  background: var(--bsp-bg);
  color: var(--bsp-fg);
}

body:not(.home) ::selection { background: var(--bsp-amber); color: #fff; }

/* Header: açık, buzlu; videonun üstünde değil, sayfanın üstünde. */
body:not(.home) .site-header,
body:has(.bsp-hero) .site-header {
  background: rgba(238, 243, 247, 0.82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--bsp-line);
}
body:not(.home) .site-header .site-title a { color: var(--bsp-fg); }
body:not(.home) .site-navigation ul.menu li a {
  color: var(--bsp-dim);
  font-family: var(--bsp-sans);
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: none;
}
body:not(.home) .site-navigation ul.menu li a:hover,
body:not(.home) .site-navigation ul.menu li.current-menu-item > a { color: var(--bsp-amber); box-shadow: none; }
body:not(.home) .site-navigation-toggle-icon,
body:not(.home) .site-navigation-toggle-icon::before,
body:not(.home) .site-navigation-toggle-icon::after { background-color: var(--bsp-fg) !important; }
body:not(.home) .site-navigation-toggle-holder .site-navigation-toggle { color: var(--bsp-fg); }
body:not(.home) .site-navigation-dropdown ul.menu { background: var(--bsp-bg); }

/* Video girişi: kenarlardan içeride, yuvarlak köşeli kart; içi koyu ve okunaklı. */
body:not(.home) .bsp-hero {
  --bsp-fg: #f4f6f9;
  margin: 12px 16px 0;
  min-height: min(78svh, 760px);
  padding-top: 5rem;
  border-radius: 28px;
}
body:not(.home) .bsp-hero::before {
  background:
    linear-gradient(0deg, rgba(12, 26, 46, 0.72) 0%, rgba(12, 26, 46, 0.25) 45%, rgba(12, 26, 46, 0.1) 100%),
    linear-gradient(90deg, rgba(12, 26, 46, 0.55) 0%, transparent 65%);
}
body:not(.home) .bsp-hero__hud { inset: 20px 24px 24px; }
body:not(.home) .bsp-hero__hud,
body:not(.home) .bsp-hero__code,
body:not(.home) .bsp-hero__coord { color: rgba(244, 246, 249, 0.8); }
body:not(.home) .bsp-hero__frame { display: none; }
body:not(.home) .bsp-hero .bsp-kicker { color: #7fd1f7; }
body:not(.home) .bsp-hero__title { letter-spacing: -0.03em; }

/* Yazı dili: daha az teknik. */
body:not(.home) .bsp-kicker {
  font: 600 13px/1 var(--bsp-sans);
  letter-spacing: 0.12em;
}
body:not(.home) .bsp-block { border-top: 0; }
body:not(.home) .bsp-block + .bsp-block { padding-top: clamp(1rem, 4vw, 3rem); }

/* Butonlar: hap şeklinde. */
body:not(.home) .bsp-btn {
  border-radius: 999px;
  background: var(--bsp-panel);
  color: var(--bsp-fg) !important;
  box-shadow: var(--bsp-shadow);
}
body:not(.home) .bsp-btn--primary { background: var(--bsp-fg); border-color: var(--bsp-fg); color: #fff !important; }
body:not(.home) .bsp-btn--primary:hover { background: var(--bsp-amber); border-color: var(--bsp-amber); }

/* Hizmet modülleri: ayrık beyaz kartlar. */
body:not(.home) .bsp-modules { gap: 18px; background: none; border: 0; }
body:not(.home) .bsp-module {
  min-height: 320px;
  background: var(--bsp-panel);
  border-radius: var(--bsp-radius);
  box-shadow: var(--bsp-shadow);
  transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s;
}
body:not(.home) .bsp-module:hover,
body:not(.home) .bsp-module:focus-visible {
  background: var(--bsp-panel);
  transform: translateY(-6px);
  box-shadow: 0 2px 4px rgba(20, 36, 58, 0.05), 0 24px 48px -16px rgba(20, 36, 58, 0.22);
}
body:not(.home) .bsp-module__no {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(0, 137, 204, 0.12);
  font-family: var(--bsp-sans);
  letter-spacing: 0;
}
body:not(.home) .bsp-module__more { font-family: var(--bsp-sans); letter-spacing: 0.02em; }
body:not(.home) .bsp-module__scan { display: none; }

/* Harita, sayaçlar, CTA */
body:not(.home) .bsp-map {
  border: 0;
  border-radius: var(--bsp-radius);
  background: radial-gradient(ellipse at 50% 60%, rgba(43, 126, 163, 0.08), transparent 70%), var(--bsp-panel);
  box-shadow: var(--bsp-shadow);
}
body:not(.home) .bsp-map__pt.is-active circle:not(.bsp-map__pulse) { fill: var(--bsp-cyan); }

body:not(.home) .bsp-counters { gap: 18px; background: none; border: 0; }
body:not(.home) .bsp-counter { background: var(--bsp-panel); border-radius: var(--bsp-radius); box-shadow: var(--bsp-shadow); }
body:not(.home) .bsp-counter img { filter: none; opacity: 0.85; }

body:not(.home) .bsp-cta {
  margin: 0 16px 16px;
  border-radius: 28px;
  background:
    radial-gradient(ellipse at 85% 110%, rgba(0, 137, 204, 0.22), transparent 55%),
    radial-gradient(ellipse at 0% 0%, rgba(43, 126, 163, 0.12), transparent 50%),
    var(--bsp-bg-2);
}

/* Şablonsuz sayfaların başlık bandı ve içerik kartları. */
body:not(.home) .page-header {
  margin: 12px 16px 0;
  border: 0;
  border-radius: 28px;
  background:
    radial-gradient(ellipse at 80% 0%, rgba(0, 137, 204, 0.18), transparent 55%),
    radial-gradient(ellipse at 0% 100%, rgba(43, 126, 163, 0.12), transparent 50%),
    var(--bsp-bg-2);
}
body:not(.home) .page-header .entry-title::before {
  content: 'Bosphore Group';
  font-family: var(--bsp-sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
body:not(.home) .page-content .elementor-icon-box-wrapper,
body:not(.home) .page-content .elementor-image-box-wrapper,
body:not(.home) .blog .page-content > article,
body.blog .page-content > article,
body.archive .page-content > article {
  background: var(--bsp-panel);
  border: 0;
  border-radius: var(--bsp-radius);
  box-shadow: var(--bsp-shadow);
}
body:not(.home) .page-content img { border: 0; border-radius: 14px; }
body:not(.home) .page-content th { background: var(--bsp-bg-2); }
body:not(.home) .page-content .elementor-button { border-radius: 999px; color: #fff; background: var(--bsp-fg); }
body:not(.home) .pagination { font-family: var(--bsp-sans); letter-spacing: 0.04em; }

/* Footer: yumuşak, açık. */
body:not(.home) .site-footer {
  background: var(--bsp-bg-2);
  border-top: 0;
  color: var(--bsp-dim);
  font-family: var(--bsp-sans);
  letter-spacing: 0.02em;
}
body:not(.home) .site-footer a { color: var(--bsp-fg); }

/* =========================================================
   Hakkımızda + ortak: yıl sayacı, panel, kurucu, kolaj, video kartı, yazı kartları
   ========================================================= */
.bsp-split--about { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); }

.bsp-years {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.bsp-years b {
  font: 700 clamp(7rem, 18vw, 14rem)/0.85 var(--bsp-sans);
  letter-spacing: -0.05em;
  background: linear-gradient(160deg, var(--bsp-fg) 30%, var(--bsp-amber));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.bsp-years span {
  margin-top: 0.75rem;
  font: 600 1.1rem/1 var(--bsp-sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bsp-dim);
}
.bsp-text--lg { font-size: clamp(1.15rem, 1.8vw, 1.4rem); line-height: 1.55; color: var(--bsp-fg); }

.bsp-duo {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 18px;
}
.bsp-panel {
  padding: clamp(1.75rem, 4vw, 2.75rem);
  background: var(--bsp-panel);
  border-radius: var(--bsp-radius, 18px);
  box-shadow: var(--bsp-shadow, none);
}
.bsp-panel__icon {
  display: inline-grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin-bottom: 1.25rem;
  border-radius: 50%;
  background: rgba(0, 137, 204, 0.12);
  color: var(--bsp-amber);
  font-size: 1.4rem;
}
.bsp-panel__title {
  margin: 0 0 0.75rem;
  font: 700 1.6rem/1.15 var(--bsp-sans);
  color: var(--bsp-fg);
}
.bsp-panel__title::first-letter { text-transform: uppercase; }
.bsp-panel p { margin: 0; color: var(--bsp-dim); line-height: 1.7; }

.bsp-founder {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 2rem;
  padding: 1rem 1.25rem;
  background: var(--bsp-panel);
  border-radius: 14px;
  box-shadow: var(--bsp-shadow, none);
  width: fit-content;
}
.bsp-founder img { width: 140px; height: auto; border: 0 !important; }
.bsp-founder h3 { margin: 0; font: 700 1.1rem/1.2 var(--bsp-sans); color: var(--bsp-fg); }
.bsp-founder span { color: var(--bsp-dim); font-size: 0.9rem; }

.bsp-collage { position: relative; min-height: 520px; }
.bsp-collage img { position: absolute; border: 0 !important; border-radius: 22px; box-shadow: var(--bsp-shadow, none); object-fit: cover; }
.bsp-collage__a { right: 0; top: 0; width: 72%; height: 86%; }
.bsp-collage__b { left: 0; bottom: 0; width: 56%; height: 42%; border: 6px solid var(--bsp-bg) !important; }
@media (max-width: 900px) {
  .bsp-collage { min-height: 380px; }
}

.bsp-videocard {
  position: relative;
  display: block;
  height: clamp(320px, 52vw, 560px);
  border-radius: 28px;
  overflow: hidden;
  color: #fff !important;
  text-decoration: none;
  isolation: isolate;
}
.bsp-videocard img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0 !important; border-radius: 0 !important; z-index: -2; transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1); }
.bsp-videocard::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(12, 26, 46, 0.75), rgba(12, 26, 46, 0.1) 60%); }
.bsp-videocard:hover img { transform: scale(1.04); }
.bsp-videocard__text { position: absolute; left: clamp(1.5rem, 4vw, 3rem); bottom: clamp(1.5rem, 4vw, 3rem); }
.bsp-videocard__text .bsp-kicker { color: #7fd1f7; }
.bsp-videocard h2 { margin: 0; font: 700 clamp(1.8rem, 4vw, 3.2rem)/1.05 var(--bsp-sans); color: #fff; }
.bsp-videocard__play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 92px;
  height: 92px;
  margin: -46px 0 0 -46px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5);
  animation: bsp-ring 2.4s ease-out infinite;
}
.bsp-videocard__play::after { content: ''; position: absolute; left: 38px; top: 30px; border: 16px solid transparent; border-left: 24px solid var(--bsp-fg); border-right: 0; }
@keyframes bsp-ring { 70% { box-shadow: 0 0 0 26px rgba(255, 255, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } }

.bsp-lightbox { width: min(1100px, 94vw); padding: 0; border: 0; border-radius: 18px; background: #000; overflow: hidden; }
.bsp-lightbox::backdrop { background: rgba(12, 26, 46, 0.82); backdrop-filter: blur(6px); }
.bsp-lightbox video { display: block; width: 100%; max-height: 80vh; }
.bsp-lightbox__close { position: absolute; right: 10px; top: 10px; z-index: 1; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.9); color: #14243a; font-size: 24px; line-height: 1; cursor: pointer; }

/* Yazı kartları */
.bsp-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 18px; margin: 1rem 0 2rem; }
.bsp-post {
  display: flex;
  flex-direction: column;
  background: var(--bsp-panel);
  border-radius: var(--bsp-radius, 18px);
  box-shadow: var(--bsp-shadow, none);
  overflow: hidden;
  color: var(--bsp-fg) !important;
  text-decoration: none;
  transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s;
}
.bsp-post:hover { transform: translateY(-6px); box-shadow: 0 2px 4px rgba(20, 36, 58, 0.05), 0 24px 48px -16px rgba(20, 36, 58, 0.22); }
.bsp-post__media { display: block; aspect-ratio: 16 / 10; background: var(--bsp-bg-2); overflow: hidden; }
.bsp-post__media img { width: 100%; height: 100%; object-fit: cover; border: 0 !important; border-radius: 0 !important; transition: transform 1s; }
.bsp-post:hover .bsp-post__media img { transform: scale(1.05); }
.bsp-post__body { display: flex; flex-direction: column; gap: 0.6rem; padding: 1.25rem 1.4rem 1.5rem; }
.bsp-post__meta { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 0.8rem; color: var(--bsp-dim); }
.bsp-post__meta b { color: var(--bsp-amber); font-weight: 600; }
.bsp-post__title { margin: 0; font: 700 1.15rem/1.3 var(--bsp-sans); color: var(--bsp-fg); }
.bsp-post__excerpt { font-size: 0.92rem; line-height: 1.55; color: var(--bsp-dim); }

/* Öne çıkan: ilk kart geniş */
@media (min-width: 900px) {
  .bsp-posts--featured > .bsp-post:first-child { grid-column: 1 / -1; flex-direction: row; }
  .bsp-posts--featured > .bsp-post:first-child .bsp-post__media { flex: 1.3; aspect-ratio: auto; min-height: 380px; }
  .bsp-posts--featured > .bsp-post:first-child .bsp-post__body { flex: 1; justify-content: center; padding: 2.5rem; }
  .bsp-posts--featured > .bsp-post:first-child .bsp-post__title { font-size: clamp(1.6rem, 2.6vw, 2.3rem); }
}

/* Blog: kategori çipleri + sayfalama */
.bsp-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 2rem; }
.bsp-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.55rem 1.1rem;
  border-radius: 999px;
  background: var(--bsp-panel);
  box-shadow: var(--bsp-shadow, none);
  color: var(--bsp-fg) !important;
  font-weight: 600;
  font-size: 0.92rem;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.bsp-chip small { font-size: 0.75rem; color: var(--bsp-dim); }
.bsp-chip:hover { color: var(--bsp-amber) !important; }
.bsp-chip.is-active { background: var(--bsp-fg); color: #fff !important; }
.bsp-chip.is-active small { color: rgba(255, 255, 255, 0.7); }

.bsp-page .navigation.pagination { display: block; margin-top: 1rem; }
.bsp-page .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.bsp-page .nav-links .page-numbers {
  min-width: 44px;
  padding: 0.6rem 0.9rem;
  border-radius: 999px;
  background: var(--bsp-panel);
  box-shadow: var(--bsp-shadow, none);
  color: var(--bsp-fg);
  text-align: center;
  text-decoration: none;
  font-weight: 600;
}
.bsp-page .nav-links .page-numbers.current { background: var(--bsp-fg); color: #fff; }

/* İletişim: hızlı kartlar, ofis sekmeleri, saatler, form */
.bsp-block--lift { padding-top: 0; margin-top: -5rem; z-index: 2; }
.bsp-quick { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.bsp-quick__card {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 1.75rem;
  background: var(--bsp-panel);
  border-radius: var(--bsp-radius, 18px);
  box-shadow: var(--bsp-shadow, none);
  color: var(--bsp-fg) !important;
  text-decoration: none;
  transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s;
}
.bsp-quick__card:hover { transform: translateY(-6px); box-shadow: 0 2px 4px rgba(20, 36, 58, 0.05), 0 24px 48px -16px rgba(20, 36, 58, 0.22); }
.bsp-quick__card h2 { margin: 0 0 0.4rem; font: 700 1.15rem/1.2 var(--bsp-sans); color: var(--bsp-fg); }
.bsp-quick__card b { font-size: 1.05rem; word-break: break-word; }
.bsp-quick__card span { color: var(--bsp-dim); font-size: 0.92rem; }
.bsp-quick__small { font-size: 0.8rem !important; }
.bsp-quick__cta { margin-top: auto; padding-top: 1rem; color: var(--bsp-amber) !important; font-weight: 600; }

.bsp-offices2 { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: start; }
@media (max-width: 900px) { .bsp-offices2 { grid-template-columns: 1fr; } }
.bsp-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 1.25rem; }
.bsp-tab {
  padding: 0.6rem 1.1rem;
  border: 0;
  border-radius: 999px;
  background: var(--bsp-panel);
  box-shadow: var(--bsp-shadow, none);
  color: var(--bsp-fg);
  font: 600 0.92rem/1 var(--bsp-sans);
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.bsp-tab[aria-selected='true'] { background: var(--bsp-fg); color: #fff; }
.bsp-office { padding: 1.75rem; background: var(--bsp-panel); border-radius: var(--bsp-radius, 18px); box-shadow: var(--bsp-shadow, none); animation: bsp-fade 0.4s ease; }
.bsp-office h3 { margin: 0 0 1rem; font: 700 1.4rem/1.2 var(--bsp-sans); color: var(--bsp-fg); }
.bsp-office ul { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; gap: 0.75rem; }
.bsp-office li { display: grid; grid-template-columns: 84px 1fr; gap: 12px; }
.bsp-office li span { color: var(--bsp-dim); font-size: 0.85rem; }
.bsp-office address { font-style: normal; color: var(--bsp-fg); }
.bsp-office a { color: var(--bsp-fg); font-weight: 600; }
@keyframes bsp-fade { from { opacity: 0; transform: translateY(8px); } }
.bsp-map--offices .bsp-map__pt { cursor: pointer; }
.bsp-map--offices .bsp-map__pt:focus-visible { outline: none; }
.bsp-map--offices .bsp-map__pt:focus-visible circle:not(.bsp-map__pulse) { stroke: var(--bsp-fg); stroke-width: 2; }

.bsp-split--form { align-items: start; }
.bsp-hours { list-style: none; margin: 0 0 1.5rem; padding: 0; max-width: 420px; }
.bsp-hours li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.9rem 0; border-bottom: 1px solid var(--bsp-line); }
.bsp-hours span { color: var(--bsp-dim); }
.bsp-formcard { padding: clamp(1.75rem, 4vw, 2.5rem); background: var(--bsp-panel); border-radius: 24px; box-shadow: var(--bsp-shadow, none); }
.bsp-form,
.bsp-formcard .wpcf7-form { display: grid; gap: 1rem; }
.bsp-form label span { display: block; margin-bottom: 0.35rem; font-size: 0.85rem; color: var(--bsp-dim); }
.bsp-form input,
.bsp-form textarea,
.bsp-formcard .wpcf7-form-control:not(.wpcf7-submit) {
  width: 100%;
  padding: 0.85rem 1rem;
  border: 1px solid var(--bsp-line);
  border-radius: 12px;
  background: var(--bsp-bg);
  color: var(--bsp-fg);
  font: inherit;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.bsp-form input:focus,
.bsp-form textarea:focus,
.bsp-formcard .wpcf7-form-control:focus { outline: none; border-color: var(--bsp-amber); box-shadow: 0 0 0 4px rgba(0, 137, 204, 0.15); }
.bsp-form button,
.bsp-formcard .wpcf7-submit { justify-self: start; border-radius: 999px; padding: 0.85rem 1.6rem; border: 0; background: var(--bsp-fg); color: #fff; font-weight: 600; cursor: pointer; }
.bsp-form__note { color: var(--bsp-dim); font-size: 0.78rem; }

/* Makale / genel sayfa düzeni */
.bsp-hero__meta { margin: 1rem 0 0; color: rgba(244, 246, 249, 0.85); font-size: 0.95rem; }
.bsp-hero__meta a { color: #7fd1f7; text-decoration: none; font-weight: 600; }
.bsp-hero--still .bsp-hero__poster { filter: saturate(0.9); }
body:not(.home) .bsp-page--single .bsp-hero__title,
body:not(.home) .bsp-page--generic .bsp-hero__title { font-size: clamp(2.2rem, 5.6vw, 4.6rem); max-width: 22ch; line-height: 1.02; }

.bsp-layout { padding-top: clamp(3rem, 7vw, 5rem); padding-bottom: clamp(3rem, 7vw, 5rem); }
.bsp-layout--aside { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
@media (max-width: 960px) { .bsp-layout--aside { grid-template-columns: 1fr; } }

.bsp-article { max-width: 760px; margin: 0 auto; padding: clamp(3rem, 7vw, 5rem) 24px; }
.bsp-article--page { max-width: none; margin: 0; padding: 0; }
.bsp-layout:not(.bsp-layout--aside) .bsp-article--page { max-width: 860px; margin: 0 auto; }
body:not(.home) .bsp-article__body.page-content { max-width: none; margin: 0; padding: 0; }
.bsp-article__body { font-size: 1.08rem; line-height: 1.8; }
.bsp-article__body > *:first-child { margin-top: 0; }
.bsp-article__body p,
.bsp-article__body li { color: rgba(20, 36, 58, 0.82); }
.bsp-article__body h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); }
.bsp-article__body h3 { font-size: 1.3rem; }
.bsp-article__body a { color: var(--bsp-amber); text-underline-offset: 3px; }
.bsp-article__body ul,
.bsp-article__body ol { padding-left: 1.2rem; }
.bsp-article__body table { display: block; overflow-x: auto; background: var(--bsp-panel); border-radius: 14px; box-shadow: var(--bsp-shadow, none); }
.bsp-article__body table th,
.bsp-article__body table td { border-color: var(--bsp-line); }

.bsp-article__foot { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--bsp-line); }
.bsp-article__nav { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.bsp-article__nav a { color: var(--bsp-fg); font-weight: 600; text-decoration: none; }
.bsp-article__nav a:hover { color: var(--bsp-amber); }

.bsp-aside { position: sticky; top: calc(var(--bsp-header-h) + 24px); display: grid; gap: 18px; }
.bsp-aside__card { padding: 1.5rem; background: var(--bsp-panel); border-radius: var(--bsp-radius, 18px); box-shadow: var(--bsp-shadow, none); }
.bsp-aside__card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.bsp-aside__card li a { display: block; padding: 0.7rem 0.9rem; border-radius: 10px; color: var(--bsp-fg); font-weight: 600; font-size: 0.92rem; text-decoration: none; transition: background 0.2s; }
.bsp-aside__card li a:hover { background: var(--bsp-bg); }
.bsp-aside__card li a[aria-current='page'] { background: var(--bsp-fg); color: #fff; }
.bsp-aside__card--cta { background: radial-gradient(ellipse at 100% 100%, rgba(0, 137, 204, 0.22), transparent 60%), var(--bsp-bg-2); }
.bsp-aside__card--cta h2 { margin: 0 0 1rem; font: 700 1.2rem/1.3 var(--bsp-sans); color: var(--bsp-fg); }
.bsp-aside__card--cta .bsp-btn { display: block; text-align: center; margin: 0 0 10px; }

/* Lojistik sözlüğü */
.bsp-gl {
  position: sticky;
  top: calc(var(--bsp-header-h) + 8px);
  z-index: 5;
  display: grid;
  gap: 0.75rem;
  margin: 0 0 1.25rem;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 18px;
  box-shadow: var(--bsp-shadow, none);
}
.bsp-gl__search input {
  width: 100%;
  padding: 0.9rem 1.1rem 0.9rem 2.6rem;
  border: 1px solid var(--bsp-line);
  border-radius: 999px;
  background: var(--bsp-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2314243a' stroke-opacity='.5' stroke-width='2'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='m13 13 4 4'/%3E%3C/svg%3E") no-repeat 1rem center;
  color: var(--bsp-fg);
  font: inherit;
}
.bsp-gl__search input:focus { outline: none; border-color: var(--bsp-amber); box-shadow: 0 0 0 4px rgba(0, 137, 204, 0.15); }
.bsp-gl__letters { display: flex; flex-wrap: wrap; gap: 4px; }
.bsp-gl__letters button {
  min-width: 34px;
  padding: 0.35rem 0.55rem;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--bsp-dim);
  font: 600 0.85rem/1 var(--bsp-sans);
  cursor: pointer;
}
.bsp-gl__letters button:hover { background: var(--bsp-bg); color: var(--bsp-fg); }
.bsp-gl__letters button.is-active { background: var(--bsp-fg); color: #fff; }
.bsp-gl__count { margin: 0; font-size: 0.85rem; color: var(--bsp-dim) !important; }
.bsp-gl__count b { color: var(--bsp-amber); }

.bsp-gl__table th:last-child,
.bsp-gl__table td:last-child:empty { display: none; }
.bsp-gl__table tbody tr { scroll-margin-top: calc(var(--bsp-header-h) + 180px); transition: background 0.4s; }
.bsp-gl__table tbody tr:target,
.bsp-gl__table tbody tr.is-hit { background: rgba(0, 137, 204, 0.12); }
.bsp-gl__term { position: relative; font-weight: 700; color: var(--bsp-fg) !important; white-space: nowrap; }
.bsp-gl__anchor { margin-left: 6px; color: var(--bsp-amber); text-decoration: none; opacity: 0; transition: opacity 0.2s; }
.bsp-gl__table tr:hover .bsp-gl__anchor,
.bsp-gl__anchor:focus-visible { opacity: 1; }
.bsp-gl__table.is-empty tbody::after { content: 'Sonuç bulunamadı.'; display: block; padding: 1.5rem; color: var(--bsp-dim); }
@media (min-width: 900px) { .bsp-article__body .bsp-gl__table { display: table; } }

/* =========================================================
   Hizmetlerimiz girişi: hizmet seçici
   ========================================================= */
.bsp-sel {
  position: relative;
  margin: 12px 16px 0;
  min-height: min(88svh, 860px);
  display: flex;
  border-radius: 28px;
  overflow: hidden;
  isolation: isolate;
  color: #f4f6f9;
}
.bsp-sel__media,
.bsp-sel__poster,
.bsp-sel__canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.bsp-sel__media { z-index: -2; }
.bsp-sel__poster { object-fit: cover; }
.bsp-sel__canvas { opacity: 0; transition: opacity 0.9s ease; }
.bsp-sel__canvas.is-live.is-front { opacity: 1; }
.bsp-sel::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(0deg, rgba(12, 26, 46, 0.85) 0%, rgba(12, 26, 46, 0.35) 40%, rgba(12, 26, 46, 0.1) 70%),
    linear-gradient(90deg, rgba(12, 26, 46, 0.55) 0%, transparent 60%);
}

.bsp-sel__inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.5rem, 4vw, 3rem) clamp(1.5rem, 3vw, 2.25rem);
}
.bsp-sel__intro { max-width: 760px; }
.bsp-sel .bsp-kicker { color: #7fd1f7; }
.bsp-sel__title {
  margin: 0 0 1rem;
  font: 700 clamp(3rem, 8vw, 6.5rem)/0.95 var(--bsp-sans);
  letter-spacing: -0.03em;
  color: #fff;
  text-shadow: 0 2px 30px rgba(0, 0, 0, 0.4);
}
.bsp-sel__lead { margin: 0; max-width: 56ch; font-size: clamp(1rem, 1.5vw, 1.2rem); color: rgba(244, 246, 249, 0.88); }

.bsp-sel__tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 960px) { .bsp-sel__tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .bsp-sel__tabs { grid-template-columns: 1fr; } }

.bsp-sel__tab {
  --p: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-height: 150px;
  padding: 1.1rem 1.2rem 1.3rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  cursor: pointer;
  overflow: hidden;
  transition: background 0.35s, border-color 0.35s, transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
  outline: none;
}
.bsp-sel__tab:hover,
.bsp-sel__tab:focus-visible { transform: translateY(-3px); }
.bsp-sel__tab.is-active { background: rgba(255, 255, 255, 0.94); border-color: #fff; color: var(--bsp-fg); }
.bsp-sel__no {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  font: 700 0.8rem/1 var(--bsp-sans);
}
.bsp-sel__tab.is-active .bsp-sel__no { background: rgba(0, 137, 204, 0.15); color: var(--bsp-amber); }
.bsp-sel__name { font: 700 0.95rem/1.3 var(--bsp-sans); letter-spacing: 0.02em; }
.bsp-sel__link {
  margin-top: auto;
  font-size: 0.82rem;
  color: rgba(244, 246, 249, 0.75) !important;
  text-decoration: none;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.3s, transform 0.3s, color 0.3s;
}
.bsp-sel__tab.is-active .bsp-sel__link { opacity: 1; transform: none; color: var(--bsp-amber) !important; font-weight: 600; }
.bsp-sel__link:hover i { display: inline-block; transform: translateX(4px); }
.bsp-sel__bar { position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: var(--bsp-amber); transform-origin: left; transform: scaleX(0); }
.bsp-sel__tab.is-active .bsp-sel__bar { transform: scaleX(var(--p)); }
@media (hover: none) { .bsp-sel__link { opacity: 1; transform: none; } }
.bsp-sel .bsp-hero__ai { position: absolute; right: 18px; top: 14px; bottom: auto; }

/* =========================================================
   Hakkımızda girişi: kendini çizen ağ haritası
   ========================================================= */
.bsp-net {
  position: relative;
  margin: 12px 16px 0;
  min-height: min(84svh, 820px);
  display: grid;
  grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.6fr);
  align-items: center;
  gap: clamp(1rem, 3vw, 3rem);
  padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.5rem, 4vw, 3.5rem);
  border-radius: 28px;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 30% 60%, rgba(0, 137, 204, 0.14), transparent 55%),
    radial-gradient(ellipse at 90% 80%, rgba(43, 126, 163, 0.12), transparent 50%),
    var(--bsp-bg-2);
}
@media (max-width: 900px) { .bsp-net { grid-template-columns: 1fr; } }

.bsp-net__title {
  margin: 0 0 2rem;
  font: 700 clamp(3rem, 7vw, 5.8rem)/0.95 var(--bsp-sans);
  letter-spacing: -0.03em;
  color: var(--bsp-fg);
}
.bsp-net__years { display: flex; align-items: flex-end; gap: 14px; }
.bsp-net__years b {
  font: 700 clamp(5.5rem, 12vw, 9.5rem)/0.8 var(--bsp-sans);
  letter-spacing: -0.05em;
  background: linear-gradient(160deg, var(--bsp-fg) 30%, var(--bsp-amber));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.bsp-net__years span { padding-bottom: 0.6rem; max-width: 7ch; font: 600 1rem/1.15 var(--bsp-sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--bsp-dim); }
.bsp-net__since { margin: 1.5rem 0 0; color: var(--bsp-dim); font-weight: 600; }

.bsp-net__map { margin: 0; }
.bsp-net__map svg { display: block; width: 100%; height: auto; overflow: visible; }
.bsp-net__grid line { stroke: var(--bsp-fg); stroke-opacity: 0.06; stroke-width: 1; }

.bsp-net__line {
  fill: none;
  stroke: var(--bsp-amber);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: bsp-draw 1.1s cubic-bezier(0.6, 0, 0.3, 1) forwards;
  animation-delay: var(--d);
}
.bsp-net__line--sea { stroke: var(--bsp-cyan); stroke-dasharray: 1; animation-duration: 1.6s; }
@keyframes bsp-draw { to { stroke-dashoffset: 0; } }

.bsp-net__in { opacity: 0; transform-box: fill-box; transform-origin: center; animation: bsp-pop 0.6s cubic-bezier(0.2, 1.4, 0.4, 1) forwards; animation-delay: var(--d); }
.bsp-net__pt circle { fill: var(--bsp-fg); }
.bsp-net__pt .bsp-net__ring { fill: none; stroke: var(--bsp-amber); stroke-width: 1.5; transform-box: fill-box; transform-origin: center; animation: bsp-pulse 2.4s ease-out infinite; animation-delay: calc(var(--d) + 0.6s); }
.bsp-net__pt--origin circle:not(.bsp-net__ring) { fill: var(--bsp-amber); }
.bsp-net__pt text { fill: var(--bsp-fg); font: 700 20px var(--bsp-sans); letter-spacing: 0.02em; }
.bsp-net__pt .bsp-net__year { fill: var(--bsp-amber); font-size: 26px; }
@keyframes bsp-pop { from { opacity: 0; transform: scale(0.4); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  .bsp-net__line { animation: none; stroke-dashoffset: 0; }
  .bsp-net__in { animation: none; opacity: 1; }
  .bsp-net__pt .bsp-net__ring { animation: none; }
}

.bsp-about-intro { max-width: 820px; }

/* =========================================================
   İletişim girişi: canlı ofis panosu
   ========================================================= */
.bsp-board {
  position: relative;
  margin: 12px 16px 0;
  padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 3rem) clamp(1.5rem, 4vw, 2.5rem);
  border-radius: 28px;
  overflow: hidden;
  isolation: isolate;
  color: #f4f6f9;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(0, 137, 204, 0.28), transparent 50%),
    radial-gradient(ellipse at 100% 100%, rgba(43, 126, 163, 0.35), transparent 55%),
    linear-gradient(160deg, #18304d, #0f2036 70%);
}
.bsp-board__head { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.5rem; }
.bsp-board .bsp-kicker { color: #7fd1f7; }
.bsp-board__title { margin: 0; font: 700 clamp(3rem, 8vw, 6.5rem)/0.95 var(--bsp-sans); letter-spacing: -0.03em; color: #fff; }
.bsp-board__call {
  display: inline-flex;
  flex-direction: column;
  padding: 0.9rem 1.4rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff !important;
  text-decoration: none;
  transition: background 0.25s;
}
.bsp-board__call span { font-size: 0.8rem; color: rgba(244, 246, 249, 0.7); }
.bsp-board__call b { font-size: 1.35rem; letter-spacing: 0.02em; }
.bsp-board__call:hover { background: rgba(255, 255, 255, 0.18); }

.bsp-board__map { position: absolute; inset: 8% 2% 34% 28%; z-index: -1; margin: 0; opacity: 0.9; }
.bsp-board__map svg { width: 100%; height: 100%; overflow: visible; }
.bsp-board__pin circle { fill: #7fd1f7; transition: fill 0.25s; }
.bsp-board__pin .bsp-map__pulse { fill: none; stroke: #7fd1f7; transform-box: fill-box; transform-origin: center; animation: bsp-pulse 2.2s ease-out infinite; }
.bsp-board__pin.is-active circle:not(.bsp-map__pulse) { fill: #fff; }
.bsp-board__pin.is-active .bsp-map__pulse { stroke: #fff; }
.bsp-board .bsp-map__route { stroke: #7fd1f7; }
.bsp-board .bsp-map__route--rail { stroke: #7fd0ef; }

.bsp-board__offices {
  position: relative;
  z-index: 1;
  list-style: none;
  margin: clamp(10rem, 26vw, 18rem) 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 1100px) { .bsp-board__offices { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .bsp-board__offices { grid-template-columns: 1fr; margin-top: 2rem; } .bsp-board__map { position: relative; inset: auto; height: 220px; margin-top: 1.5rem; } }

.bsp-board__office {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 1.2rem 1.25rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--bsp-fg);
  box-shadow: 0 20px 40px -20px rgba(0, 0, 0, 0.45);
  transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.bsp-board__office:hover { transform: translateY(-4px); }
.bsp-board__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.bsp-board__city { font: 700 0.75rem/1 var(--bsp-sans); letter-spacing: 0.14em; text-transform: uppercase; color: var(--bsp-dim); }
.bsp-board__status { display: inline-flex; align-items: center; gap: 6px; font-size: 0.75rem; font-weight: 600; color: var(--bsp-dim); }
.bsp-board__status i { width: 8px; height: 8px; border-radius: 50%; background: #c8ccd3; }
.bsp-board__office.is-open .bsp-board__status { color: #1f8a4c; }
.bsp-board__office.is-open .bsp-board__status i { background: #2bb466; box-shadow: 0 0 0 0 rgba(43, 180, 102, 0.6); animation: bsp-live 1.8s ease-out infinite; }
@keyframes bsp-live { 70% { box-shadow: 0 0 0 8px rgba(43, 180, 102, 0); } 100% { box-shadow: 0 0 0 0 rgba(43, 180, 102, 0); } }
.bsp-board__name { margin: 0.2rem 0 0; font: 700 1.05rem/1.25 var(--bsp-sans); color: var(--bsp-fg); }
.bsp-board__clock { font: 700 2.1rem/1 var(--bsp-sans); font-variant-numeric: tabular-nums; letter-spacing: -0.02em; color: var(--bsp-fg); }
.bsp-board__addr { font-style: normal; font-size: 0.82rem; line-height: 1.45; color: var(--bsp-dim); }
.bsp-board__actions { display: grid; gap: 4px; margin-top: auto; padding-top: 0.6rem; border-top: 1px solid var(--bsp-line); }
.bsp-board__actions a { font-size: 0.82rem; font-weight: 600; color: var(--bsp-fg) !important; text-decoration: none; word-break: break-all; }
.bsp-board__actions a:hover { color: var(--bsp-amber) !important; }
@media (prefers-reduced-motion: reduce) { .bsp-board__pin .bsp-map__pulse, .bsp-board__office.is-open .bsp-board__status i { animation: none; } }

.bsp-board + .bsp-block--lift { margin-top: 0; padding-top: clamp(3rem, 7vw, 5rem); }

/* =========================================================
   Tır simülasyonu (Hizmetlerimiz) — scroll ile sabitlenen bölüm
   ========================================================= */
.bsp-sim { --mix: 0; position: relative; height: 520svh; margin: clamp(2rem, 5vw, 4rem) 0; }
.bsp-sim__sticky {
  position: sticky;
  top: calc(var(--bsp-header-h) + 8px);
  height: calc(100svh - var(--bsp-header-h) - 24px);
  margin: 0 16px;
  border-radius: 28px;
  overflow: hidden;
  isolation: isolate;
  background: #0c1a2e;
  color: #f4f6f9;
}
.bsp-sim__poster,
.bsp-sim__canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.bsp-sim__poster { object-fit: cover; z-index: -2; }
.bsp-sim__canvas { z-index: -1; opacity: 0; transition: opacity 0.5s; }
.bsp-sim.is-live .bsp-sim__canvas { opacity: 1; }
.bsp-sim__sticky::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(12, 26, 46, 0.55), transparent 28%), linear-gradient(0deg, rgba(12, 26, 46, 0.5), transparent 25%);
}

.bsp-sim__head { position: absolute; left: clamp(1.25rem, 3vw, 2.5rem); top: clamp(1.25rem, 3vw, 2.25rem); max-width: 560px; }
.bsp-sim .bsp-kicker { color: #7fd1f7; }
.bsp-sim__title { margin: 0; font: 700 clamp(1.7rem, 3.4vw, 2.9rem)/1.05 var(--bsp-sans); letter-spacing: -0.02em; color: #fff; text-shadow: 0 2px 20px rgba(0, 0, 0, 0.35); }

.bsp-sim__steps {
  position: absolute;
  right: clamp(1rem, 2.5vw, 2rem);
  top: 50%;
  width: min(380px, 40%);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
  transform: translateY(-50%) translateX(calc((1 - var(--mix)) * 40px));
  opacity: var(--mix);
  transition: opacity 0.2s;
}
.bsp-sim__step {
  --f: 0;
  position: relative;
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  padding: 0.9rem 1rem;
  border-radius: 16px;
  background: rgba(12, 26, 46, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  overflow: hidden;
  transition: background 0.35s, border-color 0.35s, transform 0.35s;
}
.bsp-sim__step h3 { margin: 0 0 0.2rem; font: 700 0.8rem/1 var(--bsp-sans); letter-spacing: 0.16em; color: #7fd1f7; }
.bsp-sim__step p { margin: 0; font-size: 0.92rem; line-height: 1.45; color: rgba(244, 246, 249, 0.75); }
.bsp-sim__no { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.25); font: 700 0.85rem/1 var(--bsp-sans); }
.bsp-sim__fill { position: absolute; left: 0; bottom: 0; height: 2px; width: 100%; background: #7fd0ef; transform-origin: left; transform: scaleX(var(--f)); }
.bsp-sim__step.is-active { background: rgba(255, 255, 255, 0.95); border-color: #fff; transform: translateX(-8px); }
.bsp-sim__step.is-active p { color: var(--bsp-fg); }
.bsp-sim__step.is-active h3 { color: var(--bsp-amber); }
.bsp-sim__step.is-active .bsp-sim__no { background: var(--bsp-fg); color: #fff; border-color: var(--bsp-fg); }
.bsp-sim__step.is-done .bsp-sim__no { background: #2bb466; border-color: #2bb466; color: #fff; }
.bsp-sim__step.is-done .bsp-sim__no::before { content: '✓'; }
.bsp-sim__step.is-done .bsp-sim__no { font-size: 0; }
.bsp-sim__step.is-done .bsp-sim__no::before { font-size: 1rem; }

.bsp-sim__docs { display: flex; gap: 6px; margin-top: 0.6rem; }
.bsp-sim__docs b {
  padding: 0.25rem 0.55rem;
  border-radius: 8px;
  border: 1px solid rgba(20, 36, 58, 0.18);
  font: 700 0.72rem/1 var(--bsp-sans);
  letter-spacing: 0.06em;
  color: var(--bsp-dim);
  background: linear-gradient(90deg, rgba(43, 180, 102, 0.22) calc(var(--f, 0) * 400% - var(--k, 0) * 100%), transparent 0);
}
.bsp-sim__step .bsp-sim__docs b:nth-child(1) { --k: 0; }
.bsp-sim__step .bsp-sim__docs b:nth-child(2) { --k: 1; }
.bsp-sim__step .bsp-sim__docs b:nth-child(3) { --k: 2; }
.bsp-sim__step .bsp-sim__docs b:nth-child(4) { --k: 3; }

.bsp-sim__end {
  position: absolute;
  left: 50%;
  bottom: clamp(2rem, 6vw, 4rem);
  transform: translate(-50%, 20px);
  width: min(720px, 90%);
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s, transform 0.5s;
}
.bsp-sim.is-end .bsp-sim__end { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.bsp-sim__claim { margin: 0 0 1rem; font: 700 clamp(1.3rem, 2.6vw, 2rem)/1.2 var(--bsp-sans); color: #fff; text-shadow: 0 2px 20px rgba(0, 0, 0, 0.5); }

.bsp-sim__meter { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255, 255, 255, 0.1); }
.bsp-sim__meter i { display: block; height: 100%; background: linear-gradient(90deg, #7fd0ef, #7fd1f7); transform-origin: left; transform: scaleX(0); }
.bsp-sim .bsp-hero__ai { position: absolute; right: 16px; top: 12px; bottom: auto; }

@media (max-width: 760px) {
  .bsp-sim { height: 600svh; }
  .bsp-sim__steps { left: 12px; right: 12px; width: auto; top: auto; bottom: 16px; transform: translateY(calc((1 - var(--mix)) * 30px)); }
  .bsp-sim__step:not(.is-active) { display: none; }
  .bsp-sim__step.is-active { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .bsp-sim { height: auto; }
  .bsp-sim__sticky { position: relative; height: 80svh; }
  .bsp-sim__steps { opacity: 1; transform: translateY(-50%); }
}

/* Hizmet seçici: sekme değişiminde çizgisel geçiş (tarama → teknik çizim → gerçek görüntü) */
.bsp-sel__line {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  pointer-events: none;
  clip-path: inset(0 100% 0 0);
}
.bsp-sel__line.is-scan { animation: bsp-line-scan 1.6s cubic-bezier(0.6, 0, 0.3, 1) forwards; }
@keyframes bsp-line-scan {
  0% { opacity: 1; clip-path: inset(0 100% 0 0); }
  35% { opacity: 1; clip-path: inset(0 0 0 0); }
  55% { opacity: 1; clip-path: inset(0 0 0 0); }
  100% { opacity: 0; clip-path: inset(0 0 0 0); }
}
@media (prefers-reduced-motion: reduce) { .bsp-sel__line { display: none; } }

/* Gerçek video katmanları (akıcı döngü) */
.bsp-sel__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.9s ease;
}
.bsp-sel__video.is-front { opacity: 1; }
video.bsp-hero__canvas { object-fit: cover; }

/* =========================================================
   Denge: iç sayfalar biraz daha derin; footer tüm sitede ortak lacivert
   ========================================================= */
body:not(.home) .site-header,
body:has(.bsp-hero) .site-header {
  background: rgba(231, 238, 243, 0.86);
}
body:not(.home) .site-navigation-dropdown ul.menu { background: var(--bsp-bg); }

/* Kartlar daha belirgin dursun (zemin koyulaştığı için gölge hafif artırıldı). */
body:not(.home) {
  --bsp-shadow: 0 1px 2px rgba(20, 36, 58, 0.06), 0 14px 34px -14px rgba(20, 36, 58, 0.2);
}

/* Ortak footer: ana sayfadaki gibi lacivert. */
body:not(.home) .site-footer {
  background: #14243a;
  color: rgba(238, 243, 249, 0.72);
}
body:not(.home) .site-footer a { color: #eef3f9; }

/* Simülasyon: hologram/uzay evresi */
.bsp-sim__sticky { background: #05080f; }
.bsp-sim.is-space .bsp-sim__sticky::after { opacity: 0.6; }
.bsp-sim__sticky::after { transition: opacity 0.6s; }

/* =========================================================
   Hizmet detay sayfası
   ========================================================= */
.bsp-svc { min-width: 0; }
.bsp-svc__items {
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 14px;
}
.bsp-svc__item {
  position: relative;
  display: grid;
  grid-template-columns: 46px 1fr;
  grid-template-rows: auto 1fr;
  column-gap: 14px;
  padding: 1.25rem 1.3rem;
  background: var(--bsp-panel);
  border-radius: var(--bsp-radius, 18px);
  box-shadow: var(--bsp-shadow, none);
  transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s;
}
.bsp-svc__item:hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(20, 36, 58, 0.06), 0 22px 44px -16px rgba(20, 36, 58, 0.24); }
.bsp-svc__icon {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: linear-gradient(140deg, rgba(0, 137, 204, 0.16), rgba(43, 126, 163, 0.14));
  color: var(--bsp-amber);
  font-size: 1.1rem;
}
.bsp-svc__no { font: 700 0.72rem/1 var(--bsp-sans); letter-spacing: 0.16em; color: var(--bsp-dim); margin-bottom: 0.35rem; }
.bsp-svc__item p { margin: 0; color: var(--bsp-fg); font-weight: 600; line-height: 1.45; }

.bsp-svc__figure { margin: 0 0 2rem; border-radius: 22px; overflow: hidden; box-shadow: var(--bsp-shadow, none); }
.bsp-svc__figure img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border: 0 !important; border-radius: 0 !important; }

.bsp-svc__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 640px) { .bsp-svc__nav { grid-template-columns: 1fr; } }
.bsp-svc__navlink {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.1rem 1.3rem;
  border-radius: 16px;
  background: var(--bsp-bg-2);
  color: var(--bsp-fg) !important;
  text-decoration: none;
  transition: background 0.2s;
}
.bsp-svc__navlink:hover { background: var(--bsp-panel); }
.bsp-svc__navlink small { color: var(--bsp-amber); font-weight: 600; }
.bsp-svc__navlink b { font-size: 0.92rem; line-height: 1.3; }
.bsp-svc__navlink--next { text-align: right; }

/* Hizmet maddeleri: editoryal liste (kutu yok, tam genişlik satırlar) */
.bsp-svc__items {
  display: block;
  margin: 0 0 2.5rem;
  border-top: 1px solid var(--bsp-line);
}
.bsp-svc__item {
  display: grid;
  grid-template-columns: 72px 1fr;
  grid-template-rows: auto;
  align-items: start;
  column-gap: clamp(1rem, 3vw, 2rem);
  padding: clamp(1.1rem, 2.4vw, 1.6rem) 0.25rem;
  background: none;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 1px solid var(--bsp-line);
  transition: background 0.3s, padding 0.3s;
}
.bsp-svc__item:hover {
  transform: none;
  box-shadow: none;
  background: linear-gradient(90deg, rgba(0, 137, 204, 0.07), transparent 70%);
  padding-left: 0.75rem;
}
.bsp-svc__icon { display: none; }
.bsp-svc__no {
  grid-row: 1;
  margin: 0.15rem 0 0;
  font: 700 clamp(1.6rem, 3vw, 2.2rem)/1 var(--bsp-sans);
  letter-spacing: -0.02em;
  color: var(--bsp-amber);
  font-variant-numeric: tabular-nums;
}
.bsp-svc__item p {
  grid-column: 2;
  grid-row: 1;
  max-width: 62ch;
  font: 600 clamp(1.02rem, 1.5vw, 1.18rem)/1.55 var(--bsp-sans);
  color: var(--bsp-fg);
}

/* Tek madde: büyük açıklama cümlesi */
.bsp-svc__items:has(> .bsp-svc__item:only-child) { border-top: 0; }
.bsp-svc__item:only-child {
  grid-template-columns: 1fr;
  padding: 0 0 clamp(1.5rem, 3vw, 2.25rem);
  border-bottom: 0;
}
.bsp-svc__item:only-child:hover { background: none; padding-left: 0; }
.bsp-svc__item:only-child .bsp-svc__no { display: none; }
.bsp-svc__item:only-child p {
  grid-column: 1;
  max-width: 36ch;
  position: relative;
  padding-left: 1.4rem;
  font: 600 clamp(1.45rem, 2.8vw, 2.1rem)/1.35 var(--bsp-sans);
  letter-spacing: -0.01em;
}
.bsp-svc__item:only-child p::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.35em;
  bottom: 0.35em;
  width: 4px;
  border-radius: 4px;
  background: linear-gradient(180deg, var(--bsp-amber), var(--bsp-cyan));
}
@media (max-width: 560px) {
  .bsp-svc__item { grid-template-columns: 48px 1fr; }
}

/* Hizmet videosu göstergesi (kartlar kaldırıldı): ince çubuklar + aktif hizmetin adı */
.bsp-sel__tabs--mini {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  max-width: 720px;
}
.bsp-sel__tabs--mini .bsp-sel__tab {
  min-height: 0;
  padding: 0 0 12px;
  border: 0;
  border-radius: 0;
  background: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  cursor: default;
  gap: 4px;
  transform: none !important;
}
.bsp-sel__tabs--mini .bsp-sel__tab.is-active { background: none; color: #fff; }
.bsp-sel__tabs--mini .bsp-sel__no {
  width: auto;
  height: auto;
  background: none !important;
  font: 700 0.72rem/1 var(--bsp-sans);
  letter-spacing: 0.16em;
  color: rgba(244, 246, 249, 0.6) !important;
}
.bsp-sel__tabs--mini .bsp-sel__tab.is-active .bsp-sel__no { color: #7fd1f7 !important; }
.bsp-sel__tabs--mini .bsp-sel__name {
  font: 600 0.78rem/1.3 var(--bsp-sans);
  letter-spacing: 0.04em;
  color: rgba(244, 246, 249, 0.92);
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.4s, transform 0.4s;
}
.bsp-sel__tabs--mini .bsp-sel__tab.is-active .bsp-sel__name { opacity: 1; transform: none; }
.bsp-sel__tabs--mini .bsp-sel__bar { top: auto; bottom: 0; height: 2px; background: #7fd1f7; transform: scaleX(0); }
.bsp-sel__tabs--mini .bsp-sel__tab::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: rgba(244, 246, 249, 0.25);
}
.bsp-sel__tabs--mini .bsp-sel__tab.is-active .bsp-sel__bar { z-index: 1; transform: scaleX(var(--p)); }
@media (max-width: 560px) { .bsp-sel__tabs--mini { grid-template-columns: repeat(4, minmax(0, 1fr)); } .bsp-sel__tabs--mini .bsp-sel__name { display: none; } }
.bsp-sel { min-height: min(74svh, 720px); }

/* =========================================================
   Hizmet noktaları penceresi
   ========================================================= */
.bsp-points {
  width: min(1180px, 94vw);
  max-height: 90vh;
  padding: 0;
  border: 0;
  border-radius: 26px;
  background: var(--bsp-bg);
  color: var(--bsp-fg);
  box-shadow: 0 40px 80px -30px rgba(10, 22, 38, 0.6);
  overflow: hidden;
}
.bsp-points::backdrop { background: rgba(10, 22, 38, 0.6); backdrop-filter: blur(6px); }
.bsp-points[open] { animation: bsp-dlg-in 0.35s cubic-bezier(0.2, 0.8, 0.2, 1); }
@keyframes bsp-dlg-in { from { opacity: 0; transform: translateY(16px) scale(0.98); } }
.bsp-points__panel { display: flex; flex-direction: column; max-height: 90vh; }
.bsp-points__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding: 1.5rem 1.75rem 1rem; }
.bsp-points__head h2 { margin: 0; font: 700 clamp(1.5rem, 3vw, 2.2rem)/1.1 var(--bsp-sans); color: var(--bsp-fg); }
.bsp-points__close { width: 42px; height: 42px; border: 0; border-radius: 50%; background: var(--bsp-panel); color: var(--bsp-fg); font-size: 26px; line-height: 1; cursor: pointer; box-shadow: var(--bsp-shadow, none); }
.bsp-points__body { display: grid; grid-template-columns: minmax(300px, 380px) 1fr; gap: 16px; padding: 0 1.75rem 1.75rem; min-height: 0; flex: 1; }
@media (max-width: 860px) { .bsp-points__body { grid-template-columns: 1fr; overflow-y: auto; } .bsp-points__map { height: 320px; order: -1; } }
.bsp-points__list { list-style: none; margin: 0; padding: 0 4px 0 0; display: grid; gap: 10px; overflow-y: auto; max-height: calc(90vh - 140px); }
.bsp-points__item {
  position: relative;
  display: grid;
  grid-template-columns: 22px 1fr;
  column-gap: 10px;
  width: 100%;
  padding: 1rem 1.1rem 0.75rem;
  border: 1px solid transparent;
  border-radius: 16px 16px 0 0;
  background: var(--bsp-panel);
  color: var(--bsp-fg);
  text-align: left;
  font: inherit;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}
.bsp-points__item:hover { border-color: rgba(0, 137, 204, 0.4); }
.bsp-points__item.is-active { background: #14243a; color: #fff; }
.bsp-points__pin { grid-row: span 3; width: 14px; height: 14px; margin-top: 4px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--bsp-amber); box-shadow: 0 0 0 4px rgba(0, 137, 204, 0.18); }
.bsp-points__item.is-active .bsp-points__pin { background: #7fd1f7; box-shadow: 0 0 0 5px rgba(127, 209, 247, 0.25); }
.bsp-points__city { font: 700 0.7rem/1 var(--bsp-sans); letter-spacing: 0.14em; text-transform: uppercase; color: var(--bsp-dim); }
.bsp-points__item.is-active .bsp-points__city { color: rgba(255, 255, 255, 0.65); }
.bsp-points__item b { margin: 0.35rem 0 0.25rem; font-size: 1.02rem; }
.bsp-points__item address { font-style: normal; font-size: 0.84rem; line-height: 1.45; color: var(--bsp-dim); }
.bsp-points__item.is-active address { color: rgba(255, 255, 255, 0.8); }
.bsp-points__actions { display: flex; flex-wrap: wrap; gap: 4px 14px; padding: 0.6rem 1.1rem 0.8rem 2.95rem; border-radius: 0 0 16px 16px; background: var(--bsp-bg-2); }
.bsp-points__actions a { font-size: 0.8rem; font-weight: 600; color: var(--bsp-fg); text-decoration: none; }
.bsp-points__actions a:hover { color: var(--bsp-amber); }
.bsp-points__map { position: relative; min-height: 420px; border-radius: 20px; overflow: hidden; background: var(--bsp-bg-2); box-shadow: var(--bsp-shadow, none); }
.bsp-points__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: saturate(0.85); }

/* İletişim panosu: pin etiketleri */
.bsp-board__label {
  fill: #f4f6f9;
  font: 700 13px var(--bsp-sans);
  letter-spacing: 0.06em;
  paint-order: stroke;
  stroke: rgba(12, 26, 46, 0.65);
  stroke-width: 4px;
  stroke-linejoin: round;
  transition: fill 0.25s;
}
.bsp-board__cc { fill: #7fd1f7; font-size: 10px; letter-spacing: 0.14em; }
.bsp-board__pin.is-active .bsp-board__label { fill: #fff; }
.bsp-board__pin.is-active .bsp-board__cc { fill: #fff; }

/* Hizmet noktaları: pencere yerine sayfada açık panel */
.bsp-points--inline {
  width: auto;
  max-height: none;
  margin-top: 1.5rem;
  border-radius: 0;
  background: none;
  box-shadow: none;
  overflow: visible;
  animation: none;
}
.bsp-points--inline .bsp-points__body { padding: 0; }
.bsp-points--inline .bsp-points__list { max-height: none; overflow: visible; }
.bsp-points--inline .bsp-points__map { min-height: 520px; }
@media (max-width: 860px) { .bsp-points--inline .bsp-points__map { min-height: 340px; } }

/* Hizmet noktaları: telefon numarası sağda, düz metin */
.bsp-points__actions { align-items: center; }
.bsp-points__actions .bsp-points__tel { margin-left: auto; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--bsp-fg); }
.bsp-points__actions .bsp-points__tel:hover { color: var(--bsp-amber); }

/* Hizmet noktaları: e-posta ve telefon görünür, yan yana; liste haritanın altına taşmasın */
.bsp-points--inline .bsp-points__body { grid-template-columns: minmax(0, 440px) minmax(0, 1fr); }
@media (max-width: 860px) { .bsp-points--inline .bsp-points__body { grid-template-columns: minmax(0, 1fr); } }
.bsp-points__list li,
.bsp-points__item { min-width: 0; }
.bsp-points__item address { overflow-wrap: anywhere; }
.bsp-points__actions { gap: 6px 16px; }
.bsp-points__actions .bsp-points__tel { margin-left: 0; }
.bsp-points__actions .bsp-points__mail,
.bsp-points__actions .bsp-points__tel { font-weight: 700; overflow-wrap: anywhere; }

/* Hizmet noktaları: "Hizmet bölgesi" rozeti (ofis olmayan noktalar) */
.bsp-points__badge {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(0, 137, 204, 0.12);
  color: var(--bsp-amber);
  font: 600 0.68rem/1.4 var(--bsp-sans);
  font-style: normal;
  letter-spacing: 0.06em;
  vertical-align: middle;
}
.bsp-points__item.is-active .bsp-points__badge { background: rgba(127, 209, 247, 0.2); color: #bfe8fb; }

/* Hakkımızda haritası: hizmet bölgesi (Lyon) — ofislerden daha hafif */
.bsp-net__line--region { stroke: var(--bsp-cyan); stroke-width: 1.6; stroke-opacity: 0.75; }
.bsp-net__pt--region circle:not(.bsp-net__ring) { fill: var(--bsp-bg); stroke: var(--bsp-cyan); stroke-width: 2.5; }
.bsp-net__pt--region .bsp-net__ring { stroke: var(--bsp-cyan); }
.bsp-net__pt--region text { fill: var(--bsp-dim); font-size: 18px; }
