/* =========================================================
   BAYRAKTAR VİNÇ — Modern Theme 2026
   Design System | All Components
   ========================================================= */

/* ─── Google Fonts ──────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Inter:wght@300;400;500;600&display=swap');

/* ─── Design Tokens ─────────────────────────────────────── */
:root {
  --primary:        #1A3A6B;
  --primary-dark:   #0F2547;
  --primary-light:  #2855A0;
  --primary-xlight: #EBF2FF;
  --accent:         #E8A020;
  --accent-dark:    #C5831A;
  --white:          #FFFFFF;
  --bg:             #F5F8FC;
  --bg-dark:        #0D1B35;
  --text:           #111827;
  --text-muted:     #6B7280;
  --text-light:     #9CA3AF;
  --border:         #DDE5F0;
  --border-light:   #EEF2F7;
  --shadow-sm:      0 1px 3px rgba(26,58,107,.08), 0 1px 2px rgba(26,58,107,.04);
  --shadow:         0 4px 16px rgba(26,58,107,.10);
  --shadow-lg:      0 12px 40px rgba(26,58,107,.16);
  --radius-sm:      6px;
  --radius:         12px;
  --radius-lg:      20px;
  --radius-xl:      32px;
  --transition:     0.3s cubic-bezier(.4,0,.2,1);
  --container:      1320px;
  --font-head:      'Outfit', sans-serif;
  --font-body:      'Inter', sans-serif;
}

/* ─── Reset & Base ──────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--text);
  background: var(--white);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* SVG filter tanımları body'de boşluk yaratmasın */
body > svg { display: none !important; }

img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color var(--transition); }
ul { list-style: none; }
button { cursor: pointer; font-family: inherit; border: none; background: none; }
input, textarea, select { font-family: inherit; }

/* ─── Container ─────────────────────────────────────────── */
.bv-container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}

/* ─── Typography ────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-head);
  font-weight: 700;
  line-height: 1.2;
  color: var(--text);
}

.bv-eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 12px;
}

.bv-section-title {
  font-family: var(--font-head);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 800;
  color: var(--primary-dark);
  line-height: 1.15;
}

.bv-section-title span { color: var(--primary); }

.bv-section-subtitle {
  font-size: 1.05rem;
  color: var(--text-muted);
  margin-top: 12px;
  max-width: 560px;
}

/* ─── Section Layout ────────────────────────────────────── */
.bv-section { padding: 90px 0; }
.bv-section-sm { padding: 60px 0; }
.bv-section-lg { padding: 120px 0; }
.bv-bg { background: var(--bg); }
.bv-bg-dark { background: var(--bg-dark); color: var(--white); }
.bv-bg-primary { background: var(--primary); color: var(--white); }

.bv-section-head { margin-bottom: 56px; }
.bv-section-head.center { text-align: center; }
.bv-section-head.center .bv-section-subtitle { margin: 12px auto 0; }

/* ─── Buttons ───────────────────────────────────────────── */
.bv-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1;
  transition: all var(--transition);
  white-space: nowrap;
}

.bv-btn-primary {
  background: var(--primary);
  color: var(--white);
  border: 2px solid var(--primary);
}
.bv-btn-primary:hover {
  background: var(--primary-dark);
  border-color: var(--primary-dark);
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

.bv-btn-accent {
  background: var(--accent);
  color: var(--white);
  border: 2px solid var(--accent);
}
.bv-btn-accent:hover {
  background: var(--accent-dark);
  border-color: var(--accent-dark);
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(232,160,32,.35);
}

.bv-btn-outline {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255,255,255,.6);
}
.bv-btn-outline:hover {
  background: rgba(255,255,255,.15);
  border-color: var(--white);
  color: var(--white);
}

.bv-btn-outline-primary {
  background: transparent;
  color: var(--primary);
  border: 2px solid var(--primary);
}
.bv-btn-outline-primary:hover {
  background: var(--primary);
  color: var(--white);
  transform: translateY(-2px);
}

.bv-btn-lg { padding: 16px 36px; font-size: 1rem; }
.bv-btn-sm { padding: 9px 20px; font-size: .875rem; }

.bv-btn svg { width: 18px; height: 18px; flex-shrink: 0; }

/* ─── Breadcrumb ────────────────────────────────────────── */
.bv-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .875rem;
  color: rgba(255,255,255,.7);
  margin-bottom: 16px;
}
.bv-breadcrumb a { color: rgba(255,255,255,.7); }
.bv-breadcrumb a:hover { color: var(--white); }
.bv-breadcrumb-sep { font-size: .75rem; }
.bv-breadcrumb span { color: var(--white); }

/* ─── Page Hero (inner pages) ───────────────────────────── */
.bv-page-hero {
  position: relative;
  background: var(--primary-dark);
  min-height: 320px;
  display: flex;
  align-items: flex-end;
  padding: 80px 0 56px;
  overflow: hidden;
}

.bv-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
  opacity: .95;
  z-index: 1;
}

.bv-page-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 0;
}

.bv-page-hero-content {
  position: relative;
  z-index: 2;
}

.bv-page-hero h1 {
  font-family: var(--font-head);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.1;
}

.bv-page-hero-pattern {
  position: absolute;
  right: -60px;
  top: -60px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  border: 60px solid rgba(255,255,255,.04);
  z-index: 1;
}
.bv-page-hero-pattern2 {
  position: absolute;
  right: 80px;
  bottom: -100px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  border: 40px solid rgba(255,255,255,.04);
  z-index: 1;
}

/* ─── NAVBAR ────────────────────────────────────────────── */
#bv-navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  /* No vertical padding here — topbar must sit flush at top */
  transition: background var(--transition), box-shadow var(--transition);
  padding: 0;
}

#bv-navbar.transparent {
  background: transparent;
}

/* Mobilde transparent navbar: video yüklenene kadar üst alan dark görsün */
@media (max-width: 768px) {
  #bv-navbar.transparent {
    background: linear-gradient(to bottom, rgba(5,14,40,.7) 0%, transparent 100%);
  }
}

#bv-navbar.scrolled,
#bv-navbar.solid {
  background: var(--white);
  box-shadow: 0 2px 20px rgba(26,58,107,.10);
}

/* Padding lives on the nav row, not on the navbar wrapper */
#bv-navbar > .bv-container {
  padding-top: 18px;
  padding-bottom: 18px;
  transition: padding var(--transition);
}
#bv-navbar.scrolled > .bv-container,
#bv-navbar.solid    > .bv-container {
  padding-top: 10px;
  padding-bottom: 10px;
}

.bv-navbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

/* Logo */
.bv-navbar-logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.bv-navbar-logo img {
  height: 44px;
  width: auto;
  max-width: 200px;
  /* Beyaz logo — hero üzerinde doğal görünür */
  filter: none;
  transition: height var(--transition), filter var(--transition);
}

/* Scroll sonrası beyaz arka plan → logoyu koyu yap */
#bv-navbar.scrolled .bv-navbar-logo img,
#bv-navbar.solid .bv-navbar-logo img {
  height: 38px;
  /* White logo → primary navy rengi (#1A3A6B) */
  filter: brightness(0) saturate(100%)
          invert(18%) sepia(60%) saturate(700%)
          hue-rotate(196deg) brightness(82%) contrast(105%);
}

/* Nav links */
.bv-navbar-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
  justify-content: center;
}

.bv-nav-item { position: relative; }

.bv-nav-link {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 14px;
  font-size: .9rem;
  font-weight: 500;
  border-radius: var(--radius-sm);
  transition: all var(--transition);
  white-space: nowrap;
  color: rgba(255,255,255,.85);
}

#bv-navbar.scrolled .bv-nav-link,
#bv-navbar.solid .bv-nav-link {
  color: var(--text);
}

.bv-nav-link:hover,
.bv-nav-link.active {
  color: var(--primary);
  background: var(--primary-xlight);
}

#bv-navbar.transparent .bv-nav-link:hover,
#bv-navbar.transparent .bv-nav-link.active {
  color: var(--white);
  background: rgba(255,255,255,.15);
}

.bv-nav-link svg {
  width: 14px;
  height: 14px;
  transition: transform var(--transition);
  flex-shrink: 0;
}
.bv-nav-item:hover .bv-nav-link svg { transform: rotate(180deg); }

/* Dropdown */
.bv-dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  min-width: 220px;
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--border-light);
  padding: 8px;
  /* Üstte görünmez köprü — fare nav-link ile dropdown arası geçişte kapanmıyor */
  padding-top: 16px;
  margin-top: -8px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
  pointer-events: none;
}

/* Görünmez köprü (gap'in üzerini kapatır) */
.bv-dropdown::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 16px;
}

.bv-nav-item:hover .bv-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

.bv-dropdown a {
  display: block;
  padding: 9px 14px;
  font-size: .875rem;
  font-weight: 500;
  color: var(--text);
  border-radius: var(--radius-sm);
  transition: background var(--transition), color var(--transition), padding-left var(--transition);
}
.bv-dropdown a:first-child { margin-top: 0; }
.bv-dropdown a:hover {
  background: var(--primary-xlight);
  color: var(--primary);
  padding-left: 20px;
}

/* Navbar right */
.bv-navbar-right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  min-width: 0;
}

.bv-navbar-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .875rem;
  font-weight: 600;
  color: rgba(255,255,255,.9);
  transition: color var(--transition);
}

#bv-navbar.scrolled .bv-navbar-phone,
#bv-navbar.solid .bv-navbar-phone { color: var(--primary); }
.bv-navbar-phone:hover { color: var(--accent) !important; }

.bv-navbar-phone svg { width: 16px; height: 16px; flex-shrink: 0; }


/* Hamburger */
.bv-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 6px;
  cursor: pointer;
}
.bv-hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--white);
  border-radius: 2px;
  transition: all var(--transition);
}
#bv-navbar.scrolled .bv-hamburger span,
#bv-navbar.solid .bv-hamburger span { background: var(--text); }

.bv-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.bv-hamburger.open span:nth-child(2) { opacity: 0; }
.bv-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile menu */
.bv-mobile-menu {
  position: fixed;
  top: 0;
  right: 0;
  width: min(360px, 100vw);
  height: 100dvh;
  background: var(--white);
  z-index: 1100;
  transform: translateX(100%);
  transition: transform .4s cubic-bezier(.4,0,.2,1);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  padding: 24px;
  box-shadow: -8px 0 40px rgba(0,0,0,.15);
}
.bv-mobile-menu.open { transform: translateX(0); }

.bv-mobile-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
}
.bv-mobile-menu-header img { height: 36px; }

.bv-mobile-close {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--bg);
  font-size: 1.2rem;
  cursor: pointer;
  transition: all var(--transition);
}
.bv-mobile-close:hover { background: var(--primary); color: var(--white); }

.bv-mobile-nav { display: flex; flex-direction: column; gap: 2px; flex: 1; }

.bv-mobile-nav-item {
  font-size: 1rem;
  font-weight: 600;
  color: var(--text);
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: all var(--transition);
  cursor: pointer;
}
.bv-mobile-nav-item:hover { background: var(--primary-xlight); color: var(--primary); }
.bv-mobile-nav-item svg { width: 16px; height: 16px; transition: transform var(--transition); }
.bv-mobile-nav-item.open svg { transform: rotate(180deg); }

.bv-mobile-submenu {
  display: none;
  padding-left: 16px;
  margin-bottom: 4px;
}
.bv-mobile-submenu.open { display: block; }
.bv-mobile-submenu a {
  display: block;
  padding: 9px 16px;
  font-size: .9rem;
  color: var(--text-muted);
  border-radius: var(--radius-sm);
  transition: all var(--transition);
}
.bv-mobile-submenu a:hover { color: var(--primary); background: var(--primary-xlight); }

.bv-mobile-contact {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--border-light);
}
.bv-mobile-contact p {
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 600;
  color: var(--text-muted);
  margin-bottom: 12px;
}
.bv-mobile-contact a {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .9375rem;
  font-weight: 600;
  color: var(--primary);
  padding: 8px 0;
}
.bv-mobile-contact a svg { width: 18px; height: 18px; }

.bv-mobile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 1050;
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition);
}
.bv-mobile-overlay.open { opacity: 1; visibility: visible; }

/* ─── HOMEPAGE HERO ─────────────────────────────────────── */
.bv-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.bv-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.bv-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(10,25,55,.85) 0%,
    rgba(26,58,107,.60) 60%,
    rgba(26,58,107,.30) 100%
  );
  z-index: 1;
}

.bv-hero-content {
  position: relative;
  z-index: 2;
  max-width: 720px;
}

.bv-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 100px;
  padding: 6px 16px;
  font-size: .8125rem;
  font-weight: 600;
  color: rgba(255,255,255,.9);
  margin-bottom: 24px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.bv-hero-badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
  animation: pulse-dot 2s infinite;
}

@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .5; transform: scale(.8); }
}

.bv-hero h1 {
  font-family: var(--font-head);
  font-size: clamp(2.5rem, 5.5vw, 4.5rem);
  font-weight: 900;
  color: var(--white);
  line-height: 1.05;
  margin-bottom: 20px;
}

.bv-hero h1 span {
  color: var(--accent);
}

.bv-hero-desc {
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  color: rgba(255,255,255,.8);
  margin-bottom: 36px;
  max-width: 560px;
  line-height: 1.7;
}

