/* =========================================================
   OSB SUCCESS STORIES – Premium UI
   Brand: Koyu mavi + turuncu vurgu
========================================================= */

:root{
  --bg:#0b1220;
  --surface:#0f172a;
  --card:#0b1630;
  --soft:#101b36;
  --text:#e5e7eb;
  --muted:#94a3b8;
  --line:rgba(148,163,184,.18);
  --brand:#0d3b66;
  --accent:#f97316;
  --accent2:#ffb703;
  --ok:#22c55e;
  --warn:#f59e0b;
  --bad:#ef4444;

  --radius:18px;
  --shadow: 0 18px 50px rgba(0,0,0,.38);
  --shadow2: 0 10px 28px rgba(0,0,0,.26);
}

*{box-sizing:border-box}
.osb-page{
  background: radial-gradient(1200px 600px at 10% -10%, rgba(249,115,22,.25), transparent 55%),
              radial-gradient(900px 600px at 90% 5%, rgba(13,59,102,.55), transparent 55%),
              linear-gradient(180deg, #070b16 0%, #070b16 45%, #050814 100%);
  color:var(--text);
  min-height:100vh;
}

.osb-container{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:14px;
  padding:12px 16px;
  font-weight:700;
  border:1px solid transparent;
  text-decoration:none;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
  user-select:none;
}
.btn:active{transform:translateY(1px)}
.btn--primary{
  background: linear-gradient(135deg, var(--accent) 0%, #ff8a3a 60%, var(--accent2) 120%);
  color:#111827;
  box-shadow: 0 14px 38px rgba(249,115,22,.22);
}
.btn--primary:hover{box-shadow: 0 18px 55px rgba(249,115,22,.28)}
.btn--ghost{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.14);
  color: var(--text);
}
.btn--ghost:hover{
  background: rgba(255,255,255,.09);
  border-color: rgba(255,255,255,.22);
}
.btn--full{width:100%}

/* Hero */
.osb-hero{
  position:relative;
  padding: 44px 0 24px;
}
.osb-hero__bg{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 460px at 15% 10%, rgba(13,59,102,.70), transparent 65%),
    radial-gradient(700px 420px at 85% 20%, rgba(249,115,22,.25), transparent 62%);
  pointer-events:none;
}
.osb-hero__inner{
  position:relative;
  display:grid;
  grid-template-columns: 1.25fr .95fr;
  gap:22px;
  align-items:stretch;
}
.osb-hero__eyebrow{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px}
.chip{
  font-weight:800;
  font-size:12px;
  padding:8px 10px;
  border-radius:999px;
  background: rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  letter-spacing:.2px;
}
.chip--dark{background: rgba(0,0,0,.22); border-color: rgba(255,255,255,.12)}
.chip--outline{background: transparent; border-color: rgba(249,115,22,.35); color:#ffd1b2}

.osb-hero__title{
  font-size: clamp(26px, 3.2vw, 42px);
  line-height:1.1;
  margin: 0 0 12px;
  letter-spacing:-.4px;
}
.accent{color: var(--accent)}
.osb-hero__desc{color: var(--muted); line-height:1.7; margin:0 0 16px; font-size:15px}
.osb-hero__cta{display:flex; gap:10px; flex-wrap:wrap; margin: 14px 0 18px}
.osb-hero__contact{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
.mini{
  background: rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  border-radius: var(--radius);
  padding:12px 14px;
}
.mini__k{font-size:12px; color:var(--muted); margin-bottom:5px}
.mini__v a{color: var(--text); text-decoration:none; font-weight:800}

/* Hero Card */
.hero-card{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  box-shadow: var(--shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.hero-card__top{padding:16px 16px 10px}
.hero-card__badge{
  display:inline-flex;
  padding:8px 10px;
  border-radius:999px;
  background: rgba(13,59,102,.55);
  border:1px solid rgba(255,255,255,.12);
  font-weight:900;
  font-size:12px;
}
.hero-card__title{margin-top:10px; font-size:18px; font-weight:900; letter-spacing:-.2px}
.hero-card__media{
  position:relative;
  aspect-ratio: 16/10;
  background: rgba(0,0,0,.25);
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.hero-card__media img{width:100%; height:100%; object-fit:cover; display:block}
.hero-card__media.noimg img{display:none}
.hero-card__media-fallback{
  position:absolute; inset:0;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  text-align:center;
  color: rgba(229,231,235,.75);
  font-weight:800;
  padding:14px;
}
.hero-card__media-fallback small{display:block; margin-top:6px; color:rgba(148,163,184,.85); font-weight:700}
.hero-card__kpis{
  display:grid;
  grid-template-columns: repeat(2,1fr);
  gap:10px;
  padding:14px 16px 10px;
}





.modal{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.65);
  display:none;
  z-index:99999;
  align-items:flex-start;
  justify-content:center;
  padding-top:80px;
}

.modal.open{
  display:flex;
}

.modal__overlay{
  position:absolute;
  inset:0;
}

.modal__panel{
  position:relative;
  width:min(980px, calc(100% - 24px));
  background:#070b16;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  box-shadow:var(--shadow);
  max-height:calc(100vh - 100px);
  overflow-y:auto;
  margin:0;
  z-index:1;
}

.modal__close{
  position:sticky;
  top:8px;
  float:right;
  margin:10px;
  z-index:10;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--text);
  padding: 8px 12px;
  border-radius: 14px;
  cursor:pointer;
  font-weight:1000;
}











.kpi{
  background: rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  padding:12px;
}
.kpi__n{font-size:18px; font-weight:1000}
.kpi__t{font-size:12px; color:var(--muted); margin-top:4px}
.hero-card__note{
  padding: 0 16px 16px;
  color: rgba(148,163,184,.95);
  font-size:12.5px;
  line-height:1.55;
}

/* Filter */
.osb-filter{
  position:sticky;
  top:0; /* header yüksekliğin çoksa bunu 70px yap */
  z-index:20;
  backdrop-filter: blur(14px);
  background: rgba(7,11,22,.65);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.osb-filter__inner{padding:14px 0 14px}
.filter-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:12px; margin-bottom:10px;
}
.filter-head__title{font-weight:1000; letter-spacing:-.2px}
.filter-head__sub{color:var(--muted); font-size:12px}

.quick-chips{
  display:flex; flex-wrap:wrap; gap:10px;
  padding: 8px 0 12px;
}
.qchip{
  border-radius:999px;
  padding:10px 12px;
  font-weight:900;
  font-size:12px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--text);
  cursor:pointer;
  transition:transform .15s ease, background .2s ease, border-color .2s ease;
}
.qchip:hover{transform:translateY(-1px); background: rgba(255,255,255,.09)}
.qchip--danger{
  border-color: rgba(239,68,68,.35);
  background: rgba(239,68,68,.10);
}

.filter-grid{
  display:grid;
  grid-template-columns: 1.3fr .85fr .85fr .9fr .7fr 1fr;
  gap:12px;
  align-items:end;
}
.field label{display:block; font-size:12px; color:var(--muted); margin:0 0 6px; font-weight:800}
.field input, .field select, .field textarea{
  width:100%;
  border-radius: 14px;
  padding: 12px 12px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  color: var(--text);
  outline:none;
}
.field input::placeholder, .field textarea::placeholder{color: rgba(148,163,184,.65)}
.field .hint{margin-top:6px; font-size:11px; color: rgba(148,163,184,.85)}
.field--buttons .btnrow{display:flex; gap:10px}

.filter-foot{
  display:flex; gap:12px; align-items:flex-start; justify-content:space-between;
  padding-top:12px;
}
.foot-note{color: rgba(148,163,184,.92); font-size:12px; line-height:1.6; max-width: 68ch}
.result-pill{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  padding:10px 12px;
  border-radius: 999px;
  font-size:12px;
  white-space:nowrap;
}
.result-pill b{font-weight:1000}

/* Section head */
.section-head{padding:28px 0 10px}
.section-head h2{margin:0 0 8px; font-size:26px; letter-spacing:-.3px}
.section-head p{margin:0; color:var(--muted); line-height:1.7}

/* Cards */
.cards{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
  padding-bottom: 16px;
}

.card{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  box-shadow: var(--shadow2);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height: 330px;
}
.card__media{
  position:relative;
  aspect-ratio: 16/9;
  background: rgba(0,0,0,.28);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.card__media img{width:100%; height:100%; object-fit:cover; display:block}
.card__media.noimg img{display:none}
.card__media .fallback{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  padding:12px;
  color: rgba(229,231,235,.75);
  font-weight:900;
}
.card__body{padding:14px 14px 12px}
.card__meta{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px}
.badge{
  font-size:11px;
  font-weight:900;
  padding:7px 9px;
  border-radius:999px;
  background: rgba(13,59,102,.55);
  border:1px solid rgba(255,255,255,.12);
}
.badge--accent{background: rgba(249,115,22,.18); border-color: rgba(249,115,22,.35); color:#ffd1b2}
.badge--soft{background: rgba(255,255,255,.05)}
.card__title{
  font-size:15px;
  line-height:1.35;
  margin:0 0 8px;
  font-weight:1000;
  letter-spacing:-.2px;
}
.card__summary{
  margin:0 0 10px;
  color: rgba(148,163,184,.96);
  line-height:1.65;
  font-size:13px;
}
.card__roles{display:flex; flex-wrap:wrap; gap:8px; margin: 8px 0 4px}
.pill{
  font-size:11px;
  padding:7px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(229,231,235,.92);
  max-width: 100%;
}
.card__foot{
  margin-top:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding: 12px 14px 14px;
  border-top:1px solid rgba(255,255,255,.10);
  gap:10px;
}
.counts{
  display:flex; gap:10px; flex-wrap:wrap;
  color: rgba(229,231,235,.90);
  font-size:12px;
}
.counts b{font-weight:1000}
.linkbtn{
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--text);
  padding: 10px 12px;
  border-radius: 14px;
  font-weight:1000;
  cursor:pointer;
}
.linkbtn:hover{background: rgba(255,255,255,.09)}

/* Load more */
.loadmore-wrap{display:flex; justify-content:center; padding: 6px 0 30px}

/* Form */
.osb-form{padding: 26px 0 44px}
.form-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:14px;
  align-items:stretch;
}
.form-left, .form-right{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  box-shadow: var(--shadow2);
  padding: 18px;
}
.form-left h3{margin:0 0 10px; font-size:20px; font-weight:1000}
.muted{color:var(--muted); line-height:1.7}
.bullets{margin: 12px 0 0; padding-left: 18px; color: rgba(229,231,235,.90); line-height:1.7}
.legal-box{
  margin-top: 14px;
  border-radius: 18px;
  padding: 12px 12px;
  background: rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.10);
  color: rgba(148,163,184,.95);
  line-height:1.6;
  font-size:12.5px;
}
.cardform .row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
}
.cardform .field{margin-bottom:10px}
.cardform textarea{resize:vertical; min-height:120px}
.hp{position:absolute; left:-9999px; opacity:0; width:1px; height:1px}
.iskur-note{
  margin-top: 12px;
  color: rgba(148,163,184,.92);
  font-size:12px;
}

