/* =========================================================
   DreamCity - Styles (Bootstrap 5)
   ========================================================= */
:root{
  --nav-h: 84px;
  --acc: #6f8f6a;
  --acc-2: #577a55;
  --acc-soft: rgba(111,143,106,.14);
  --acc-soft-2: rgba(87,122,85,.18);
  --dark: #0b0f14;
  --ink: #0b0f14;
  --muted: rgba(2,6,23,.72);
  --radius-18: 18px;
  --shadow-1: 0 18px 40px rgba(0,0,0,.32);
  --shadow-2: 0 22px 50px rgba(0,0,0,.40);

	 --khaki-1:#6f8f6a;
  --khaki-2:#577a55;

  /* oklar (slider dışı) */
  --kp-arrow-size: 76px;
  --kp-chev-size: 44px;
  --kp-chev-stroke: 8px;

  --kp-arrow-gap: 26px;
  --kp-slider-gutter: calc(var(--kp-arrow-size) + var(--kp-arrow-gap));

  /* modal oklar */
  --kp-lb-arrow: 44px;
  --kp-lb-chev: 18px;

  /* anim */
  --kp-ease: cubic-bezier(.22,.8,.22,1);
}

html, body{ font-size:16px; }
body{
  margin:0;
  background: var(--dark);
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
a{ text-decoration:none; }

/* LOGO */
.brand-wrap{
  min-height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 6px;
  border-radius: var(--radius-18);
  background: #fff;
  border: 1px solid rgba(255, 255, 255, .10);
  box-shadow: var(--shadow-1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .25s ease, box-shadow .25s ease;
}
.brand-wrap:hover{ transform: translateY(-1px); box-shadow: var(--shadow-2); }
.brand-logo-img{
  height: 100px;
  width: auto;
  object-fit: contain;
  display:block;
}

/* NAVBAR */
.navbar-hero{ height: var(--nav-h); transition: background .25s ease, box-shadow .25s ease; background: var(--acc);  }
.navbar-hero.scrolled{
  background: rgba(47, 70, 55, .86); /* koyu haki */
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.navbar-hero .nav-link{
  color: rgba(255,255,255,.90);
  font-weight: 500;
  padding: .85rem .95rem;
  font-size: 16px;
  letter-spacing: .02em;
  position: relative;
  white-space: nowrap;
}
.navbar-hero .nav-link:hover{ color:#fff; }
.navbar-hero .nav-link::after{
  content:"";
  position:absolute;
  left:.95rem; right:.95rem;
  bottom:.45rem;
  height:1px;
  background:#fff;
  opacity:.65;
  transform: scaleX(0);
  transform-origin:center;
  transition: transform .2s ease;
}
.navbar-hero .nav-link:hover::after{ transform: scaleX(1); }

.offcanvas{
  background: rgba(10,14,20,.92);
  color:#fff;
  backdrop-filter: blur(10px);
}
.offcanvas .nav-link{ color: rgba(255,255,255,.92); font-size:16px; }

/* HERO */
.hero{ position: relative; min-height: 100vh; overflow: hidden; }
.hero .carousel, .hero .carousel-inner, .hero .carousel-item{ height: 100vh; min-height: 560px; }
.hero-bg{ position:absolute; inset:0; background-size: cover; background-position: center; transform: scale(1); will-change: transform; }
.hero-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(60% 60% at 30% 40%, rgba(0,0,0,.08) 0%, rgba(0,0,0,.12) 70%),
    linear-gradient(90deg, rgba(0,0,0,.20) 0%, rgba(0,0,0,.08) 60%, rgba(0,0,0,.14) 100%);
  pointer-events:none;
}
.hero-content{ position: relative; z-index: 3; height: 100%; padding-top: calc(var(--nav-h) + 40px); padding-bottom: 70px; }
.hero-kicker{ color: rgba(255,255,255,.88); font-size: 18px; font-weight: 500; margin-bottom: 12px; text-shadow: 0 12px 30px rgba(0,0,0,.35); }
.hero-title{
  color:#fff;
  font-weight: 400;
  line-height: 1.02;
  font-size: clamp(44px, 4.2vw, 72px);
  text-transform: uppercase;
  letter-spacing: .01em;
  margin-bottom: 22px;
  text-shadow: 0 18px 46px rgba(0,0,0,.40);
}
.hero-actions{ display:inline-flex; gap:0; box-shadow: 0 12px 32px rgba(0,0,0,.25); border-radius: 12px; overflow:hidden; }
.btn-hero{
  border-radius:0;
  padding: 14px 26px;
  font-weight: 500;
  font-size: 16px;
  border: 0;
  min-width: 190px;
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.btn-hero.gray{ background: rgba(176,182,192,.92); color:#fff; }
.btn-hero.blue{ background: var(--acc); color:#fff; }
.btn-hero:hover{ filter: brightness(1.06); box-shadow: 0 10px 22px rgba(0,0,0,.18); transform: translateY(-1px); }
.btn-hero:active{ transform: translateY(1px); }
@keyframes slowZoom { from { transform: scale(1); } to { transform: scale(1.12); } }
.carousel-item.active .hero-bg{ animation: slowZoom 10s ease-in-out forwards; }
.hero-social{
  position:absolute; left:22px; top:50%; transform: translateY(-50%);
  z-index:5; display:flex; flex-direction:column; gap:18px;
}
.hero-social a{ color: rgba(255,255,255,.88); font-size:18px; opacity:.9; transition: .2s; }
.hero-social a:hover{ opacity:1; transform: translateY(-2px); }
.scroll-indicator{
  position:absolute; left:50%; bottom:26px; transform: translateX(-50%);
  z-index:6; width:34px; height:54px; border:2px solid rgba(255,255,255,.60);
  border-radius:999px; display:flex; justify-content:center; align-items:flex-start;
  padding-top:10px; opacity:.95; pointer-events:none;
}
.scroll-indicator span{
  width:6px; height:10px; border-radius:999px; background: rgba(255,255,255,.75);
  animation: wheel 1.5s infinite;
}
@keyframes wheel{ 0%{transform:translateY(0);opacity:1;} 70%{transform:translateY(18px);opacity:.25;} 100%{transform:translateY(18px);opacity:0;} }

/* Reveal */
.reveal{ opacity:0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform: translateY(0); }

 /* =================== PROJE ALANI =================== */
    .section-project{ background:#fff; }

    .project-band{
      background: var(--acc);
      color: #fff;
      padding: 80px 0;
    }
    .project-band h2{
      font-weight: 300;
      letter-spacing: .02em;
      font-size: clamp(2.2rem, 3vw, 3.8rem);
      margin: 0 0 18px 0;
    }
    .project-band p{
      max-width: 980px;
      margin: 0 auto;
      line-height: 1.75;
      opacity: .95;
      font-size: 16px;
    }

    .p-main{ padding: 0; background:#fff; }
    .p-main .row{ margin:0; }
    .p-main .row > [class*="col-"]{ padding:0; }

    .p-main-left{
      background:#fff;
      display:flex;
      align-items:center;
      min-height: 520px;
      padding: 64px clamp(18px, 4vw, 76px);
    }
    .p-panel{ width: 100%; max-width: 760px; }
    .p-mini{
      font-size: 13px;
      letter-spacing: .18em;
      font-weight: 500;
      color: rgba(2,6,23,.55);
      margin-bottom: 12px;
      text-transform: uppercase;
    }
    .p-title{
      font-size: clamp(30px, 2.6vw, 48px);
      line-height: 1.08;
      font-weight: 400;
      color: var(--ink);
      margin: 0 0 14px 0;
    }
    .p-line{
      width: 76px;
      height: 3px;
      background: var(--ink);
      opacity:.75;
      border-radius: 999px;
      margin-bottom: 18px;
    }
    .p-list{
      list-style:none;
      padding:0;
      margin:0 0 20px 0;
      display:grid;
      gap:12px;
    }
    .p-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color: rgba(2,6,23,.78);
      font-size: 16px;
      line-height: 1.6;
    }
    .p-list i{ color: var(--acc-2); margin-top:2px; font-size:18px; }

    .p-actions{ display:flex; flex-wrap:wrap; gap:10px; }
    .p-btn{
      border-radius: 999px;
      padding: 12px 18px;
      font-weight: 500;
      border: 0;
      font-size: 14.5px;
      letter-spacing: .02em;
    }
    .p-btn-dark{ background: var(--ink); color:#fff; }
    .p-btn-dark:hover{ filter: brightness(1.05); color:#fff; }
    .p-btn-soft{ background: var(--acc-soft-2); color: var(--ink); }
    .p-btn-soft:hover{ filter: brightness(1.04); }

    .p-main-media{
      position:relative;
      width:100%;
      min-height: 520px;
      overflow:hidden;
    }
    .p-main-media img{
      width:100%;
      height:100%;
      min-height: 520px;
      object-fit: cover;
      display:block;
      transition: transform 1.4s ease;
    }
    .p-main-media:hover img{ transform: scale(1.05); }
    .p-badge{
      position:absolute;
      left: 22px;
      bottom: 22px;
      padding: 14px 14px;
      border-radius: 18px;
      background: rgba(255,255,255,.86);
      backdrop-filter: blur(10px);
      border:1px solid rgba(15,23,42,.10);
      box-shadow: 0 12px 30px rgba(2,6,23,.10);
      min-width: 132px;
    }
    .p-badge-big{
      font-size: 34px;
      font-weight: 400;
      line-height: 1;
      color: var(--ink);
    }
    .p-badge-small{
      font-size: 14px;
      color: rgba(2,6,23,.72);
      margin-top: 6px;
      line-height:1.2;
    }

    .p-split{ background:#fff; }
    .p-split-media{
      height: 100%;
      min-height: 520px;
      overflow:hidden;
    }
    .p-split-media img{
      width:100%;
      height:100%;
      object-fit: cover;
      display:block;
      transition: transform 1.4s ease;
    }
    .p-split-media:hover img{ transform: scale(1.05); }

    .p-split-info{
      height: 100%;
      min-height: 520px;
      background: var(--acc);
      color:#fff;
      padding: 74px clamp(18px, 4vw, 76px);
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .p-s-title{
      font-weight: 300;
      font-size: clamp(30px, 3.1vw, 56px);
      line-height: 1.10;
      margin: 0 0 14px 0;
    }
    .p-s-line{
      width: 84px;
      height: 3px;
      background: rgba(255,255,255,.9);
      border-radius: 999px;
      margin-bottom: 16px;
    }
    .p-s-text{
      max-width: 720px;
      margin: 0;
      opacity: .92;
      line-height: 1.8;
      font-size: 16px;
    }

    .p-stat{
      border-radius: 18px;
      background: rgba(255,255,255,.16);
      border: 1px solid rgba(255,255,255,.20);
      padding: 14px 14px;
      backdrop-filter: blur(8px);
    }
    .p-stat-num{
      font-size: 28px;
      font-weight: 400;
      line-height: 1;
    }
    .p-stat-txt{
      margin-top: 6px;
      font-size: 14.5px;
      opacity: .92;
      line-height:1.2;
      font-weight: 600;
    }

    .p-btn-white{ background:#fff; color: var(--ink); }
    .p-btn-white:hover{ filter: brightness(1.03); }
    .p-btn-outline{
      background: transparent;
      color:#fff;
      border: 1px solid rgba(255,255,255,.65);
    }
    .p-btn-outline:hover{ background: rgba(255,255,255,.12); color:#fff; }

    /* Reveal */
    .reveal{
      opacity: 0;
      transform: translateY(18px);
      transition: opacity .7s ease, transform .7s ease;
    }
    .reveal.in{
      opacity: 1;
      transform: translateY(0);
    }

/* LOKASYON */
.locVera{
  background:#fff;
  overflow:hidden;
}
.locVera-hero{ position:relative; padding: 78px 0 54px; }
.locVera-hero-bg{
  position:absolute; inset:0;
  background:
    radial-gradient(1100px 520px at 18% 32%, rgba(111,143,106,.16), transparent 62%),
    radial-gradient(900px 420px at 85% 18%, rgba(87,122,85,.12), transparent 58%),
    linear-gradient(180deg, #fff 0%, #fff 100%);
  border-bottom: 1px solid rgba(15,23,42,.08);
}
.locVera-hero-inner{ position:relative; z-index:2; padding-top:10px; }
.locVera-title{ font-weight:400; color: var(--ink); font-size: clamp(52px, 4.9vw, 98px); line-height:1.00; margin:0; }
.locVera-accent{ color: var(--acc-2); font-weight:600; }
.locVera-text{ max-width:560px; margin-left:auto; color: rgba(2,6,23,.78); font-size:16.5px; line-height:1.9; }
.locVera-text p{ margin:0 0 12px 0; }
.locVera-text .muted{ opacity:.75; }
.locVera-gridWrap{ padding:64px 0 78px; background:#fff; }
.locVera-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 54px 18px;
  align-items:start;
  justify-items:center;
  text-align:center;
}
.locVera-item{ width:100%; max-width:340px; padding: 12px 10px; border-radius:18px; transition: transform .18s ease, filter .18s ease; }
.locVera-item:hover{ transform: translateY(-5px); filter: drop-shadow(0 12px 22px rgba(2,6,23,.08)); }
.locVera-ico{ width:92px; height:92px; margin:0 auto 12px; color: var(--acc-2); }
.locVera-ico svg{ width:100%; height:100%; display:block; }
.locVera-cap{ font-size:14.5px; color: rgba(2,6,23,.82); margin-top:8px; }
.locVera-time{ margin-top:4px; font-size:16px; color: rgba(2,6,23,.92); }
.locVera-time b{ font-size:20px; font-weight:400; color: var(--ink); }

/* SOSYAL */
.section-social{
  position:relative;
  background:
    radial-gradient(1100px 520px at 18% 32%, rgba(111,143,106,.14), transparent 62%),
    radial-gradient(900px 420px at 85% 18%, rgba(87,122,85,.10), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(250,251,252,1) 100%);
  padding: 92px 0 86px;
  overflow:hidden;
  border-top: 1px solid rgba(15,23,42,.06);
  border-bottom: 1px solid rgba(15,23,42,.06);
}
.s-vectors{ position:absolute; inset:0; pointer-events:none; z-index:0; }
.s-blob{ position:absolute; width: 520px; height: 520px; opacity:.55; z-index:0; }
.s-blob.blob-1{ left:-180px; top:-160px; }
.s-blob.blob-2{ right:-200px; bottom:-220px; opacity:.45; }
.s-blob svg{ width:100%; height:100%; display:block; }
.s-wrap{ position:relative; z-index:1; }

.s-olanaklarTop{
  display:flex; align-items:center; justify-content:center;
  gap:14px; margin: 0 0 18px;
  color: #6b783c; font-weight:500; letter-spacing:.12em;
  font-size:12px; text-transform:uppercase;
}
.s-olanaklarTop::before, .s-olanaklarTop::after{
  content:""; width:58px; height:2px;
  background: rgba(111,143,106,.45);
  border-radius:999px;
}
.s-heroRow{ display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:28px; }
.s-heroRight{ flex:0 0 460px; max-width:460px; margin-left:auto; color: rgba(2,6,23,.70); line-height:1.9; font-size:16px; }
.s-titleBig{ margin:0; font-weight:400; color: var(--ink); font-size: clamp(44px, 4.0vw, 78px); line-height:1.02; letter-spacing:-0.02em; }

.s-contentRow{ display:grid; grid-template-columns: 1.65fr .55fr; gap:34px; align-items:start; margin-top:18px; }
.s-mediaBox{ border-radius:6px; overflow:hidden; background:#f3f4f6; border:1px solid rgba(15,23,42,.10); box-shadow: 0 18px 46px rgba(2,6,23,.10); }
.s-mediaBox img{ width:100%; height:560px; display:block; object-fit:cover; transition: opacity .18s ease; }
.s-list{ display:flex; flex-direction:column; gap:12px; padding-top:6px; position:relative; }
.s-item{ width:100%; border:0; background:transparent; display:flex; gap:16px; align-items:flex-start; padding:14px 10px; border-radius:14px; cursor:pointer; transition: background .2s ease; text-align:left; }
.s-item:hover{ background: rgba(111,143,106,.06); }
.s-dot{ width:54px; height:54px; border-radius:50%; border:2px solid rgba(2,6,23,.18); background:#fff; position:relative; flex:0 0 54px; margin-top:2px; transition:.2s ease; }
.s-dot::after{ content:""; width:8px; height:8px; border-radius:50%; background:#0b0f14; opacity:.9; position:absolute; left:50%; top:50%; transform: translate(-50%,-50%); }
.s-txt h4{ margin:0 0 4px; font-weight:500; color: var(--ink); font-size:18px; line-height:1.2; transition:.2s ease; }
.s-txt p{ margin:0; color: rgba(2,6,23,.55); font-size:14px; line-height:1.4; }
.s-item.is-active{ background: rgba(111,143,106,.06); }
.s-item.is-active .s-dot{ border-color: #6b783c; box-shadow: 0 0 0 6px rgba(111,143,106,.12); }
.s-item.is-active .s-txt h4{ color:#6b783c; }

.s-arrowBtn{
  position:absolute; right: calc(100% + 14px);
  width:42px; height:42px; border-radius:999px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff; color:#6b783c;
  display:flex; align-items:center; justify-content:center;
  font-size:18px;
  box-shadow: 0 12px 30px rgba(2,6,23,.12);
  transition: transform .18s ease, opacity .18s ease;
  opacity:0; pointer-events:none; z-index:2;
}
.s-arrowBtn::after{
  content:""; position:absolute; right:-8px; width:0; height:0;
  border-top:8px solid transparent; border-bottom:8px solid transparent;
  border-left:8px solid #fff;
  filter: drop-shadow(2px 0 0 rgba(15,23,42,.10));
}

/* GALERİ */
.vb-gallery{ background:#d7d7d7; padding: clamp(70px, 6vw, 110px) 0; overflow:hidden; }
.vb-gallery .vb-wrap{ width:100%; margin:0 auto; padding-inline: clamp(16px, 3vw, 44px); }
.vb-head{ display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom: clamp(26px, 3vw, 44px); }
.vb-title{ margin:0; font-weight:500; letter-spacing:.08em; color: rgba(11,15,20,.70); font-size: clamp(44px, 4vw, 72px); }
.vb-arrows{ display:flex; gap:18px; align-items:center; user-select:none; }
.vb-arrow{ width:86px; height:26px; border:0; background:transparent; padding:0; cursor:pointer; opacity:.9; transition: transform .15s ease, opacity .15s ease; }
.vb-arrow:hover{ transform: translateY(-1px); opacity:1; }
.vb-arrow:active{ transform: translateY(0); opacity:.75; }
.vb-arrow svg{ width:100%; height:100%; display:block; }
.vb-arrow path{ stroke: #b08e63; stroke-width:2.2; fill:none; stroke-linecap:round; stroke-linejoin:round; }

.vb-stage{ position:relative; overflow:hidden; }
.vb-track{ display:flex; gap:18px; will-change: transform; transition: transform .42s ease; cursor: grab; }
.vb-track:active{ cursor: grabbing; }
.vb-item{ flex: 0 0 calc((100% - 18px*3)/4); background:#fff; overflow:hidden; box-shadow: 0 18px 46px rgba(2,6,23,.10); }
.vb-item img{ width:100%; height: clamp(240px, 18vw, 330px); object-fit: cover; display:block; transform: scale(1); transition: transform 1.1s ease; }
.vb-item:hover img{ transform: scale(1.04); }

@media (max-width: 1200px){ .vb-item{ flex-basis: calc((100% - 18px*2)/3); } }
@media (max-width: 900px){ .vb-item{ flex-basis: calc((100% - 18px)/2); } .vb-arrow{ width:74px; } }
@media (max-width: 520px){ .vb-item{ flex-basis: 86%; } .vb-track{ gap:14px; } }



/* ================== SECTION ================== */
.kp-katplani{
  padding:100px 0 120px;
  background:
    radial-gradient(900px 520px at 18% 22%, rgba(255,255,255,.14), transparent 65%),
    radial-gradient(820px 520px at 75% 20%, rgba(255,255,255,.10), transparent 62%),
    linear-gradient(180deg,var(--khaki-1),var(--khaki-2));
  overflow:hidden;
}

/* ================== HEADER ================== */
.kp-top{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:30px;
  margin-bottom:18px;
}
@media(max-width:992px){.kp-top{grid-template-columns:1fr}}

.kp-eyebrow{
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.15);
  color:#fff;
  font-size:12px;
  letter-spacing:.15em;
  font-weight:500;
}
.kp-title{
  margin:14px 0 8px;
  font-size:clamp(44px,5vw,76px);
  font-weight:400;
  letter-spacing:.08em;
  color:#f2fff2;
  text-transform:uppercase;
}
.kp-sub{color:rgba(255,255,255,.9); margin:0}

.kp-switchCard{
  border-radius:18px;
  padding:14px;
}
.kp-tab{
  width:100%;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.08);
  border-radius:14px;
  padding:14px;
  color:#fff;
  font-weight:500;
  letter-spacing:.06em;
  display:flex;
  align-items:center;
  gap:12px;
  transition: background .18s ease, transform .18s ease;
}
.kp-tab + .kp-tab{margin-top:10px}
.kp-tab:hover{transform: translateY(-1px); background:rgba(255,255,255,.12)}
.kp-tab.active{
  background: rgba(79, 111, 84, 0.85);
}
.kp-tabDot{
  width:10px;height:10px;border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 6px rgba(255,255,255,.10);
}

/* ================== SLIDER ================== */
.kp-pane{position:relative}
.kp-pane[hidden]{display:none}

.kp-slider{
  position:relative;
  margin-top:22px;
  padding-left: var(--kp-slider-gutter);
  padding-right: var(--kp-slider-gutter);
}

/* ✅ kritik: sol kart yarım görünmesin */
.kp-viewport{
  overflow:hidden;
  padding: 10px 0;
  scroll-behavior:smooth;

  /* scroll-snap ile “native slider” hissi */
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  scroll-snap-type:x mandatory;
}
.kp-viewport::-webkit-scrollbar{display:none;}

.kp-track{
  display:flex;
  gap:22px;
  will-change:transform; /* eski alışkanlık kalsın, ama artık scroll kullanıyoruz */
  padding-left: 1px;     /* border kırpılmasın */
  padding-right: 1px;
}

.kp-slide{
  /* JS viewport’a --kp-item-w basıyor */
  flex:0 0 var(--kp-item-w, calc((100% - 44px)/3));
  scroll-snap-align:start;
}

@media(max-width:992px){
  :root{ --kp-arrow-size: 70px; --kp-chev-size: 40px; --kp-chev-stroke: 7px; --kp-arrow-gap: 18px; }
}
@media(max-width:576px){
  :root{ --kp-arrow-size: 60px; --kp-chev-size: 34px; --kp-chev-stroke: 6px; --kp-arrow-gap: 14px; }
  .kp-slider{ padding-left: calc(var(--kp-arrow-size) + 10px); padding-right: calc(var(--kp-arrow-size) + 10px); }
}

/* ================== CARD ================== */
.kp-card{
  background:rgba(255,255,255,.12);
  border-radius:20px;
  padding:16px;
  text-decoration:none;
  color:#fff;
  transition:transform .2s ease, background .2s ease;
  box-shadow: 0 18px 44px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.12);
}
.kp-card:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,.16);
}
.kp-cardFrame{
  background:#fff;
  border-radius:14px;
  padding:14px;
}
.kp-cardFrame img{
  width:100%;
  height:320px;
  object-fit:contain;
  display:block;
}
.kp-cardCap{
  margin-top:12px;
  font-weight:400;
  letter-spacing:.02em;
}

/* ================== SLIDER OKLARI (DIŞTA) ================== */
.kp-arrow{
  position:absolute;
  top:58%;
  transform:translateY(-50%);
  width:var(--kp-arrow-size);
  height:var(--kp-arrow-size);
  background:none;
  border:0;
  cursor:pointer;
  z-index:5;
  opacity:.92;
  transition: opacity .15s ease, transform .15s ease;
}
.kp-arrow:hover{
  opacity:1;
  transform:translateY(-50%) scale(1.02);
}
.kp-arrow--left{
  left: calc((var(--kp-slider-gutter) - var(--kp-arrow-size)) / 2);
}
.kp-arrow--right{
  right: calc((var(--kp-slider-gutter) - var(--kp-arrow-size)) / 2);
}

.kp-chev{
  position:absolute;
  inset:0;
  margin:auto;
  width:var(--kp-chev-size);
  height:var(--kp-chev-size);
  border-top: var(--kp-chev-stroke) solid rgba(255,255,255,.90);
  border-right: var(--kp-chev-stroke) solid rgba(255,255,255,.90);
  filter: drop-shadow(0 10px 14px rgba(0,0,0,.20));
}
.kp-chev--l{transform:rotate(-135deg)}
.kp-chev--r{transform:rotate(45deg)}

.kp-arrow.is-disabled{
  opacity:.20;
  pointer-events:none;
}

/* ================== MODAL (galeri gibi “soft” arka plan) ================== */
.modal-backdrop.show{
  opacity: .45; /* ✅ siyahı kır */
}

/* modal kutusu */
.kp-lb{
  background: rgba(255,255,255,.08); /* ✅ siyah değil */
  border:1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  overflow:hidden;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 28px 90px rgba(0,0,0,.35);
}

/* içerik padding */
.kp-lbInner{
  padding: 16px 16px 10px;
}

#kpLightboxImg{
  width:100%;
  max-height: 82vh;
  object-fit: contain;
  display:block;
  border-radius: 16px;
  background: rgba(255,255,255,.92); /* ✅ galerideki gibi “görsel alanı” */
}

/* caption */
.kp-lbCap{
  margin-top: 10px;
  text-align:center;
  color: rgba(255,255,255,.92);
  font-weight: 500;
  letter-spacing:.02em;
  padding-bottom: 6px;
}

/* modal oklar (içeride) */
.kp-lbArrow{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  z-index:6;
  width: var(--kp-lb-arrow);
  height: var(--kp-lb-arrow);
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  display:grid;
  place-items:center;
  transition: transform .15s ease, background .15s ease, opacity .15s ease;
}
.kp-lbArrow:hover{
  background: rgba(255,255,255,.16);
  transform: translateY(-50%) scale(1.04);
}
.kp-lbArrow--left{ left: 14px; }
.kp-lbArrow--right{ right: 14px; }

.kp-lbChev{
  width: var(--kp-lb-chev);
  height: var(--kp-lb-chev);
  border-top: 3px solid rgba(255,255,255,.92);
  border-right: 3px solid rgba(255,255,255,.92);
}
.kp-lbChev--l{ transform: rotate(-135deg); }
.kp-lbChev--r{ transform: rotate(45deg); }

.kp-lbArrow.is-disabled{
  opacity:.25;
  pointer-events:none;
}

/* drag sırasında seçim olmasın */
.kp-viewport.is-dragging{ cursor: grabbing; }
.kp-viewport{ cursor: grab; }



/* Footer (kayan yazı) */
.dc-footer{
  --bg1:#3f5b47;
  --bg2:#2f4637;
  --white:rgba(255,255,255,.96);
  --muted:rgba(255,255,255,.65);
  position:relative;
  padding: 120px 90px;
  overflow:hidden;
  color:var(--white);
  font-family: "Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial;
  background:
    radial-gradient(900px 420px at 50% 25%, rgba(255,255,255,.14), transparent 62%),
    linear-gradient(180deg, var(--bg1), var(--bg2));
}
.dc-marquee{ position:absolute; left:0; width:100%; overflow:hidden; pointer-events:none; user-select:none; z-index:1; }
.dc-marquee.track1{ top: 50px; }
.dc-marquee.track2{ top: 185px; opacity:.55; }
.dc-marquee .track{ display:flex; width:max-content; will-change: transform; }
@keyframes marquee-left { 0%{ transform: translateX(0);} 100%{ transform: translateX(-50%);} }
@keyframes marquee-right{ 0%{ transform: translateX(-50%);} 100%{ transform: translateX(0);} }
.dc-marquee.track1 .track{ animation: marquee-left 20s linear infinite; }
.dc-marquee.track2 .track{ animation: marquee-right 32s linear infinite; }
.dc-marquee .item{ display:flex; align-items:center; gap: 80px; padding: 0 40px; white-space:nowrap; font-weight:300; letter-spacing:.5px; }
.dc-marquee.track1 .item{ font-size: clamp(44px, 6.5vw, 120px); color: rgba(255,255,255,.92); }
.dc-marquee.track2 .item{ font-size: clamp(34px, 5.2vw, 92px); color: rgba(255,255,255,.32); }
.dc-wrap{ position:relative; z-index:2; max-width:1200px; margin:0 auto; padding:0 18px; }
.dc-hero{ position:relative; display:flex; justify-content:center; align-items:center; margin: 0 0 16px; }
.footer-hero{ width:min(760px, 92vw); height:auto; display:block; filter: drop-shadow(0 40px 55px rgba(0,0,0,.22)); }
.dc-hero-slogan{ position:absolute; text-align:center; text-shadow: 0 20px 50px rgba(0,0,0,.20); bottom: 80px; }
.dc-hero-slogan .t1{ font-size:30px; font-weight:600; letter-spacing:.2px; line-height:1.0; }
.dc-hero-slogan .t2{ margin-top:6px; font-size:25px; font-weight:600; color: rgba(255,255,255,.95); line-height:1.05; }
.dc-bottom-grid{ display:grid; grid-template-columns:1fr auto 1fr; gap:22px; align-items:end; margin-top:18px; font-size:14px; color: rgba(255,255,255,.92); }
.dc-contact .row{ display:flex; gap:10px; align-items:center; line-height:1.85; }
.dc-contact a{ color: rgba(255,255,255,.95); }
.dc-brand{ text-align:center; }
.dc-brand strong{ display:block; font-size:18px; font-weight:500; text-transform:uppercase; letter-spacing:.5px; }
.dc-brand small{ display:block; letter-spacing:2px; color: rgba(255,255,255,.75); font-weight:400; }
.dc-right{ text-align:right; line-height:1.85; color: rgba(255,255,255,.92); }
.dc-copy{ margin-top:26px; padding-top:14px; border-top:1px solid rgba(255,255,255,.22); text-align:center; font-size:12.5px; color: rgba(255,255,255,.78); }

/* Lightbox Nav */
.vb-lb-nav{
  position:absolute; top:50%; transform: translateY(-50%);
  width:52px; height:52px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.12);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:26px; z-index:4;
  transition: transform .15s ease, background .15s ease;
  backdrop-filter: blur(8px);
}
.vb-lb-nav:hover{ background: rgba(255,255,255,.20); transform: translateY(-50%) scale(1.03); }
.vb-lb-prev{ left:14px; }
.vb-lb-next{ right:14px; }
.vb-lb-counter{
  position:absolute; left:14px; top:14px; z-index:4;
  color: rgba(255,255,255,.92);
  font-weight:500; font-size:13px; letter-spacing:.06em;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.14);
  padding: 8px 10px; border-radius: 999px;
  backdrop-filter: blur(8px);
}

/* Responsive */
@media (max-width: 992px){
     .brand-wrap {
        min-height: auto;
        padding: 12px 7px;
        border-radius: 10px;
        margin-top: -15px;
    }
  .brand-logo-img{ height:72px; }
  .hero-social{ display:none !important; }
  .btn-hero{ min-width:160px; padding: 12px 18px; }
  .project-band{ padding:60px 0; }
  .p-main-left{ min-height:auto; padding: 40px 18px; }
  .p-main-media{ min-height:340px; }
  .p-main-media img{ min-height:340px; }
  .locVera-hero{ padding:56px 0 40px; }
  .locVera-text{ margin-left:0; max-width:100%; }
  .locVera-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); gap: 40px 14px; }
  .section-social{ padding:72px 0 66px; }
  .s-heroRow{ flex-direction:column; gap:10px; }
  .s-heroRight{ max-width:none; margin-left:0;flex: 0 0 0; }
  .s-contentRow{ grid-template-columns:1fr; gap:18px; }
  .s-mediaBox img{ height:360px; }
  .s-arrowBtn{ display:none; }
  .dc-footer{ padding-top:130px; padding-inline: 18px; }
  .dc-bottom-grid{ grid-template-columns: 1fr; text-align:center; gap:14px; }
  .dc-right{ text-align:center; }
}
@media (max-width: 520px){
  .locVera-grid{ grid-template-columns:1fr; }
  .locVera-title{ font-size:44px; }
  .s-mediaBox img{ height:300px; }
}
@media (prefers-reduced-motion: reduce){
  .carousel-item.active .hero-bg{ animation: none !important; }
  .dc-marquee .track{ animation: none !important; }
}