.bv-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 48px;
}

.bv-hero-scroll {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.6);
  font-size: .75rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color var(--transition);
}
.bv-hero-scroll:hover { color: var(--white); }

.bv-scroll-line {
  width: 1px;
  height: 40px;
  background: rgba(255,255,255,.3);
  position: relative;
  overflow: hidden;
}
.bv-scroll-line::after {
  content: '';
  position: absolute;
  top: -100%;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,.8);
  animation: scroll-line 1.6s infinite;
}
@keyframes scroll-line {
  0% { top: -100%; }
  100% { top: 100%; }
}

/* ─── STATS BAR ─────────────────────────────────────────── */
.bv-stats-bar {
  background: var(--white);
  box-shadow: var(--shadow-lg);
  position: relative;
  z-index: 3;
  padding: 0;
  margin-top: -1px;
}

.bv-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.bv-stat-item {
  padding: 32px 24px;
  text-align: center;
  border-right: 1px solid var(--border-light);
  position: relative;
}
.bv-stat-item:last-child { border-right: none; }

.bv-stat-item::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 3px;
  background: var(--primary);
  border-radius: 2px 2px 0 0;
  transition: width .4s ease;
}
.bv-stat-item:hover::before { width: 60px; }

.bv-stat-number {
  font-family: var(--font-head);
  font-size: clamp(1.75rem, 2.5vw, 2.5rem);
  font-weight: 800;
  color: var(--primary);
  line-height: 1;
  display: block;
}

.bv-stat-label {
  font-size: .85rem;
  color: var(--text-muted);
  margin-top: 6px;
  font-weight: 500;
}

/* ─── SERVICE CARDS ─────────────────────────────────────── */
.bv-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.bv-service-card {
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all .35s cubic-bezier(.4,0,.2,1);
  position: relative;
  display: flex;
  flex-direction: column;
}
.bv-service-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
  border-color: var(--primary);
}

.bv-service-card-img {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
}
.bv-service-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.bv-service-card:hover .bv-service-card-img img { transform: scale(1.06); }

.bv-service-card-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10,25,55,.6) 0%, transparent 50%);
  pointer-events: none;
}

.bv-service-card-body {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.bv-service-card-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--radius);
  background: var(--primary-xlight);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  transition: all var(--transition);
}
.bv-service-card:hover .bv-service-card-icon {
  background: var(--primary);
}
.bv-service-card-icon svg {
  width: 24px;
  height: 24px;
  color: var(--primary);
  transition: color var(--transition);
}
.bv-service-card:hover .bv-service-card-icon svg { color: var(--white); }

.bv-service-card h3 {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--text);
  transition: color var(--transition);
}
.bv-service-card:hover h3 { color: var(--primary); }

.bv-service-card p {
  font-size: .875rem;
  color: var(--text-muted);
  line-height: 1.6;
  flex: 1;
}

.bv-service-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .875rem;
  font-weight: 600;
  color: var(--primary);
  margin-top: 16px;
  transition: gap var(--transition);
}
.bv-service-card-link svg { width: 16px; height: 16px; }
.bv-service-card-link:hover { gap: 10px; color: var(--primary-light); }

/* ─── ABOUT SECTION ─────────────────────────────────────── */
.bv-about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.bv-about-images {
  position: relative;
}

.bv-about-img-main {
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: var(--shadow-lg);
}
.bv-about-img-main img { width: 100%; height: 100%; object-fit: cover; }

.bv-about-img-accent {
  position: absolute;
  bottom: -28px;
  right: -28px;
  width: 200px;
  aspect-ratio: 1;
  border-radius: var(--radius);
  overflow: hidden;
  border: 6px solid var(--white);
  box-shadow: var(--shadow-lg);
}
.bv-about-img-accent img { width: 100%; height: 100%; object-fit: cover; }

.bv-about-badge {
  position: absolute;
  top: 28px;
  left: -20px;
  background: var(--primary);
  color: var(--white);
  padding: 16px 20px;
  border-radius: var(--radius);
  text-align: center;
  box-shadow: var(--shadow-lg);
}
.bv-about-badge-num {
  font-family: var(--font-head);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
  display: block;
}
.bv-about-badge-text { font-size: .75rem; font-weight: 600; opacity: .85; margin-top: 4px; }

.bv-about-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px;
}

.bv-about-feature {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  background: var(--bg);
  border-radius: var(--radius);
  transition: all var(--transition);
}
.bv-about-feature:hover { background: var(--primary-xlight); }

.bv-about-feature-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bv-about-feature-icon svg { width: 20px; height: 20px; color: var(--white); }

.bv-about-feature h4 {
  font-size: .875rem;
  font-weight: 700;
  margin-bottom: 2px;
}
.bv-about-feature p {
  font-size: .8125rem;
  color: var(--text-muted);
  line-height: 1.4;
}

/* ─── REFERENCES SLIDER ─────────────────────────────────── */
.bv-refs-slider { overflow: hidden; }

.bv-ref-item {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 20px 32px;
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius);
  height: 90px;
  filter: grayscale(100%);
  opacity: .6;
  transition: all var(--transition);
  margin: 0 10px;
}
.bv-ref-item:hover { filter: grayscale(0%); opacity: 1; box-shadow: var(--shadow); }
.bv-ref-item img { max-height: 50px; max-width: 140px; object-fit: contain; }

/* ─── NEWS CARDS ────────────────────────────────────────── */
.bv-news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.bv-news-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border-light);
  transition: all .35s ease;
  display: flex;
  flex-direction: column;
}
.bv-news-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--primary);
}

.bv-news-card-img {
  aspect-ratio: 16/9;
  overflow: hidden;
  position: relative;
}
.bv-news-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.bv-news-card:hover .bv-news-card-img img { transform: scale(1.05); }

.bv-news-card-cat {
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--primary);
  color: var(--white);
  font-size: .75rem;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 100px;
}

.bv-news-card-body {
  padding: 22px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.bv-news-card-date {
  font-size: .8rem;
  color: var(--text-light);
  margin-bottom: 8px;
  font-weight: 500;
}

.bv-news-card h3 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 10px;
  flex: 1;
  transition: color var(--transition);
}
.bv-news-card:hover h3 { color: var(--primary); }

.bv-news-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .8125rem;
  font-weight: 600;
  color: var(--primary);
  margin-top: 12px;
}
.bv-news-card-link svg { width: 14px; height: 14px; }
.bv-news-card-link:hover { gap: 10px; }

/* ─── CTA BANNER ────────────────────────────────────────── */
.bv-cta-banner {
  position: relative;
  overflow: hidden;
  padding: 80px 0;
  background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
}

.bv-cta-banner::before {
  content: '';
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  border: 60px solid rgba(255,255,255,.04);
  right: -100px;
  top: -100px;
}
.bv-cta-banner::after {
  content: '';
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  border: 40px solid rgba(255,255,255,.04);
  left: 5%;
  bottom: -80px;
}

.bv-cta-banner-content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}

.bv-cta-banner h2 {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.2;
}
.bv-cta-banner h2 span { color: var(--accent); }

.bv-cta-banner p {
  color: rgba(255,255,255,.75);
  margin-top: 8px;
  font-size: 1rem;
}

.bv-cta-banner-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

/* ─── FOOTER ────────────────────────────────────────────── */
.bv-footer {
  background: var(--bg-dark);
  color: rgba(255,255,255,.75);
}

.bv-footer-top {
  padding: 72px 0 56px;
}

.bv-footer-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1.4fr;
  gap: 48px;
}

.bv-footer-brand img {
  height: 48px;
  width: auto;
  margin-bottom: 20px;
  filter: brightness(0) invert(1);
}

.bv-footer-brand p {
  font-size: .875rem;
  line-height: 1.7;
  color: rgba(255,255,255,.6);
  max-width: 300px;
}

.bv-footer-socials {
  display: flex;
  gap: 10px;
  margin-top: 24px;
}

.bv-footer-social {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition);
  font-size: .9rem;
  color: rgba(255,255,255,.7);
}
.bv-footer-social:hover {
  background: var(--primary);
  color: var(--white);
  transform: translateY(-2px);
}

.bv-footer-col h4 {
  font-family: var(--font-head);
  font-size: .9375rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid rgba(255,255,255,.08);
}

.bv-footer-links { display: flex; flex-direction: column; gap: 8px; }
.bv-footer-links a {
  font-size: .875rem;
  color: rgba(255,255,255,.55);
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all var(--transition);
}
.bv-footer-links a:hover { color: var(--white); padding-left: 4px; }
.bv-footer-links a::before {
  content: '';
  width: 6px;
  height: 1px;
  background: rgba(255,255,255,.3);
  flex-shrink: 0;
  transition: all var(--transition);
}
.bv-footer-links a:hover::before { background: var(--accent); width: 10px; }

.bv-footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}
.bv-footer-contact-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bv-footer-contact-icon svg { width: 16px; height: 16px; color: var(--accent); }
.bv-footer-contact-item p {
  font-size: .875rem;
  color: rgba(255,255,255,.55);
  line-height: 1.5;
}
.bv-footer-contact-item a {
  color: rgba(255,255,255,.7);
  transition: color var(--transition);
}
.bv-footer-contact-item a:hover { color: var(--white); }

.bv-footer-bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 24px 0;
}
.bv-footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.bv-footer-bottom p { font-size: .8125rem; color: rgba(255,255,255,.4); }
.bv-footer-bottom a { color: rgba(255,255,255,.5); font-size: .8125rem; }
.bv-footer-bottom a:hover { color: var(--white); }

.bv-back-top {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .8125rem;
  color: rgba(255,255,255,.5);
  cursor: pointer;
  transition: color var(--transition);
}
.bv-back-top:hover { color: var(--white); }
.bv-back-top svg { width: 16px; height: 16px; }

/* ─── FLOATING BUTTONS ──────────────────────────────────── */
.bv-floats {
  position: fixed;
  bottom: 32px;
  right: 28px;
  z-index: 900;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;
}

.bv-float-btn {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
  transition: all var(--transition);
  position: relative;
}

.bv-float-btn:hover { transform: scale(1.1); }
.bv-float-btn:hover .bv-float-label { opacity: 1; visibility: visible; transform: translateX(0); }

.bv-float-wa {
  background: #25D366;
  color: var(--white);
  width: 58px;
  height: 58px;
}
.bv-float-wa svg { width: 28px; height: 28px; }
.bv-float-wa::before, .bv-float-wa::after {
  content: '';
  position: absolute;
  border: 2px solid #25D366;
  inset: -10px;
  border-radius: 50%;
  animation: bv-pulse 2.5s infinite;
  opacity: 0;
}
.bv-float-wa::after { animation-delay: 1.25s; }
@keyframes bv-pulse {
  0% { transform: scale(.7); opacity: 0; }
  50% { opacity: .5; }
  100% { transform: scale(1.2); opacity: 0; }
}

.bv-float-phone {
  background: var(--primary);
  color: var(--white);
}
.bv-float-phone svg { width: 22px; height: 22px; }

.bv-float-label {
  position: absolute;
  right: calc(100% + 12px);
  background: var(--text);
  color: var(--white);
  padding: 6px 14px;
  border-radius: 6px;
  font-size: .8125rem;
  font-weight: 600;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transform: translateX(8px);
  transition: all var(--transition);
}
.bv-float-label::after {
  content: '';
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-left-color: var(--text);
}

/* ─── PORTFOLIO / PROJECT CARDS ─────────────────────────── */
.bv-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.bv-portfolio-card {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 4/3;
  cursor: pointer;
}

.bv-portfolio-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.bv-portfolio-card:hover img { transform: scale(1.07); }

.bv-portfolio-card-info {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10,25,55,.9) 0%, transparent 50%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
  transform: translateY(12px);
  opacity: 0;
  transition: all var(--transition);
}
.bv-portfolio-card:hover .bv-portfolio-card-info {
  opacity: 1;
  transform: translateY(0);
}

.bv-portfolio-card-info h3 {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--white);
}
.bv-portfolio-card-info span {
  font-size: .8125rem;
  color: rgba(255,255,255,.7);
  margin-top: 4px;
  display: block;
}

/* ─── GALLERY GRID ──────────────────────────────────────── */
.bv-gallery-grid {
  columns: 3;
  column-gap: 16px;
}
.bv-gallery-item {
  break-inside: avoid;
  margin-bottom: 16px;
  border-radius: var(--radius);
  overflow: hidden;
  position: relative;
  cursor: zoom-in;
}
.bv-gallery-item img {
  width: 100%;
  display: block;
  transition: transform .4s ease;
}
.bv-gallery-item:hover img { transform: scale(1.04); }

/* ─── FORM STYLES ───────────────────────────────────────── */
.bv-form-group { margin-bottom: 20px; }
.bv-form-label {
  display: block;
  font-size: .875rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 6px;
}
.bv-form-control {
  width: 100%;
  padding: 12px 16px;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: .9375rem;
  font-family: var(--font-body);
  color: var(--text);
  background: var(--white);
  transition: all var(--transition);
  outline: none;
}
.bv-form-control:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(26,58,107,.10);
}
.bv-form-control::placeholder { color: var(--text-light); }

textarea.bv-form-control {
  resize: vertical;
  min-height: 140px;
}