/* Modal */
.modal{position:fixed; inset:0; display:none; z-index:9999}
.modal.open{display:block}
.modal__overlay{position:absolute; inset:0; background: rgba(0,0,0,.62)}
.modal__panel{
  position:relative;
  width:min(980px, calc(100% - 24px));
  margin: 22px auto;
  background: #070b16;
  border:1px solid rgba(255,255,255,.14);
  border-radius: 22px;
  box-shadow: var(--shadow);
  overflow:hidden;
}
.modal__close{
  position:absolute;
  top:10px; right:10px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--text);
  padding: 10px 12px;
  border-radius: 14px;
  cursor:pointer;
  font-weight:1000;
}
.modal__body{padding: 18px}

/* Modal content blocks */
.mh{
  display:flex; flex-wrap:wrap; gap:10px;
  align-items:center; justify-content:space-between;
  margin-bottom: 12px;
}
.mh h3{margin:0; font-size:18px; font-weight:1000; letter-spacing:-.2px}
.mgrid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:12px;
}
.box{
  background: rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 12px;
}
.box h4{margin:0 0 8px; font-size:14px; font-weight:1000}
.ul{margin:0; padding-left: 18px; line-height:1.7; color: rgba(229,231,235,.92)}
.kpis2{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:10px;
}
.kpi2{
  background: rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 10px;
}
.kpi2 b{display:block; font-size:16px; font-weight:1000}
.kpi2 span{font-size:12px; color: var(--muted)}
.table{
  width:100%;
  border-collapse:collapse;
  overflow:hidden;
  border-radius: 16px;
}
.table th, .table td{
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:10px 10px;
  text-align:left;
  font-size:12.5px;
  color: rgba(229,231,235,.92);
}
.table th{color: rgba(148,163,184,.98); font-weight:1000; background: rgba(255,255,255,.04)}
.gallery{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
}
.gallery img{
  width:100%;
  height:140px;
  object-fit:cover;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
}
.gallery .gph{
  height:140px;
  border-radius: 16px;
  border:1px dashed rgba(255,255,255,.18);
  background: rgba(255,255,255,.03);
  display:flex; align-items:center; justify-content:center;
  color: rgba(148,163,184,.92);
  font-weight:900;
  text-align:center;
  padding:10px;
}