/* ─── CONTACT PAGE ──────────────────────────────────────── */
.bv-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 40px;
  align-items: start;
}

.bv-contact-info {
  background: var(--primary);
  border-radius: var(--radius-lg);
  padding: 40px;
  color: var(--white);
}
.bv-contact-info h3 {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 8px;
}
.bv-contact-info > p {
  color: rgba(255,255,255,.75);
  margin-bottom: 36px;
  font-size: .9375rem;
}

.bv-contact-info-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
}
.bv-contact-info-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(255,255,255,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bv-contact-info-icon svg { width: 20px; height: 20px; color: var(--white); }
.bv-contact-info-item h4 {
  font-size: .875rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 2px;
}
.bv-contact-info-item p, .bv-contact-info-item a {
  font-size: .875rem;
  color: rgba(255,255,255,.7);
}
.bv-contact-info-item a:hover { color: var(--white); }

.bv-contact-form-card {
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  padding: 40px;
  box-shadow: var(--shadow);
}
.bv-contact-form-card h3 {
  font-size: 1.375rem;
  font-weight: 700;
  margin-bottom: 4px;
}
.bv-contact-form-card > p {
  font-size: .9rem;
  color: var(--text-muted);
  margin-bottom: 28px;
}

/* ─── FAQ ACCORDION ─────────────────────────────────────── */
.bv-faq-list { display: flex; flex-direction: column; gap: 12px; }
.bv-faq-item {
  background: var(--white);
  border: 1.5px solid var(--border-light);
  border-radius: var(--radius);
  overflow: hidden;
  transition: border-color var(--transition);
}
.bv-faq-item.open {
  border-color: var(--primary);
  box-shadow: var(--shadow-sm);
}

.bv-faq-q {
  width: 100%;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  text-align: left;
  font-size: 1rem;
  font-weight: 600;
  color: var(--text);
  cursor: pointer;
  transition: color var(--transition);
}
.bv-faq-item.open .bv-faq-q { color: var(--primary); }
.bv-faq-q-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all var(--transition);
}
.bv-faq-item.open .bv-faq-q-icon {
  background: var(--primary);
  transform: rotate(180deg);
}
.bv-faq-q-icon svg { width: 14px; height: 14px; color: var(--text-muted); }
.bv-faq-item.open .bv-faq-q-icon svg { color: var(--white); }

.bv-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
}
.bv-faq-item.open .bv-faq-a { max-height: 800px; }
.bv-faq-a-inner {
  padding: 0 24px 20px;
  font-size: .9375rem;
  color: var(--text-muted);
  line-height: 1.7;
}

/* ─── NEWS DETAIL ───────────────────────────────────────── */
.bv-news-detail-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
  align-items: start;
}

.bv-news-detail-content {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--text);
}
.bv-news-detail-content h2, .bv-news-detail-content h3 {
  margin: 28px 0 14px;
  font-family: var(--font-head);
  color: var(--primary-dark);
}
.bv-news-detail-content p { margin-bottom: 16px; }
.bv-news-detail-content img {
  width: 100%;
  border-radius: var(--radius-lg);
  margin: 24px 0;
}

.bv-sidebar { display: flex; flex-direction: column; gap: 28px; }
.bv-sidebar-widget {
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.bv-sidebar-widget-head {
  padding: 18px 24px;
  background: var(--bg);
  border-bottom: 1px solid var(--border-light);
  font-size: .9375rem;
  font-weight: 700;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 8px;
}
.bv-sidebar-widget-head svg { width: 18px; height: 18px; color: var(--primary); }
.bv-sidebar-widget-body { padding: 20px 24px; }

/* ─── BREADCRUMB BAR ────────────────────────────────────── */
.bv-breadbar {
  background: var(--bg);
  border-bottom: 1px solid var(--border-light);
  padding: 12px 0;
}
.bv-breadbar-inner {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .8125rem;
  color: var(--text-muted);
}
.bv-breadbar-inner a { color: var(--text-muted); }
.bv-breadbar-inner a:hover { color: var(--primary); }
.bv-breadbar-inner span { color: var(--text); font-weight: 500; }
.bv-breadbar-inner .sep { color: var(--border); }

/* ─── CATALOG CARDS ─────────────────────────────────────── */
.bv-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.bv-catalog-card {
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all .35s ease;
}
.bv-catalog-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }

.bv-catalog-card-img {
  aspect-ratio: 4/3;
  overflow: hidden;
}
.bv-catalog-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.bv-catalog-card:hover .bv-catalog-card-img img { transform: scale(1.05); }

.bv-catalog-card-body { padding: 20px; }
.bv-catalog-card-body h3 { font-size: 1rem; font-weight: 700; margin-bottom: 8px; }
.bv-catalog-card-body p { font-size: .875rem; color: var(--text-muted); line-height: 1.5; }

/* ─── VIDEO CARDS ───────────────────────────────────────── */
.bv-video-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.bv-video-card {
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all .35s ease;
}
.bv-video-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }

.bv-video-card-thumb {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--bg-dark);
}
.bv-video-card-thumb iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.bv-video-card-body { padding: 18px; }
.bv-video-card-body h3 { font-size: .9375rem; font-weight: 700; }

/* ─── UTILITY CLASSES ───────────────────────────────────── */
.bv-text-center { text-align: center; }
.bv-text-white { color: var(--white); }
.bv-mt-8 { margin-top: 8px; }
.bv-mt-16 { margin-top: 16px; }
.bv-mt-24 { margin-top: 24px; }
.bv-mt-32 { margin-top: 32px; }
.bv-mb-0 { margin-bottom: 0; }
.bv-d-flex { display: flex; }
.bv-gap-12 { gap: 12px; }
.bv-align-center { align-items: center; }
.bv-justify-between { justify-content: space-between; }
.bv-flex-wrap { flex-wrap: wrap; }

.bv-divider {
  border: none;
  border-top: 1px solid var(--border-light);
  margin: 40px 0;
}

/* Content from admin (about, news detail) */
.bv-rich-content { font-size: 1rem; line-height: 1.8; color: var(--text); }
.bv-rich-content p { margin-bottom: 16px; }
.bv-rich-content h2, .bv-rich-content h3 { font-family: var(--font-head); color: var(--primary-dark); margin: 28px 0 12px; }
.bv-rich-content ul, .bv-rich-content ol { padding-left: 20px; margin-bottom: 16px; }
.bv-rich-content li { margin-bottom: 6px; }
.bv-rich-content img { max-width: 100%; border-radius: var(--radius); margin: 20px 0; }
.bv-rich-content b, .bv-rich-content strong { color: var(--primary-dark); font-weight: 700; }

/* ─── POPUP / MODAL ─────────────────────────────────────── */
.bv-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.6);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition);
}
.bv-popup-overlay.open { opacity: 1; visibility: visible; }
.bv-popup {
  background: var(--white);
  border-radius: var(--radius-xl);
  max-width: 560px;
  width: 100%;
  position: relative;
  overflow: hidden;
  transform: scale(.9);
  transition: transform var(--transition);
}
.bv-popup-overlay.open .bv-popup { transform: scale(1); }
.bv-popup-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1.2rem;
  transition: all var(--transition);
  z-index: 1;
}
.bv-popup-close:hover { background: var(--primary); color: var(--white); }

/* Cookie bar */
.bv-cookies {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--text);
  color: rgba(255,255,255,.85);
  padding: 18px 24px;
  z-index: 1500;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.bv-cookies p { font-size: .875rem; flex: 1; }
.bv-cookies a { color: var(--accent); }

/* ─── SCROLL REVEAL (Intersection Observer) ─────────────── */
.bv-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .6s ease, transform .6s ease;
}
.bv-reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}
.bv-reveal-delay-1 { transition-delay: .1s; }
.bv-reveal-delay-2 { transition-delay: .2s; }
.bv-reveal-delay-3 { transition-delay: .3s; }
.bv-reveal-delay-4 { transition-delay: .4s; }

/* ─── RESPONSIVE ────────────────────────────────────────── */

/* Tablet: ≤1024px */
@media (max-width: 1024px) {
  .bv-navbar-nav { display: none; }
  .bv-hamburger { display: flex; }
  .bv-navbar-phone .phone-text { display: none; }
  .bv-nav-cta { display: none; }   /* hamburger varken CTA gerekmez */

  .bv-about-grid { grid-template-columns: 1fr; gap: 60px; }
  .bv-about-img-accent { right: 0; bottom: -20px; width: 160px; }
  .bv-about-badge { left: 0; top: 20px; }

  .bv-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .bv-news-grid { grid-template-columns: repeat(2, 1fr); }
  .bv-services-grid { grid-template-columns: repeat(2, 1fr); }
  .bv-portfolio-grid { grid-template-columns: repeat(2, 1fr); }
  .bv-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .bv-stat-item { border-bottom: 1px solid var(--border-light); }
  .bv-catalog-grid { grid-template-columns: repeat(2, 1fr); }
  .bv-video-grid { grid-template-columns: repeat(2, 1fr); }
  .bv-news-detail-grid { grid-template-columns: 1fr; }
  .bv-sidebar { flex-direction: row; flex-wrap: wrap; }
  .bv-sidebar-widget { flex: 1; min-width: 280px; }
}

/* Mobile: ≤768px */
@media (max-width: 768px) {
  .bv-section { padding: 60px 0; }
  .bv-section-lg { padding: 80px 0; }
  .bv-container { padding: 0 16px; }

  /* Topbar mobilde gizle — logo için maksimum alan */
  #bv-topbar { display: none; }

  .bv-navbar-phone { display: none; }
  .bv-navbar-logo img { height: 38px; max-width: 160px; }
  .bv-navbar-inner { gap: 12px; }
  #bv-navbar > .bv-container { padding-top: 12px; padding-bottom: 12px; }

  .bv-hero h1 { font-size: clamp(2rem, 8vw, 3rem); }
  .bv-hero-actions { flex-direction: column; }
  .bv-hero-actions .bv-btn { width: 100%; justify-content: center; }

  .bv-stats-grid { grid-template-columns: repeat(2, 1fr); }

  .bv-services-grid { grid-template-columns: 1fr; }
  .bv-news-grid { grid-template-columns: 1fr; }
  .bv-portfolio-grid { grid-template-columns: 1fr; }
  .bv-catalog-grid { grid-template-columns: 1fr; }
  .bv-video-grid { grid-template-columns: 1fr; }
  .bv-gallery-grid { columns: 2; }

  .bv-about-features { grid-template-columns: 1fr; }

  .bv-contact-grid { grid-template-columns: 1fr; }
  .bv-contact-info { padding: 28px; }
  .bv-contact-form-card { padding: 24px; }

  .bv-cta-banner-content { flex-direction: column; text-align: center; }
  .bv-cta-banner-actions { justify-content: center; }

  .bv-footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .bv-footer-bottom-inner { flex-direction: column; text-align: center; gap: 8px; }

  .bv-page-hero { min-height: 260px; }
  .bv-page-hero-pattern, .bv-page-hero-pattern2 { display: none; }

  .bv-float-label { display: none; }

  .bv-refs-slider .bv-ref-item { padding: 14px 20px; }

  .bv-about-img-accent { display: none; }
}

/* Small mobile: ≤480px */
@media (max-width: 480px) {
  .bv-stats-grid { grid-template-columns: 1fr 1fr; }
  .bv-gallery-grid { columns: 1; }
  .bv-floats { bottom: 20px; right: 16px; }
  .bv-float-btn { width: 46px; height: 46px; }
  .bv-float-wa { width: 52px; height: 52px; }
}

/* ─── SWIPER CUSTOM ─────────────────────────────────────── */
.bv-swiper-nav {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 32px;
}
.bv-swiper-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2px solid var(--border);
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--transition);
  flex-shrink: 0;
}
.bv-swiper-btn:hover { border-color: var(--primary); background: var(--primary); color: var(--white); }
.bv-swiper-btn svg { width: 18px; height: 18px; }
.bv-swiper-progress {
  flex: 1;
  height: 2px;
  background: var(--border-light);
  border-radius: 2px;
  overflow: hidden;
}
.bv-swiper-progress-bar {
  height: 100%;
  background: var(--primary);
  border-radius: 2px;
  transition: width .3s ease;
  width: 0%;
}

/* =========================================================
   PREMIUM HERO V2 — 2026 Redesign
   ========================================================= */

/* ─── Topbar (inside #bv-navbar) ────────────────────────── */
#bv-topbar {
  max-height: 42px;
  padding: 10px 0;
  overflow: hidden;
  background: var(--primary-dark);
  border-bottom: 1px solid rgba(255,255,255,.07);
  transition: max-height .45s cubic-bezier(.4,0,.2,1),
              padding    .45s cubic-bezier(.4,0,.2,1),
              opacity    .3s ease;
}

#bv-navbar.scrolled #bv-topbar,
#bv-navbar.solid    #bv-topbar {
  max-height: 0;
  padding: 0;
  opacity: 0;
}

.bv-topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.bv-topbar-left,
.bv-topbar-right {
  display: flex;
  align-items: center;
  gap: 18px;
}

.bv-topbar-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .775rem;
  color: rgba(255,255,255,.65);
  font-weight: 500;
  letter-spacing: .01em;
  transition: color .2s;
  white-space: nowrap;
}
.bv-topbar-link:hover { color: var(--accent); }
.bv-topbar-link svg { width: 12px; height: 12px; flex-shrink: 0; }

.bv-topbar-divider {
  width: 1px;
  height: 13px;
  background: rgba(255,255,255,.15);
  flex-shrink: 0;
}

.bv-topbar-social {
  display: flex;
  align-items: center;
  gap: 10px;
}

.bv-topbar-social a {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.6);
  font-size: .7rem;
  transition: all .2s;
}
.bv-topbar-social a:hover {
  background: var(--accent);
  color: var(--white);
  transform: translateY(-1px);
}

/* ─── Navbar CTA button ─────────────────────────────────── */
.bv-nav-cta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 20px;
  background: var(--accent);
  color: var(--primary-dark) !important;
  border-radius: 8px;
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: .01em;
  transition: all .25s ease;
  white-space: nowrap;
  flex-shrink: 0;
}
.bv-nav-cta:hover {
  background: var(--accent-dark);
  color: var(--white) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(232,160,32,.4);
}
.bv-nav-cta svg { width: 15px; height: 15px; }

/* ─── HERO V2 — Layout ──────────────────────────────────── */
.bv-hero-v2 {
  flex-direction: column;
  align-items: stretch;
}

/* Cinematic single-column layout */
.bv-hero-v2-layout {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 840px;
  width: 100%;
}

/* Override overlay — cinematic, video breathes */
.bv-hero-v2 .bv-hero-overlay {
  background:
    linear-gradient(to top,  rgba(5,14,40,.98) 0%, rgba(5,14,40,.72) 22%, rgba(5,14,40,.35) 60%, rgba(5,14,40,.10) 100%),
    linear-gradient(to right, rgba(5,14,40,.88) 0%, rgba(5,14,40,.55) 38%, rgba(5,14,40,.15) 75%, transparent 100%);
}

/* Hero body (main content area) */
.bv-hero-v2-body {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  align-items: center;
  padding-top: 136px;
  padding-bottom: 32px;
}

/* ─── Left column ───────────────────────────────────────── */
.bv-hero-v2-left { position: relative; }

/* Animated tag */
.bv-hero-v2-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(255,255,255,.09);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 100px;
  padding: 7px 18px 7px 10px;
  margin-bottom: 28px;
  font-size: .775rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.8);
  animation: heroFadeUp .7s ease .05s both;
}

.bv-hero-v2-tag-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
  flex-shrink: 0;
  animation: pulse-dot 2s infinite;
}

.bv-hero-v2-tag-sep { opacity: .3; margin: 0 2px; }

.bv-hero-v2-tag-rotate {
  color: var(--accent);
  font-weight: 700;
  transition: opacity .28s ease, transform .28s ease;
}
.bv-hero-v2-tag-rotate.bv-fade-out {
  opacity: 0;
  transform: translateY(5px);
}

/* Display headline */
.bv-hero-v2-title {
  font-family: var(--font-head);
  font-size: clamp(2.8rem, 5.5vw, 5rem);
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: #fff;
  margin-bottom: 28px;
  animation: heroFadeUp .75s ease .15s both;
}
.bv-hero-v2-title em {
  font-style: normal;
  color: var(--accent);
  position: relative;
}

/* Description */
.bv-hero-v2-desc {
  font-size: clamp(.95rem, 1.4vw, 1.125rem);
  color: rgba(255,255,255,.68);
  line-height: 1.8;
  max-width: 640px;
  margin-bottom: 42px;
  animation: heroFadeUp .75s ease .25s both;
}

/* CTA row */
.bv-hero-v2-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 36px;
  animation: heroFadeUp .75s ease .35s both;
}

.bv-btn-ghost {
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255,255,255,.45);
  backdrop-filter: blur(6px);
}
.bv-btn-ghost:hover {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.75);
  color: #fff;
  transform: translateY(-2px);
}

/* Trust strip */
.bv-hero-v2-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  animation: heroFadeUp .75s ease .42s both;
}
.bv-hero-v2-trust-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .8rem;
  color: rgba(255,255,255,.55);
  font-weight: 500;
}
.bv-hero-v2-trust-check {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(232,160,32,.18);
  border: 1px solid rgba(232,160,32,.35);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bv-hero-v2-trust-check svg { width: 10px; height: 10px; color: var(--accent); }

/* ─── Right — Glass card ────────────────────────────────── */
.bv-hero-v2-right {
  animation: heroFadeUp .8s ease .2s both;
}

.bv-hero-glass {
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(22px) saturate(160%);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  padding: 28px 24px;
  color: #fff;
}

.bv-hg-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.bv-hg-header-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 8px rgba(232,160,32,.7);
}
.bv-hg-header h3 {
  font-size: 1rem;
  font-weight: 800;
  color: #fff;
  flex: 1;
}
.bv-hg-header span {
  font-size: .7rem;
  color: rgba(255,255,255,.4);
  font-weight: 500;
  letter-spacing: .05em;
  text-transform: uppercase;
}

/* Service list */
.bv-hg-service {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  cursor: pointer;
  transition: all .2s;
  text-decoration: none;
}
.bv-hg-service:last-of-type { border-bottom: none; }
.bv-hg-service:hover { transform: translateX(5px); }

.bv-hg-service-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(255,255,255,.09);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background .2s;
}
.bv-hg-service:hover .bv-hg-service-icon { background: var(--accent); }
.bv-hg-service-icon svg { width: 18px; height: 18px; color: rgba(255,255,255,.8); }

.bv-hg-service-name {
  font-size: .875rem;
  font-weight: 600;
  color: rgba(255,255,255,.82);
  flex: 1;
}

.bv-hg-service-arr {
  font-size: .75rem;
  color: rgba(255,255,255,.25);
  transition: color .2s;
}
.bv-hg-service:hover .bv-hg-service-arr { color: var(--accent); }

/* Glass card CTA */
.bv-hg-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
  padding: 13px 20px;
  background: var(--accent);
  color: var(--primary-dark);
  font-weight: 800;
  font-size: .875rem;
  border-radius: 10px;
  letter-spacing: .01em;
  transition: all .22s;
  text-decoration: none;
}
.bv-hg-cta:hover {
  background: var(--accent-dark);
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(232,160,32,.45);
}
.bv-hg-cta svg { width: 16px; height: 16px; }

/* ─── Stats strip (bottom of hero) ─────────────────────── */
.bv-hero-v2-stats {
  position: relative;
  z-index: 3;
  background: rgba(8,18,50,.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid rgba(255,255,255,.07);
}

.bv-hero-v2-stats-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
}

.bv-hv2-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 22px 16px;
  border-right: 1px solid rgba(255,255,255,.07);
  position: relative;
}
.bv-hv2-stat:last-child { border-right: none; }
.bv-hv2-stat:hover::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.03);
}

.bv-hv2-stat-num {
  display: block;
  font-family: var(--font-head);
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  font-weight: 900;
  color: var(--accent);
  line-height: 1;
  margin-bottom: 5px;
  letter-spacing: -.02em;
}

.bv-hv2-stat-lbl {
  font-size: .72rem;
  color: rgba(255,255,255,.5);
  font-weight: 500;
  letter-spacing: .07em;
  text-transform: uppercase;
  text-align: center;
}

/* ─── Scroll indicator V2 ───────────────────────────────── */
.bv-hero-v2-scroll {
  position: absolute;
  left: 50%;
  bottom: 90px; /* above stats strip */
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  color: rgba(255,255,255,.35);
  font-size: .62rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  font-weight: 600;
  transition: color .2s;
}
.bv-hero-v2-scroll:hover { color: rgba(255,255,255,.7); }

.bv-scroll-v2-bar {
  width: 1.5px;
  height: 44px;
  background: rgba(255,255,255,.12);
  position: relative;
  overflow: hidden;
  border-radius: 2px;
}
.bv-scroll-v2-bar::after {
  content: '';
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to bottom, transparent, var(--accent));
  animation: scroll-v2 2s ease-in-out infinite;
}
@keyframes scroll-v2 {
  0%   { top: -60%; }
  100% { top: 160%; }
}

/* ─── Entrance animations ───────────────────────────────── */
@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ─── Decorative grid lines ─────────────────────────────── */
.bv-hero-v2-grid {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}
.bv-hero-v2-grid span {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(255,255,255,.04) 30%, rgba(255,255,255,.04) 70%, transparent);
}
.bv-hero-v2-grid span:nth-child(1) { left: 25%; }
.bv-hero-v2-grid span:nth-child(2) { left: 50%; }
.bv-hero-v2-grid span:nth-child(3) { left: 75%; }

/* Corner accent */
.bv-hero-v2-corner {
  position: absolute;
  top: 0;
  right: 0;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(26,58,107,.25) 0%, transparent 70%);
  z-index: 1;
  pointer-events: none;
}

/* ─── Responsive ────────────────────────────────────────── */
@media (max-width: 900px) {
  .bv-hero-v2-stats-grid { grid-template-columns: repeat(2,1fr); }
  .bv-hero-v2-scroll { display: none; }
}
@media (max-width: 600px) {
  .bv-hero-v2-body { padding-top: 90px; } /* topbar gizli + nav(62) + buffer */
  .bv-hero-v2-title { font-size: clamp(2.4rem, 11vw, 3.2rem); }
  .bv-hero-v2-desc  { font-size: .95rem; }
  .bv-hero-v2-actions { flex-direction: column; }
  .bv-hero-v2-actions .bv-btn { width: 100%; justify-content: center; }
  .bv-topbar-left .bv-topbar-link:nth-child(n+2) { display: none; }  /* sadece konum göster */
  .bv-topbar-left .bv-topbar-divider { display: none; }
}


/* ═══════════════════════════════════════════════════════════
   SERVICE DETAIL — Premium 2026
   bv-sd-* namespace
   ═══════════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────────── */
.bv-sd-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  background: var(--primary-dark);
}

/* Background image layer */
.bv-sd-hero-img {
  position: absolute;
  inset: 0;
  background-image: var(--bv-hero-img, none);
  background-size: cover;
  background-position: center;
  transform: scale(1.05);
  will-change: transform;
  z-index: 0;
}

/* Multi-layer dark overlay */
.bv-sd-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to right,
      rgba(8,18,40,.96) 0%,
      rgba(8,18,40,.80) 45%,
      rgba(8,18,40,.45) 100%
    ),
    linear-gradient(to top, rgba(8,18,40,.7) 0%, transparent 40%);
  z-index: 1;
}

/* Decorative glow orbs */
.bv-sd-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  pointer-events: none;
  z-index: 1;
}
.bv-sd-orb-1 {
  width: 640px;
  height: 640px;
  background: radial-gradient(circle, rgba(40,85,160,.35) 0%, transparent 70%);
  top: -180px;
  right: -80px;
}
.bv-sd-orb-2 {
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(232,160,32,.12) 0%, transparent 70%);
  bottom: 140px;
  left: -80px;
}

/* Hero inner content */
.bv-sd-hero-inner {
  position: relative;
  z-index: 3;
  padding-top: 180px;
  padding-bottom: 160px;
  max-width: 760px;
}

/* Breadcrumb */
.bv-sd-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 28px;
  font-size: .8125rem;
  color: rgba(255,255,255,.45);
}
.bv-sd-breadcrumb a {
  color: rgba(255,255,255,.45);
  transition: color var(--transition);
}
.bv-sd-breadcrumb a:hover { color: rgba(255,255,255,.85); }
.bv-sd-breadcrumb svg { width: 12px; height: 12px; flex-shrink: 0; }
.bv-sd-breadcrumb span { color: rgba(255,255,255,.8); }

/* Badge pill */
.bv-sd-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(12px);
  color: rgba(255,255,255,.8);
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 7px 16px;
  border-radius: 100px;
  margin-bottom: 22px;
}
.bv-sd-badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
  animation: bvSDPulse 2s infinite;
}
@keyframes bvSDPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: .5; transform: scale(1.4); }
}

/* Title */
.bv-sd-hero-title {
  font-family: var(--font-head);
  font-size: clamp(2.5rem, 5.5vw, 4.25rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.06;
  letter-spacing: -.025em;
  margin-bottom: 20px;
}

/* Subtitle */
.bv-sd-hero-sub {
  font-size: clamp(.9375rem, 1.4vw, 1.0625rem);
  color: rgba(255,255,255,.6);
  line-height: 1.75;
  margin-bottom: 36px;
  max-width: 540px;
}

/* Hero CTA buttons */
.bv-sd-hero-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.bv-sd-hero-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--accent);
  color: var(--primary-dark);
  font-weight: 800;
  font-size: 1rem;
  padding: 15px 32px;
  border-radius: 10px;
  transition: all var(--transition);
}
.bv-sd-hero-btn-primary:hover {
  background: var(--accent-dark);
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(232,160,32,.4);
}
.bv-sd-hero-btn-primary svg { width: 18px; height: 18px; }

.bv-sd-hero-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(255,255,255,.08);
  border: 1.5px solid rgba(255,255,255,.22);
  color: var(--white);
  font-weight: 600;
  font-size: .9375rem;
  padding: 14px 28px;
  border-radius: 10px;
  backdrop-filter: blur(8px);
  transition: all var(--transition);
}
.bv-sd-hero-btn-secondary:hover {
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.45);
  transform: translateY(-2px);
}
.bv-sd-hero-btn-secondary svg { width: 16px; height: 16px; }