/* Responsive */
@media (max-width: 1040px){
  .osb-hero__inner{grid-template-columns:1fr; gap:14px}
  .filter-grid{grid-template-columns: 1fr 1fr 1fr; }
  .field--buttons{grid-column:1 / -1}
  .cards{grid-template-columns: repeat(2,1fr)}
  .form-grid{grid-template-columns:1fr}
  .mgrid{grid-template-columns:1fr}
  .kpis2{grid-template-columns: repeat(2,1fr)}
}
@media (max-width: 640px){
  .osb-hero{padding-top:28px}
  .osb-hero__contact{grid-template-columns:1fr}
  .filter-grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .cardform .row{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
}
/* ===== MOBIL KART GÖRÜNÜRLÜK FIX ===== */

.cards,
.card{
  position: relative;
  z-index: 5;
}

.osb-hero__bg{
  z-index: 0;
}

.osb-hero__inner{
  position: relative;
  z-index: 2;
}

.osb-filter{
  z-index: 50;
}

.osb-page{
  position: relative;
  z-index: 1;
}

.cards{ background: transparent; }

.cards, .card{
  position: relative;
  z-index: 10;
}

/* ===== MOBIL STACK FIX ===== */

.osb-page{
  position: relative;
  z-index: 1;
}

.osb-hero__bg{
  z-index: -1 !important;
}

.osb-hero,
.osb-filter,
.osb-list{
  position: relative;
  z-index: 2;
}

.cards{
  position: relative !important;
  z-index: 20 !important;
  background: transparent;
}

.card{
  position: relative !important;
  z-index: 21 !important;
}

/* mobil özel garanti */
@media (max-width: 768px){
  .osb-page *{
    transform: none !important;
  }
}

@media (max-width:768px){
  .modal__panel{
    margin-top:70px;
    max-height: calc(100vh - 90px);
  }

  .modal__close{
    top: 8px;
    right: 8px;
    padding: 8px 10px;
    font-size:14px;
  }
}
.modal__panel{
  overflow-y:auto;
  -webkit-overflow-scrolling: touch;
}

.modal__body{
  padding-bottom:40px;
}


.highlight-box{
  margin:16px 0;
  padding:14px;
  border-radius:16px;
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
}

.highlight-box strong{
  display:block;
  margin-bottom:8px;
  font-size:14px;
  font-weight:900;
}

.highlight-box ul{
  margin:0;
  padding-left:18px;
  line-height:1.6;
}