/* Scroll hint */
.bv-sd-scroll-hint {
  position: absolute;
  bottom: 120px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.35);
  font-size: .625rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.bv-sd-scroll-mouse {
  width: 22px;
  height: 34px;
  border: 1.5px solid rgba(255,255,255,.25);
  border-radius: 100px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 6px;
}
.bv-sd-scroll-wheel {
  width: 3px;
  height: 7px;
  background: rgba(255,255,255,.5);
  border-radius: 2px;
  animation: bvSDScroll 2.2s infinite;
}
@keyframes bvSDScroll {
  0%   { transform: translateY(0); opacity: 1; }
  80%  { transform: translateY(9px); opacity: 0; }
  100% { transform: translateY(0); opacity: 0; }
}

/* Stats bar */
.bv-sd-stats-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 4;
  background: rgba(255,255,255,.055);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(255,255,255,.09);
}
.bv-sd-stats-inner {
  display: flex;
  align-items: center;
  justify-content: center;
}
.bv-sd-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 22px 52px;
}
.bv-sd-stat strong {
  font-family: var(--font-head);
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--accent);
  line-height: 1;
}
.bv-sd-stat strong span { font-size: 1.25rem; }
.bv-sd-stat > span {
  font-size: .6875rem;
  color: rgba(255,255,255,.5);
  white-space: nowrap;
  letter-spacing: .04em;
}
.bv-sd-stat-sep {
  width: 1px;
  height: 36px;
  background: rgba(255,255,255,.1);
  flex-shrink: 0;
}

/* ── Features Strip ───────────────────────────────────────── */
.bv-sd-features-strip {
  background: var(--primary-dark);
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.bv-sd-features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.bv-sd-feat {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 30px 24px;
  border-right: 1px solid rgba(255,255,255,.06);
  transition: background var(--transition);
}
.bv-sd-feat:last-child { border-right: none; }
.bv-sd-feat:hover { background: rgba(255,255,255,.04); }

.bv-sd-feat-icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--accent);
  transition: all var(--transition);
}
.bv-sd-feat:hover .bv-sd-feat-icon {
  background: rgba(232,160,32,.15);
  border-color: rgba(232,160,32,.3);
}
.bv-sd-feat-icon svg { width: 20px; height: 20px; }

.bv-sd-feat-text strong {
  display: block;
  font-family: var(--font-head);
  font-size: .9375rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 2px;
}
.bv-sd-feat-text span {
  display: block;
  font-size: .8125rem;
  color: rgba(255,255,255,.45);
}

/* ── Main Section ─────────────────────────────────────────── */
.bv-sd-main { padding: 96px 0 100px; }

.bv-sd-main-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 64px;
  align-items: start;
}

/* Eyebrow label */
.bv-sd-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 28px;
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent);
}
.bv-sd-label-line {
  display: block;
  width: 32px;
  height: 2px;
  background: var(--accent);
  border-radius: 2px;
  flex-shrink: 0;
}

/* Rich content styles */
.bv-sd-rich {
  font-size: 1rem;
  line-height: 1.82;
  color: var(--text);
}
.bv-sd-rich p { margin-bottom: 1.3rem; }
.bv-sd-rich h2 {
  font-family: var(--font-head);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 800;
  color: var(--primary-dark);
  margin: 2.5rem 0 1rem;
  line-height: 1.15;
}
.bv-sd-rich h3 {
  font-family: var(--font-head);
  font-size: 1.3125rem;
  font-weight: 700;
  color: var(--primary);
  margin: 2rem 0 .875rem;
}
.bv-sd-rich h4 {
  font-family: var(--font-head);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--primary-dark);
  margin: 1.75rem 0 .75rem;
}
.bv-sd-rich ul,
.bv-sd-rich ol {
  list-style: none;
  padding: 0;
  margin-bottom: 1.3rem;
}
.bv-sd-rich ul li {
  position: relative;
  padding: 9px 0 9px 26px;
  border-bottom: 1px solid var(--border-light);
}
.bv-sd-rich ul li:last-child { border-bottom: none; }
.bv-sd-rich ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
}
.bv-sd-rich ol { counter-reset: bv-ol; }
.bv-sd-rich ol li {
  position: relative;
  padding: 9px 0 9px 38px;
  border-bottom: 1px solid var(--border-light);
  counter-increment: bv-ol;
}
.bv-sd-rich ol li:last-child { border-bottom: none; }
.bv-sd-rich ol li::before {
  content: counter(bv-ol, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 9px;
  font-family: var(--font-head);
  font-size: .875rem;
  font-weight: 700;
  color: var(--primary);
}
.bv-sd-rich strong { font-weight: 700; color: var(--primary-dark); }
.bv-sd-rich blockquote {
  margin: 2rem 0;
  padding: 22px 26px;
  background: var(--primary-xlight);
  border-left: 4px solid var(--primary);
  border-radius: 0 var(--radius) var(--radius) 0;
  font-style: italic;
  color: var(--primary-dark);
  font-size: 1.0625rem;
}
.bv-sd-rich img {
  width: 100%;
  border-radius: var(--radius);
  margin: 1.5rem 0;
}
.bv-sd-rich a { color: var(--primary); text-decoration: underline; }

/* Gallery */
.bv-sd-gallery {
  margin-top: 56px;
  padding-top: 56px;
  border-top: 1px solid var(--border-light);
}
.bv-sd-gallery-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.bv-sd-gallery-head h3 {
  font-family: var(--font-head);
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--primary-dark);
  margin: 0;
}
.bv-sd-gallery-head span {
  font-size: .75rem;
  color: var(--text-muted);
  background: var(--bg);
  border: 1px solid var(--border);
  padding: 4px 12px;
  border-radius: 100px;
}
.bv-sd-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.bv-sd-gallery-item {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--bg);
}
.bv-sd-gallery-item.featured {
  grid-column: span 2;
  grid-row: span 2;
}
.bv-sd-gallery-item a { display: block; width: 100%; height: 100%; }
.bv-sd-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease;
}
.bv-sd-gallery-item:hover img { transform: scale(1.06); }
.bv-sd-gallery-mask {
  position: absolute;
  inset: 0;
  background: rgba(8,18,40,.52);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity var(--transition);
}
.bv-sd-gallery-mask svg { width: 38px; height: 38px; color: #fff; }
.bv-sd-gallery-item:hover .bv-sd-gallery-mask { opacity: 1; }

/* ── Sidebar ──────────────────────────────────────────────── */
.bv-sd-sidebar {
  position: sticky;
  top: 112px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Contact card */
.bv-sd-contact-card {
  border-radius: var(--radius-lg);
  border: 1.5px solid var(--border);
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(26,58,107,.12);
}
.bv-sd-cc-head {
  background: var(--primary-dark);
  padding: 26px 24px 22px;
}
.bv-sd-cc-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(232,160,32,.18);
  color: var(--accent);
  font-size: .625rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 100px;
  margin-bottom: 10px;
  border: 1px solid rgba(232,160,32,.25);
}
.bv-sd-cc-head h3 {
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 6px;
}
.bv-sd-cc-head p {
  font-size: .8125rem;
  color: rgba(255,255,255,.55);
  line-height: 1.6;
  margin: 0;
}

.bv-sd-cc-body { padding: 18px 18px 20px; }

/* Phone button */
.bv-sd-phone-btn {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: var(--primary-xlight);
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  margin-bottom: 10px;
  transition: all var(--transition);
}
.bv-sd-phone-btn:hover {
  background: var(--primary);
  border-color: var(--primary);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(26,58,107,.25);
}
.bv-sd-phone-icon {
  width: 44px;
  height: 44px;
  background: var(--primary);
  color: var(--white);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background var(--transition);
}
.bv-sd-phone-btn:hover .bv-sd-phone-icon { background: rgba(255,255,255,.2); }
.bv-sd-phone-icon svg { width: 17px; height: 17px; }
.bv-sd-phone-lbl {
  display: block;
  font-size: .625rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted);
  transition: color var(--transition);
}
.bv-sd-phone-btn:hover .bv-sd-phone-lbl { color: rgba(255,255,255,.75); }
.bv-sd-phone-num {
  display: block;
  font-family: var(--font-head);
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--primary-dark);
  transition: color var(--transition);
}
.bv-sd-phone-btn:hover .bv-sd-phone-num { color: var(--white); }

/* Form button */
.bv-sd-form-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 16px;
  background: var(--primary);
  color: var(--white);
  font-weight: 700;
  font-size: .9375rem;
  border-radius: var(--radius);
  margin-bottom: 14px;
  transition: all var(--transition);
}
.bv-sd-form-btn:hover {
  background: var(--primary-dark);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(26,58,107,.25);
}
.bv-sd-form-btn svg { width: 15px; height: 15px; }

/* Or divider */
.bv-sd-or {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  font-size: .75rem;
  color: var(--text-muted);
}
.bv-sd-or::before,
.bv-sd-or::after { content: ''; flex: 1; height: 1px; background: var(--border); }

/* WhatsApp button */
.bv-sd-wa-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 13px 16px;
  background: #25D366;
  color: var(--white);
  font-weight: 700;
  font-size: .9375rem;
  border-radius: var(--radius);
  transition: all var(--transition);
}
.bv-sd-wa-btn:hover {
  background: #1db954;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(37,211,102,.3);
}
.bv-sd-wa-btn svg { width: 17px; height: 17px; }

/* Services card */
.bv-sd-svcs-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  border: 1.5px solid var(--border);
  overflow: hidden;
}
.bv-sd-svcs-head {
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-light);
}
.bv-sd-svcs-head h4 {
  font-family: var(--font-head);
  font-size: .9375rem;
  font-weight: 700;
  color: var(--primary-dark);
  margin: 0;
}
.bv-sd-svcs-nav {
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bv-sd-svc-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 13px;
  border-radius: var(--radius-sm);
  font-size: .875rem;
  font-weight: 500;
  color: var(--text);
  transition: all var(--transition);
}
.bv-sd-svc-link:hover,
.bv-sd-svc-link.is-active {
  background: var(--primary-xlight);
  color: var(--primary);
  padding-left: 18px;
}
.bv-sd-svc-link.is-active { font-weight: 700; }
.bv-sd-svc-link svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  opacity: .35;
  transition: all var(--transition);
}
.bv-sd-svc-link:hover svg,
.bv-sd-svc-link.is-active svg { opacity: 1; transform: translateX(2px); }

/* ── CTA Band ─────────────────────────────────────────────── */
.bv-sd-cta-band {
  position: relative;
  padding: 80px 0;
  overflow: hidden;
  background: var(--primary-dark);
}
.bv-sd-cta-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 100% at 10% 50%, rgba(40,85,160,.45) 0%, transparent 60%),
    radial-gradient(ellipse 50% 80% at 90% 50%, rgba(232,160,32,.1) 0%, transparent 60%);
  pointer-events: none;
}
.bv-sd-cta-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}
.bv-sd-cta-eyebrow {
  display: block;
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 10px;
}
.bv-sd-cta-text h2 {
  font-family: var(--font-head);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.12;
  margin-bottom: 10px;
}
.bv-sd-cta-text p {
  font-size: 1rem;
  color: rgba(255,255,255,.55);
  margin: 0;
}
.bv-sd-cta-btns {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}
.bv-sd-cta-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--accent);
  color: var(--primary-dark);
  font-weight: 800;
  font-size: 1rem;
  padding: 16px 32px;
  border-radius: 10px;
  white-space: nowrap;
  transition: all var(--transition);
}
.bv-sd-cta-primary:hover {
  background: var(--accent-dark);
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(232,160,32,.35);
}
.bv-sd-cta-primary svg { width: 18px; height: 18px; }
.bv-sd-cta-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 1.5px solid rgba(255,255,255,.28);
  color: var(--white);
  font-weight: 600;
  font-size: .9375rem;
  padding: 15px 28px;
  border-radius: 10px;
  white-space: nowrap;
  transition: all var(--transition);
}
.bv-sd-cta-secondary:hover {
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.5);
  transform: translateY(-2px);
}

/* ── Other Services ───────────────────────────────────────── */
.bv-sd-others { padding: 90px 0; background: var(--bg); }
.bv-sd-others-head { margin-bottom: 48px; }
.bv-sd-others-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.bv-sd-other-card {
  display: block;
  background: var(--white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border-light);
  transition: all var(--transition);
}
.bv-sd-other-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
  border-color: transparent;
}
.bv-sd-oc-img {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.bv-sd-oc-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease;
}
.bv-sd-other-card:hover .bv-sd-oc-img img { transform: scale(1.06); }
.bv-sd-oc-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(8,18,40,.65) 0%, transparent 55%);
}
.bv-sd-oc-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.18);
  color: var(--white);
  font-size: .625rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 11px;
  border-radius: 100px;
}
.bv-sd-oc-body { padding: 20px 22px 22px; }
.bv-sd-oc-body h3 {
  font-family: var(--font-head);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--primary-dark);
  margin-bottom: 8px;
  line-height: 1.3;
  transition: color var(--transition);
}
.bv-sd-other-card:hover .bv-sd-oc-body h3 { color: var(--primary); }
.bv-sd-oc-body p {
  font-size: .8125rem;
  color: var(--text-muted);
  line-height: 1.65;
  margin-bottom: 14px;
}
.bv-sd-oc-cta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .8125rem;
  font-weight: 700;
  color: var(--primary);
}
.bv-sd-oc-cta svg {
  width: 14px;
  height: 14px;
  transition: transform var(--transition);
}
.bv-sd-other-card:hover .bv-sd-oc-cta svg { transform: translateX(4px); }

/* ── Scroll reveal ────────────────────────────────────────── */
.bv-sd-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .65s ease, transform .65s ease;
}
.bv-sd-reveal.bv-sd-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 1200px) {
  .bv-sd-main-layout { grid-template-columns: 1fr 350px; gap: 48px; }
  .bv-sd-others-grid { grid-template-columns: repeat(2, 1fr); }
  .bv-sd-stat { padding: 20px 32px; }
}
@media (max-width: 1024px) {
  .bv-sd-features-grid { grid-template-columns: repeat(2, 1fr); }
  .bv-sd-feat { border-bottom: 1px solid rgba(255,255,255,.06); }
  .bv-sd-feat:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.06); }
  .bv-sd-feat:nth-child(even) { border-right: none; }
  .bv-sd-stat { padding: 18px 24px; }
  .bv-sd-stat strong { font-size: 1.5rem; }
}
@media (max-width: 900px) {
  .bv-sd-main-layout { grid-template-columns: 1fr; }
  .bv-sd-sidebar { position: static; }
  .bv-sd-gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .bv-sd-gallery-item.featured { grid-column: span 2; grid-row: span 1; }
  .bv-sd-cta-inner { flex-direction: column; text-align: center; }
  .bv-sd-cta-btns { flex-direction: column; width: 100%; max-width: 360px; }
  .bv-sd-cta-primary, .bv-sd-cta-secondary { width: 100%; justify-content: center; }
}
@media (max-width: 640px) {
  .bv-sd-hero-inner { padding-top: 130px; padding-bottom: 120px; max-width: 100%; }
  .bv-sd-hero-title { font-size: clamp(2rem, 9vw, 2.75rem); }
  .bv-sd-features-grid { grid-template-columns: 1fr; }
  .bv-sd-feat { border-right: none !important; }
  .bv-sd-stats-inner { flex-wrap: wrap; justify-content: center; }
  .bv-sd-stat { padding: 16px 20px; min-width: 45%; }
  .bv-sd-stat-sep { display: none; }
  .bv-sd-hero-actions { flex-direction: column; }
  .bv-sd-hero-btn-primary,
  .bv-sd-hero-btn-secondary { width: 100%; justify-content: center; }
  .bv-sd-scroll-hint { display: none; }
  .bv-sd-main { padding: 56px 0 64px; }
  .bv-sd-others-grid { grid-template-columns: 1fr; }
  .bv-sd-gallery-grid { grid-template-columns: 1fr; }
  .bv-sd-gallery-item.featured { grid-column: span 1; }
}


/* ═══════════════════════════════════════════════════════════
   ABOUT / KURUMSAL — Premium 2026
   bv-ab-* namespace
   ═══════════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────────── */
.bv-ab-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  background: var(--primary-dark);
}
.bv-ab-hero-img {
  position: absolute;
  inset: 0;
  background-image: var(--bv-ab-img, none);
  background-size: cover;
  background-position: center;
  transform: scale(1.06);
  will-change: transform;
  z-index: 0;
}
.bv-ab-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg,
      rgba(8,18,40,.97) 0%,
      rgba(8,18,40,.78) 40%,
      rgba(8,18,40,.50) 100%
    ),
    linear-gradient(to top, rgba(8,18,40,.8) 0%, transparent 45%);
  z-index: 1;
}
.bv-ab-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  pointer-events: none;
  z-index: 1;
}
.bv-ab-orb-1 {
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(26,58,107,.4) 0%, transparent 70%);
  top: -200px; right: -120px;
}
.bv-ab-orb-2 {
  width: 460px; height: 460px;
  background: radial-gradient(circle, rgba(232,160,32,.1) 0%, transparent 70%);
  bottom: 160px; left: -100px;
}

/* Geometric lines */
.bv-ab-lines {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}
.bv-ab-lines span {
  position: absolute;
  display: block;
  background: rgba(255,255,255,.03);
}
.bv-ab-lines span:nth-child(1) {
  width: 1px; height: 100%;
  left: 25%; top: 0;
}
.bv-ab-lines span:nth-child(2) {
  width: 1px; height: 100%;
  left: 50%; top: 0;
}
.bv-ab-lines span:nth-child(3) {
  width: 1px; height: 100%;
  left: 75%; top: 0;
}

/* Hero inner */
.bv-ab-hero-inner {
  position: relative;
  z-index: 3;
  padding-top: 180px;
  padding-bottom: 200px;
  max-width: 780px;
}

/* Breadcrumb */
.bv-ab-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 28px;
  font-size: .8125rem;
  color: rgba(255,255,255,.4);
}
.bv-ab-breadcrumb a { color: rgba(255,255,255,.4); transition: color var(--transition); }
.bv-ab-breadcrumb a:hover { color: rgba(255,255,255,.85); }
.bv-ab-breadcrumb svg { width: 12px; height: 12px; flex-shrink: 0; }
.bv-ab-breadcrumb span { color: rgba(255,255,255,.8); }

/* Badge */
.bv-ab-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(12px);
  color: rgba(255,255,255,.8);
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 7px 16px;
  border-radius: 100px;
  margin-bottom: 22px;
}
.bv-ab-badge-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent);
  animation: bvABPulse 2.2s infinite;
}
@keyframes bvABPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: .45; transform: scale(1.5); }
}

/* Title */
.bv-ab-hero-title {
  font-family: var(--font-head);
  font-size: clamp(2.5rem, 5.5vw, 4.5rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.06;
  letter-spacing: -.025em;
  margin-bottom: 20px;
}

/* Sub */
.bv-ab-hero-sub {
  font-size: clamp(.9375rem, 1.4vw, 1.0625rem);
  color: rgba(255,255,255,.58);
  line-height: 1.78;
  margin-bottom: 36px;
  max-width: 560px;
}

/* CTA buttons */
.bv-ab-hero-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.bv-ab-btn-primary {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--accent); color: var(--primary-dark);
  font-weight: 800; font-size: 1rem;
  padding: 15px 32px; border-radius: 10px;
  transition: all var(--transition);
}
.bv-ab-btn-primary:hover {
  background: var(--accent-dark);
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(232,160,32,.4);
}
.bv-ab-btn-primary svg { width: 18px; height: 18px; }
.bv-ab-btn-secondary {
  display: inline-flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,.08);
  border: 1.5px solid rgba(255,255,255,.22);
  color: var(--white); font-weight: 600; font-size: .9375rem;
  padding: 14px 28px; border-radius: 10px;
  backdrop-filter: blur(8px); transition: all var(--transition);
}
.bv-ab-btn-secondary:hover {
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.45);
  transform: translateY(-2px);
}
.bv-ab-btn-secondary svg { width: 16px; height: 16px; }

/* Scroll hint */
.bv-ab-scroll-hint {
  position: absolute; bottom: 108px; left: 50%;
  transform: translateX(-50%); z-index: 3;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  color: rgba(255,255,255,.3);
  font-size: .625rem; letter-spacing: .12em; text-transform: uppercase;
}
.bv-ab-scroll-mouse {
  width: 22px; height: 34px;
  border: 1.5px solid rgba(255,255,255,.22);
  border-radius: 100px;
  display: flex; align-items: flex-start; justify-content: center;
  padding-top: 6px;
}
.bv-ab-scroll-wheel {
  width: 3px; height: 7px;
  background: rgba(255,255,255,.5); border-radius: 2px;
  animation: bvABScroll 2.2s infinite;
}
@keyframes bvABScroll {
  0%   { transform: translateY(0); opacity: 1; }
  80%  { transform: translateY(9px); opacity: 0; }
  100% { transform: translateY(0); opacity: 0; }
}

/* Corporate nav strip at bottom of hero */
.bv-ab-hero-nav {
  position: absolute; bottom: 0; left: 0; right: 0;
  z-index: 4;
  background: rgba(255,255,255,.055);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(255,255,255,.09);
}
.bv-ab-hero-nav-inner {
  display: flex; align-items: center;
  gap: 0; overflow-x: auto;
  scrollbar-width: none;
}
.bv-ab-hero-nav-inner::-webkit-scrollbar { display: none; }
.bv-ab-hero-nav-link {
  display: block;
  padding: 18px 28px;
  font-size: .875rem;
  font-weight: 600;
  color: rgba(255,255,255,.5);
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: all var(--transition);
}
.bv-ab-hero-nav-link:hover { color: rgba(255,255,255,.9); }
.bv-ab-hero-nav-link.is-active {
  color: var(--accent);
  border-bottom-color: var(--accent);
}

/* ── Numbers ──────────────────────────────────────────────── */
.bv-ab-numbers {
  position: relative;
  background: var(--primary-dark);
  padding: 72px 0;
  overflow: hidden;
}
.bv-ab-numbers-bg {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 60% 80% at 20% 50%, rgba(26,58,107,.5) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 80% 50%, rgba(232,160,32,.08) 0%, transparent 60%);
}
.bv-ab-numbers-grid {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0;
}
.bv-ab-number-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 32px 24px;
  border-right: 1px solid rgba(255,255,255,.07);
  text-align: center;
}
.bv-ab-number-item:last-child { border-right: none; }
.bv-ab-number-icon {
  width: 48px; height: 48px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
  color: var(--accent);
}
.bv-ab-number-icon svg { width: 22px; height: 22px; }
.bv-ab-number-item strong,
.bv-ab-count {
  font-family: var(--font-head);
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 800;
  color: var(--accent);
  line-height: 1;
}
.bv-ab-number-item span {
  font-size: .8125rem;
  color: rgba(255,255,255,.5);
  letter-spacing: .03em;
}

/* ── Main layout ──────────────────────────────────────────── */
.bv-ab-main { padding: 96px 0 100px; }
.bv-ab-main-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 64px;
  align-items: start;
}

/* Feature image */
.bv-ab-feature-img {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 16/7;
  margin-bottom: 48px;
}
.bv-ab-feature-img img {
  width: 100%; height: 100%;
  object-fit: cover;
}
.bv-ab-feature-img-caption {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 16px 22px;
  background: linear-gradient(to top, rgba(8,18,40,.75) 0%, transparent 100%);
  display: flex; align-items: center; justify-content: flex-end;
}
.bv-ab-feature-img-caption span {
  font-size: .75rem;
  font-weight: 600;
  color: rgba(255,255,255,.7);
  letter-spacing: .06em;
}

/* Label */
.bv-ab-label {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 24px;
  font-size: .6875rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--accent);
}
.bv-ab-label-line {
  display: block; width: 32px; height: 2px;
  background: var(--accent); border-radius: 2px; flex-shrink: 0;
}

/* Rich content */
.bv-ab-rich {
  font-size: 1rem; line-height: 1.82; color: var(--text);
}
.bv-ab-rich p { margin-bottom: 1.3rem; }
.bv-ab-rich h2 {
  font-family: var(--font-head);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 800; color: var(--primary-dark);
  margin: 2.5rem 0 1rem; line-height: 1.15;
}
.bv-ab-rich h3 {
  font-family: var(--font-head);
  font-size: 1.3125rem; font-weight: 700;
  color: var(--primary); margin: 2rem 0 .875rem;
}
.bv-ab-rich h4 {
  font-family: var(--font-head);
  font-size: 1.0625rem; font-weight: 700;
  color: var(--primary-dark); margin: 1.75rem 0 .75rem;
}
.bv-ab-rich ul, .bv-ab-rich ol {
  list-style: none; padding: 0; margin-bottom: 1.3rem;
}
.bv-ab-rich ul li {
  position: relative;
  padding: 9px 0 9px 26px;
  border-bottom: 1px solid var(--border-light);
}
.bv-ab-rich ul li:last-child { border-bottom: none; }
.bv-ab-rich ul li::before {
  content: '';
  position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 7px; height: 7px; border-radius: 50%; background: var(--accent);
}
.bv-ab-rich ol { counter-reset: bv-ab-ol; }
.bv-ab-rich ol li {
  position: relative;
  padding: 9px 0 9px 38px;
  border-bottom: 1px solid var(--border-light);
  counter-increment: bv-ab-ol;
}
.bv-ab-rich ol li:last-child { border-bottom: none; }
.bv-ab-rich ol li::before {
  content: counter(bv-ab-ol, decimal-leading-zero);
  position: absolute; left: 0; top: 9px;
  font-family: var(--font-head); font-size: .875rem;
  font-weight: 700; color: var(--primary);
}
.bv-ab-rich strong { font-weight: 700; color: var(--primary-dark); }
.bv-ab-rich blockquote {
  margin: 2rem 0; padding: 22px 26px;
  background: var(--primary-xlight);
  border-left: 4px solid var(--primary);
  border-radius: 0 var(--radius) var(--radius) 0;
  font-style: italic; color: var(--primary-dark); font-size: 1.0625rem;
}
.bv-ab-rich img { width: 100%; border-radius: var(--radius); margin: 1.5rem 0; }
.bv-ab-rich a { color: var(--primary); text-decoration: underline; }

/* Gallery */
.bv-ab-gallery { margin-top: 56px; padding-top: 56px; border-top: 1px solid var(--border-light); }
.bv-ab-gallery-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 20px;
}
.bv-ab-gallery-head h3 {
  font-family: var(--font-head); font-size: 1.375rem;
  font-weight: 700; color: var(--primary-dark); margin: 0;
}
.bv-ab-gallery-head span {
  font-size: .75rem; color: var(--text-muted);
  background: var(--bg); border: 1px solid var(--border);
  padding: 4px 12px; border-radius: 100px;
}
.bv-ab-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.bv-ab-gallery-item {
  position: relative;
  border-radius: var(--radius); overflow: hidden;
  aspect-ratio: 4/3; background: var(--bg);
}
.bv-ab-gallery-item.featured { grid-column: span 2; grid-row: span 2; }
.bv-ab-gallery-item a { display: block; width: 100%; height: 100%; }
.bv-ab-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.bv-ab-gallery-item:hover img { transform: scale(1.06); }
.bv-ab-gallery-mask {
  position: absolute; inset: 0;
  background: rgba(8,18,40,.5);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity var(--transition);
}
.bv-ab-gallery-mask svg { width: 38px; height: 38px; color: #fff; }
.bv-ab-gallery-item:hover .bv-ab-gallery-mask { opacity: 1; }

/* ── Sidebar ──────────────────────────────────────────────── */
.bv-ab-sidebar { position: sticky; top: 112px; display: flex; flex-direction: column; gap: 20px; }

/* Contact card */
.bv-ab-contact-card {
  border-radius: var(--radius-lg);
  border: 1.5px solid var(--border);
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(26,58,107,.12);
}
.bv-ab-cc-head { background: var(--primary-dark); padding: 26px 24px 22px; }
.bv-ab-cc-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(232,160,32,.18); color: var(--accent);
  font-size: .625rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  padding: 5px 12px; border-radius: 100px; margin-bottom: 10px;
  border: 1px solid rgba(232,160,32,.25);
}
.bv-ab-cc-head h3 {
  font-family: var(--font-head); font-size: 1.25rem; font-weight: 800;
  color: var(--white); margin-bottom: 6px;
}
.bv-ab-cc-head p { font-size: .8125rem; color: rgba(255,255,255,.55); line-height: 1.6; margin: 0; }
.bv-ab-cc-body { padding: 18px 18px 20px; }

.bv-ab-phone-btn {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 16px;
  background: var(--primary-xlight); border: 1.5px solid var(--border);
  border-radius: var(--radius); margin-bottom: 10px;
  transition: all var(--transition);
}
.bv-ab-phone-btn:hover {
  background: var(--primary); border-color: var(--primary);
  transform: translateY(-1px); box-shadow: 0 8px 24px rgba(26,58,107,.25);
}
.bv-ab-phone-icon {
  width: 44px; height: 44px; background: var(--primary); color: var(--white);
  border-radius: 10px; display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; transition: background var(--transition);
}
.bv-ab-phone-btn:hover .bv-ab-phone-icon { background: rgba(255,255,255,.2); }
.bv-ab-phone-icon svg { width: 17px; height: 17px; }
.bv-ab-phone-lbl {
  display: block; font-size: .625rem; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--text-muted); transition: color var(--transition);
}
.bv-ab-phone-btn:hover .bv-ab-phone-lbl { color: rgba(255,255,255,.75); }
.bv-ab-phone-num {
  display: block; font-family: var(--font-head);
  font-size: 1.125rem; font-weight: 800;
  color: var(--primary-dark); transition: color var(--transition);
}
.bv-ab-phone-btn:hover .bv-ab-phone-num { color: var(--white); }
.bv-ab-form-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 13px 16px;
  background: var(--primary); color: var(--white);
  font-weight: 700; font-size: .9375rem;
  border-radius: var(--radius); margin-bottom: 14px;
  transition: all var(--transition);
}
.bv-ab-form-btn:hover {
  background: var(--primary-dark); transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(26,58,107,.25);
}
.bv-ab-form-btn svg { width: 15px; height: 15px; }
.bv-ab-or {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 14px; font-size: .75rem; color: var(--text-muted);
}
.bv-ab-or::before, .bv-ab-or::after { content:''; flex:1; height:1px; background:var(--border); }
.bv-ab-wa-btn {
  display: flex; align-items: center; justify-content: center; gap: 9px;
  padding: 13px 16px; background: #25D366; color: var(--white);
  font-weight: 700; font-size: .9375rem; border-radius: var(--radius);
  transition: all var(--transition);
}
.bv-ab-wa-btn:hover {
  background: #1db954; transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(37,211,102,.3);
}
.bv-ab-wa-btn svg { width: 17px; height: 17px; }

/* Pages / services cards */
.bv-ab-pages-card,
.bv-ab-services-card {
  background: var(--white); border-radius: var(--radius-lg);
  border: 1.5px solid var(--border); overflow: hidden;
}
.bv-ab-pages-head {
  padding: 16px 20px; border-bottom: 1px solid var(--border-light);
}
.bv-ab-pages-head h4 {
  font-family: var(--font-head); font-size: .9375rem; font-weight: 700;
  color: var(--primary-dark); margin: 0;
}
.bv-ab-pages-nav { padding: 8px; display: flex; flex-direction: column; gap: 2px; }
.bv-ab-page-link {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 13px; border-radius: var(--radius-sm);
  font-size: .875rem; font-weight: 500;
  color: var(--text); transition: all var(--transition);
}
.bv-ab-page-link:hover, .bv-ab-page-link.is-active {
  background: var(--primary-xlight); color: var(--primary); padding-left: 18px;
}
.bv-ab-page-link.is-active { font-weight: 700; }
.bv-ab-page-link svg {
  width: 14px; height: 14px; flex-shrink: 0;
  opacity: .35; transition: all var(--transition);
}
.bv-ab-page-link:hover svg, .bv-ab-page-link.is-active svg {
  opacity: 1; transform: translateX(2px);
}

/* ── Testimonials ─────────────────────────────────────────── */
.bv-ab-testimonials {
  position: relative;
  padding: 90px 0;
  background: var(--bg);
  overflow: hidden;
}
.bv-ab-test-bg {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 50% 80% at 95% 50%, rgba(26,58,107,.06) 0%, transparent 60%);
}
.bv-ab-section-head { margin-bottom: 48px; }
.bv-ab-test-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.bv-ab-test-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-light);
  padding: 28px 26px 24px;
  display: flex; flex-direction: column; gap: 16px;
  transition: all var(--transition);
}
.bv-ab-test-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg);
  border-color: transparent;
}
.bv-ab-test-quote {
  display: flex; gap: 2px;
  color: var(--accent);
}
.bv-ab-test-quote svg { width: 14px; height: 14px; }
.bv-ab-test-text {
  font-size: .9375rem;
  line-height: 1.72;
  color: var(--text);
  font-style: italic;
  flex: 1;
}
.bv-ab-test-author {
  display: flex; align-items: center; gap: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--border-light);
}
.bv-ab-test-avatar {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
  color: var(--white);
  font-family: var(--font-head);
  font-size: 1rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.bv-ab-test-author strong {
  display: block; font-size: .9375rem; font-weight: 700;
  color: var(--primary-dark); margin-bottom: 1px;
}
.bv-ab-test-author span { font-size: .75rem; color: var(--text-muted); }

/* ── FAQ ──────────────────────────────────────────────────── */
.bv-ab-faq { padding: 90px 0; }
.bv-ab-faq-inner {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 72px;
  align-items: start;
}
.bv-ab-faq-head { position: sticky; top: 120px; }
.bv-ab-faq-head .bv-section-title { margin: 8px 0 12px; }
.bv-ab-faq-head .bv-section-subtitle { margin-top: 0; margin-bottom: 28px; }
.bv-ab-faq-cta {
  display: inline-flex; align-items: center; gap: 9px;
  background: var(--primary); color: var(--white);
  font-weight: 700; font-size: .9375rem;
  padding: 13px 24px; border-radius: 10px;
  transition: all var(--transition);
}
.bv-ab-faq-cta:hover {
  background: var(--primary-dark); transform: translateY(-1px);
  box-shadow: var(--shadow-lg);
}
.bv-ab-faq-cta svg { width: 16px; height: 16px; }

/* FAQ items */
.bv-ab-faq-list { display: flex; flex-direction: column; gap: 10px; }
.bv-ab-faq-item {
  border: 1.5px solid var(--border-light);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--white);
  transition: border-color var(--transition), box-shadow var(--transition);
}
.bv-ab-faq-item:hover { border-color: var(--border); }
.bv-ab-faq-item.is-open {
  border-color: var(--primary-xlight);
  box-shadow: 0 4px 20px rgba(26,58,107,.08);
}
.bv-ab-faq-q {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; width: 100%;
  padding: 18px 20px;
  font-family: var(--font-body);
  font-size: .9375rem; font-weight: 600;
  color: var(--text); text-align: left;
  background: none; border: none; cursor: pointer;
  transition: color var(--transition);
}
.bv-ab-faq-item.is-open .bv-ab-faq-q { color: var(--primary); }
.bv-ab-faq-icon {
  width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0;
  background: var(--bg); border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  transition: all var(--transition);
}
.bv-ab-faq-icon svg { width: 14px; height: 14px; transition: transform var(--transition); }
.bv-ab-faq-item.is-open .bv-ab-faq-icon {
  background: var(--primary); border-color: var(--primary);
  color: var(--white);
}
.bv-ab-faq-item.is-open .bv-ab-faq-icon svg { transform: rotate(180deg); }

.bv-ab-faq-a {
  display: grid; grid-template-rows: 0fr;
  transition: grid-template-rows .35s ease;
}
.bv-ab-faq-item.is-open .bv-ab-faq-a { grid-template-rows: 1fr; }
.bv-ab-faq-a-inner {
  overflow: hidden;
  font-size: .9375rem; line-height: 1.75;
  color: var(--text-muted); padding: 0 20px;
}
.bv-ab-faq-item.is-open .bv-ab-faq-a-inner { padding: 0 20px 20px; }

/* ── CTA Band ─────────────────────────────────────────────── */
.bv-ab-cta-band {
  position: relative; padding: 80px 0; overflow: hidden;
  background: var(--primary-dark);
}
.bv-ab-cta-bg {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 70% 100% at 10% 50%, rgba(40,85,160,.45) 0%, transparent 60%),
    radial-gradient(ellipse 50% 80% at 90% 50%, rgba(232,160,32,.1) 0%, transparent 60%);
}
.bv-ab-cta-inner {
  position: relative; z-index: 1;
  display: flex; align-items: center;
  justify-content: space-between; gap: 48px;
}
.bv-ab-cta-eyebrow {
  display: block; font-size: .6875rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 10px;
}
.bv-ab-cta-text h2 {
  font-family: var(--font-head);
  font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 800;
  color: var(--white); line-height: 1.12; margin-bottom: 10px;
}
.bv-ab-cta-text p { font-size: 1rem; color: rgba(255,255,255,.55); margin: 0; }
.bv-ab-cta-btns { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.bv-ab-cta-primary {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--accent); color: var(--primary-dark);
  font-weight: 800; font-size: 1rem;
  padding: 16px 32px; border-radius: 10px;
  white-space: nowrap; transition: all var(--transition);
}
.bv-ab-cta-primary:hover {
  background: var(--accent-dark); transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(232,160,32,.35);
}
.bv-ab-cta-primary svg { width: 18px; height: 18px; }
.bv-ab-cta-secondary {
  display: inline-flex; align-items: center; gap: 8px;
  background: transparent; border: 1.5px solid rgba(255,255,255,.28);
  color: var(--white); font-weight: 600; font-size: .9375rem;
  padding: 15px 28px; border-radius: 10px;
  white-space: nowrap; transition: all var(--transition);
}
.bv-ab-cta-secondary:hover {
  background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.5);
  transform: translateY(-2px);
}

/* ── Scroll reveal ────────────────────────────────────────── */
.bv-ab-reveal {
  opacity: 0; transform: translateY(28px);
  transition: opacity .65s ease, transform .65s ease;
}
.bv-ab-reveal.bv-ab-visible { opacity: 1; transform: translateY(0); }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 1200px) {
  .bv-ab-main-layout { grid-template-columns: 1fr 350px; gap: 48px; }
  .bv-ab-test-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1024px) {
  .bv-ab-faq-inner { grid-template-columns: 1fr; gap: 40px; }
  .bv-ab-faq-head { position: static; }
  .bv-ab-numbers-grid { grid-template-columns: repeat(2, 1fr); }
  .bv-ab-number-item { border-bottom: 1px solid rgba(255,255,255,.07); }
}
@media (max-width: 900px) {
  .bv-ab-main-layout { grid-template-columns: 1fr; }
  .bv-ab-sidebar { position: static; }
  .bv-ab-gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .bv-ab-gallery-item.featured { grid-column: span 2; grid-row: span 1; }
  .bv-ab-cta-inner { flex-direction: column; text-align: center; }
  .bv-ab-cta-btns { flex-direction: column; width: 100%; max-width: 360px; }
  .bv-ab-cta-primary, .bv-ab-cta-secondary { width: 100%; justify-content: center; }
}


/* ═══════════════════════════════════════════════════════════
   TEKLİF AL MODAL — Premium WhatsApp Quote
   bv-qo-* namespace
   ═══════════════════════════════════════════════════════════ */

/* ── Overlay ──────────────────────────────────────────────── */
.bv-qo {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease, visibility .35s ease;
}
.bv-qo.is-open { opacity: 1; visibility: visible; }

.bv-qo-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5,12,28,.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* ── Modal wrapper ────────────────────────────────────────── */
.bv-qo-modal {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 300px 1fr;
  width: 100%;
  max-width: 920px;
  max-height: 92vh;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 32px 80px rgba(0,0,0,.5);
  transform: translateY(24px) scale(.97);
  transition: transform .4s cubic-bezier(.34,1.56,.64,1);
}
.bv-qo.is-open .bv-qo-modal {
  transform: translateY(0) scale(1);
}

/* ── Sol Panel ────────────────────────────────────────────── */
.bv-qo-left {
  background: linear-gradient(160deg, var(--primary-dark) 0%, #0a1f45 100%);
  padding: 36px 28px;
  display: flex;
  flex-direction: column;
  gap: 28px;
  position: relative;
  overflow: hidden;
}
.bv-qo-left::before {
  content: '';
  position: absolute;
  width: 400px; height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(26,58,107,.5) 0%, transparent 70%);
  bottom: -150px; right: -150px;
  pointer-events: none;
}
.bv-qo-left::after {
  content: '';
  position: absolute;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232,160,32,.1) 0%, transparent 70%);
  top: -60px; left: -60px;
  pointer-events: none;
}

/* Brand */
.bv-qo-brand img {
  height: 36px;
  width: auto;
  filter: brightness(0) invert(1);
  margin-bottom: 6px;
}
.bv-qo-brand p {
  font-size: .75rem;
  color: rgba(255,255,255,.45);
  font-weight: 500;
  letter-spacing: .04em;
}

/* Benefits */
.bv-qo-benefits {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}
.bv-qo-benefit {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.bv-qo-benefit-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: var(--accent);
}
.bv-qo-benefit-icon svg { width: 18px; height: 18px; }
.bv-qo-benefit strong {
  display: block;
  font-size: .875rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 2px;
}
.bv-qo-benefit span {
  font-size: .75rem;
  color: rgba(255,255,255,.45);
}

/* Phone strip */
.bv-qo-left-contact {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  position: relative; z-index: 1;
}
.bv-qo-left-contact svg { width: 18px; height: 18px; color: var(--accent); flex-shrink: 0; }
.bv-qo-left-contact a {
  font-family: var(--font-head);
  font-size: .9375rem;
  font-weight: 700;
  color: var(--white);
  transition: color var(--transition);
}
.bv-qo-left-contact a:hover { color: var(--accent); }

/* ── Sağ Panel ────────────────────────────────────────────── */
.bv-qo-right {
  background: var(--white);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  position: relative;
}

/* Close buttons */
.bv-qo-close {
  position: absolute;
  top: 16px; right: 16px;
  z-index: 10;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.15);
  color: rgba(255,255,255,.7);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: all var(--transition);
}
.bv-qo-close:hover { background: rgba(255,255,255,.2); color: var(--white); }
.bv-qo-close svg { width: 16px; height: 16px; }
.bv-qo-close-desk {
  position: absolute;
  top: 16px; right: 16px;
  background: var(--bg);
  border: 1px solid var(--border);
  color: var(--text-muted);
}
.bv-qo-close-desk:hover { background: var(--primary); color: var(--white); border-color: var(--primary); }

/* ── Progress ─────────────────────────────────────────────── */
.bv-qo-progress {
  padding: 24px 32px 0;
  flex-shrink: 0;
}
.bv-qo-progress-track {
  height: 3px;
  background: var(--border-light);
  border-radius: 2px;
  margin-bottom: 16px;
  overflow: hidden;
}
.bv-qo-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--primary) 0%, var(--accent) 100%);
  border-radius: 2px;
  transition: width .5s cubic-bezier(.4,0,.2,1);
  width: 0%;
}
.bv-qo-step-dots {
  display: flex;
  gap: 24px;
}
.bv-qo-dot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  cursor: default;
}
.bv-qo-dot span {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--bg);
  border: 2px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem;
  font-weight: 700;
  color: var(--text-muted);
  transition: all .35s ease;
}
.bv-qo-dot small {
  font-size: .625rem;
  font-weight: 600;
  color: var(--text-muted);
  letter-spacing: .04em;
  text-transform: uppercase;
  transition: color .35s ease;
}
.bv-qo-dot.active span {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--white);
  box-shadow: 0 4px 12px rgba(26,58,107,.3);
}
.bv-qo-dot.active small { color: var(--primary); }
.bv-qo-dot.done span {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--white);
}
.bv-qo-dot.done small { color: var(--accent-dark); }

/* ── Step ─────────────────────────────────────────────────── */
.bv-qo-step {
  display: none;
  flex-direction: column;
  flex: 1;
  padding: 24px 32px 28px;
  animation: bvQoIn .3s ease;
}
.bv-qo-step.active { display: flex; }
@keyframes bvQoIn {
  from { opacity: 0; transform: translateX(16px); }
  to   { opacity: 1; transform: translateX(0); }
}

.bv-qo-step-head { margin-bottom: 22px; }
.bv-qo-step-head h2 {
  font-family: var(--font-head);
  font-size: 1.375rem;
  font-weight: 800;
  color: var(--primary-dark);
  margin-bottom: 4px;
  line-height: 1.2;
}
.bv-qo-step-head p {
  font-size: .875rem;
  color: var(--text-muted);
  margin: 0;
}

/* ── Hizmet Kartları (Step 1) ─────────────────────────────── */
.bv-qo-services {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
  flex: 1;
  align-content: start;
  margin-bottom: 20px;
}
.bv-qo-svc-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 18px 12px;
  border: 1.5px solid var(--border-light);
  border-radius: var(--radius);
  background: var(--white);
  cursor: pointer;
  transition: all .25s ease;
  text-align: center;
}
.bv-qo-svc-card:hover {
  border-color: var(--primary);
  background: var(--primary-xlight);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(26,58,107,.12);
}
.bv-qo-svc-card.selected {
  border-color: var(--primary);
  background: var(--primary);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(26,58,107,.25);
}
.bv-qo-svc-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: var(--bg);
  display: flex; align-items: center; justify-content: center;
  color: var(--primary);
  transition: all .25s ease;
}
.bv-qo-svc-icon svg { width: 20px; height: 20px; }
.bv-qo-svc-card.selected .bv-qo-svc-icon {
  background: rgba(255,255,255,.15);
  color: var(--white);
}
.bv-qo-svc-card span {
  font-size: .8125rem;
  font-weight: 600;
  color: var(--text);
  transition: color .25s ease;
  line-height: 1.3;
}
.bv-qo-svc-card.selected span { color: var(--white); }
.bv-qo-svc-check {
  position: absolute;
  top: 8px; right: 8px;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: rgba(255,255,255,.2);
  display: flex; align-items: center; justify-content: center;
  opacity: 0;
  transition: opacity .2s ease;
}
.bv-qo-svc-check svg { width: 10px; height: 10px; color: var(--white); }
.bv-qo-svc-card.selected .bv-qo-svc-check { opacity: 1; }

/* ── Form Grid (Step 2-3) ─────────────────────────────────── */
.bv-qo-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 20px;
}
.bv-qo-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bv-qo-field-full { grid-column: span 2; }
.bv-qo-field label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .75rem;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
}
.bv-qo-field label svg { width: 13px; height: 13px; flex-shrink: 0; }
.bv-qo-input {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid var(--border);
  border-radius: 10px;
  font-family: var(--font-body);
  font-size: .9375rem;
  color: var(--text);
  background: var(--white);
  transition: border-color .2s ease, box-shadow .2s ease;
  outline: none;
}
.bv-qo-input:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(26,58,107,.1);
}
.bv-qo-input.bv-qo-error {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239,68,68,.1);
  animation: bvQoShake .35s ease;
}
@keyframes bvQoShake {
  0%,100% { transform: translateX(0); }
  25% { transform: translateX(-6px); }
  75% { transform: translateX(6px); }
}
.bv-qo-textarea {
  resize: vertical;
  min-height: 80px;
}

/* ── WhatsApp Önizleme ────────────────────────────────────── */
.bv-qo-preview {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--border-light);
  margin-bottom: 20px;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.bv-qo-preview-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: #075E54;
  color: var(--white);
  font-size: .8125rem;
  font-weight: 700;
}
.bv-qo-preview-wa-icon {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: #25D366;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.bv-qo-preview-wa-icon svg { width: 16px; height: 16px; color: var(--white); }
.bv-qo-preview-body {
  background: #ECE5DD url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' opacity='.04'%3E%3Ctext y='50' font-size='60'%3E💬%3C/text%3E%3C/svg%3E");
  padding: 16px;
  flex: 1;
  overflow-y: auto;
  min-height: 100px;
}
.bv-qo-bubble {
  background: var(--white);
  border-radius: 0 12px 12px 12px;
  padding: 12px 14px;
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  box-shadow: 0 1px 4px rgba(0,0,0,.12);
  max-width: 100%;
  position: relative;
}
.bv-qo-bubble::before {
  content: '';
  position: absolute;
  top: 0; left: -8px;
  border: 8px solid transparent;
  border-top-color: var(--white);
  border-right-color: var(--white);
}
.bv-qo-bubble span {
  display: block;
  font-size: .75rem;
  line-height: 1.65;
  color: #303030;
  white-space: pre-wrap;
}
.bv-qo-bubble span:first-child { font-size: .8125rem; }
.bv-qo-bubble strong { font-weight: 700; color: #111; }

/* ── Aksiyon Butonları ────────────────────────────────────── */
.bv-qo-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 4px;
  flex-shrink: 0;
}
.bv-qo-btn-next {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--primary);
  color: var(--white);
  font-weight: 700;
  font-size: .9375rem;
  padding: 13px 28px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  transition: all .25s ease;
}
.bv-qo-btn-next:hover:not(:disabled) {
  background: var(--primary-dark);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(26,58,107,.3);
}
.bv-qo-btn-next:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.bv-qo-btn-next svg { width: 16px; height: 16px; }

.bv-qo-btn-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--bg);
  color: var(--text-muted);
  font-weight: 600;
  font-size: .875rem;
  padding: 12px 20px;
  border-radius: 10px;
  border: 1.5px solid var(--border);
  cursor: pointer;
  transition: all .25s ease;
}
.bv-qo-btn-back:hover {
  background: var(--white);
  color: var(--text);
  border-color: var(--primary);
}
.bv-qo-btn-back svg { width: 15px; height: 15px; }

.bv-qo-btn-submit {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #25D366;
  color: var(--white);
  font-weight: 800;
  font-size: 1rem;
  padding: 14px 28px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  transition: all .25s ease;
  box-shadow: 0 4px 16px rgba(37,211,102,.35);
}
.bv-qo-btn-submit:hover {
  background: #1da851;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(37,211,102,.45);
}
.bv-qo-btn-submit svg { width: 20px; height: 20px; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 768px) {
  .bv-qo-modal {
    grid-template-columns: 1fr;
    max-height: 95vh;
    border-radius: 20px;
  }
  .bv-qo-left {
    display: none; /* mobilde sol panel gizli */
  }
  .bv-qo-close-desk { display: flex; top: 12px; right: 12px; }
  .bv-qo-progress { padding: 56px 20px 0; }
  .bv-qo-step { padding: 20px 20px 24px; }
  .bv-qo-form-grid { grid-template-columns: 1fr; }
  .bv-qo-field-full { grid-column: span 1; }
  .bv-qo-services { grid-template-columns: repeat(2, 1fr); }
  .bv-qo-btn-submit { font-size: .875rem; padding: 13px 20px; }
}
@media (max-width: 400px) {
  .bv-qo { padding: 8px; }
  .bv-qo-services { grid-template-columns: 1fr 1fr; gap: 8px; }
  .bv-qo-svc-card { padding: 14px 8px; }
  .bv-qo-actions { flex-direction: column; }
  .bv-qo-btn-back, .bv-qo-btn-next, .bv-qo-btn-submit { width: 100%; justify-content: center; }
}
@media (max-width: 640px) {
  .bv-ab-hero-inner { padding-top: 130px; padding-bottom: 200px; max-width: 100%; }
  .bv-ab-hero-title { font-size: clamp(2rem, 9vw, 2.75rem); }
  .bv-ab-hero-actions { flex-direction: column; }
  .bv-ab-btn-primary, .bv-ab-btn-secondary { width: 100%; justify-content: center; }
  .bv-ab-scroll-hint { display: none; }
  .bv-ab-hero-nav-link { padding: 16px 18px; font-size: .8125rem; }
  .bv-ab-numbers-grid { grid-template-columns: repeat(2, 1fr); }
  .bv-ab-test-grid { grid-template-columns: 1fr; }
  .bv-ab-gallery-grid { grid-template-columns: 1fr; }
  .bv-ab-gallery-item.featured { grid-column: span 1; }
  .bv-ab-main { padding: 56px 0 64px; }
  .bv-ab-lines { display: none; }
}
}
