/* ===== 15 FRANCHISE — merkez yayın → şube senkron → ağ özeti ===== */
.v15 {
  --cycle: 15s;
  background:
    radial-gradient(ellipse 50% 40% at 50% 18%, rgba(var(--brand-rgb),.14), transparent 55%),
    radial-gradient(ellipse 40% 35% at 20% 80%, rgba(126,182,255,.08), transparent 50%),
    #0a0c10;
}
.v15 .story { position:absolute; inset:0; }
.v15 .beat {
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:2.2% 3% 5.5%; gap:.35rem; overflow:hidden;
  opacity:0; visibility:hidden; pointer-events:none;
}
.v15 .b1 { animation:v15b1 var(--cycle) linear infinite; }
.v15 .b2 { animation:v15b2 var(--cycle) linear infinite; }
.v15 .b3 { animation:v15b3 var(--cycle) linear infinite; }
.v15 .b4 { animation:v15b4 var(--cycle) linear infinite; }
/* paylaşılan intro 0–16%; beatler sonra */
@keyframes v15b1 {
  0%,15%{opacity:0;visibility:hidden;transform:scale(1.03)}
  16%{opacity:0;visibility:visible}
  20%{opacity:1;transform:none}
  32%{opacity:1}
  36%{opacity:0}
  37%,100%{opacity:0;visibility:hidden}
}
@keyframes v15b2 {
  0%,35%{opacity:0;visibility:hidden;transform:translateY(14px)}
  36%{opacity:0;visibility:visible}
  40%{opacity:1;transform:none}
  56%{opacity:1}
  60%{opacity:0}
  61%,100%{opacity:0;visibility:hidden}
}
@keyframes v15b3 {
  0%,59%{opacity:0;visibility:hidden;transform:translateX(18px)}
  60%{opacity:0;visibility:visible}
  64%{opacity:1;transform:none}
  76%{opacity:1}
  80%{opacity:0}
  81%,100%{opacity:0;visibility:hidden}
}
@keyframes v15b4 {
  0%,79%{opacity:0;visibility:hidden;transform:scale(1.02)}
  80%{opacity:0;visibility:visible}
  84%{opacity:1;transform:none}
  100%{opacity:1;visibility:visible}
}
.v15 .eyebrow {
  margin:0; flex-shrink:0; font:800 .62rem Outfit,sans-serif; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(var(--brand-rgb),.95);
}
.v15 .title {
  margin:0; flex-shrink:0; text-align:center;
  font:800 clamp(1.05rem, 2.5vw, 1.55rem) Outfit,sans-serif;
  color:#fff; letter-spacing:-.02em; line-height:1.15;
}
.v15 .lead {
  margin:0; flex-shrink:0; text-align:center; max-width:42ch;
  font:600 clamp(.72rem, 1.6vw, .9rem) "IBM Plex Sans",sans-serif;
  color:#c5cede; line-height:1.35;
}

/* b1 — merkez paneli */
.v15 .ho {
  width:min(420px,92%); margin-top:.25rem;
  background:linear-gradient(165deg,#1a1f2a,#12151c);
  border:1px solid rgba(var(--brand-rgb),.4); border-radius:16px;
  padding:.7rem .8rem; box-shadow:0 16px 40px rgba(0,0,0,.35);
}
.v15 .ho-bar {
  display:flex; justify-content:space-between; align-items:center; gap:.5rem;
  margin-bottom:.55rem;
}
.v15 .ho-bar strong {
  font:800 .85rem Outfit,sans-serif; color:#fff;
}
.v15 .ho-bar em {
  font:800 .55rem Outfit,sans-serif; font-style:normal;
  padding:.18rem .45rem; border-radius:999px;
  background:rgba(var(--brand-rgb),.2); color:#ffb4b1;
}
.v15 .acts { display:flex; flex-direction:column; gap:.35rem; }
.v15 .act {
  display:flex; align-items:center; justify-content:space-between; gap:.5rem;
  padding:.45rem .55rem; border-radius:10px;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);
  font:600 .72rem "IBM Plex Sans",sans-serif; color:#c5cede;
}
.v15 .act b { font:800 .75rem Outfit,sans-serif; color:#fff; }
.v15 .act .go {
  font:800 .58rem Outfit,sans-serif; color:#fff;
  background:var(--brand); padding:.28rem .55rem; border-radius:8px;
}
.v15 .act.pulse {
  border-color:rgba(var(--brand-rgb),.55);
  box-shadow:0 0 0 0 rgba(var(--brand-rgb),.35);
  animation:v15act var(--cycle) var(--punch) infinite;
}
@keyframes v15act {
  0%,20%{box-shadow:0 0 0 0 rgba(var(--brand-rgb),0)}
  24%{box-shadow:0 0 0 6px rgba(var(--brand-rgb),.25); transform:scale(1.02)}
  28%{box-shadow:0 0 0 0 rgba(var(--brand-rgb),0); transform:none}
  36%,100%{box-shadow:none; transform:none}
}

/* b2 — dağıtım */
.v15 .net {
  position:relative; width:min(920px,100%); flex:1; min-height:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.55rem; margin-top:.15rem;
}
.v15 .hub {
  width:min(160px,40%); padding:.55rem .7rem; border-radius:12px;
  background:var(--brand); color:#fff; text-align:center;
  font:800 .78rem Outfit,sans-serif;
  box-shadow:0 12px 28px rgba(var(--brand-rgb),.35); z-index:2;
}
.v15 .hub small {
  display:block; font:600 .55rem "IBM Plex Sans",sans-serif; opacity:.9; margin-top:.1rem;
}
.v15 .pipes {
  position:relative; width:100%; height:52px; max-width:720px;
}
.v15 .pipes i {
  position:absolute; top:0; width:2px; height:100%;
  background:linear-gradient(180deg, var(--brand), rgba(var(--brand-rgb),.15));
  left:12.5%; opacity:.35;
}
.v15 .pipes i:nth-child(2){left:37.5%}
.v15 .pipes i:nth-child(3){left:62.5%}
.v15 .pipes i:nth-child(4){left:87.5%}
.v15 .pkt {
  position:absolute; top:0; left:12.5%; transform:translateX(-50%);
  padding:.18rem .4rem; border-radius:999px; white-space:nowrap;
  background:#fff; color:#151922; font:800 .5rem Outfit,sans-serif;
  box-shadow:0 6px 14px rgba(0,0,0,.35); opacity:0;
  animation:v15pkt var(--cycle) var(--snap) infinite;
}
.v15 .pkt:nth-child(5){left:12.5%; animation-delay:0s}
.v15 .pkt:nth-child(6){left:37.5%; animation-delay:.08s}
.v15 .pkt:nth-child(7){left:62.5%; animation-delay:.16s}
.v15 .pkt:nth-child(8){left:87.5%; animation-delay:.24s}
@keyframes v15pkt {
  0%,40%{opacity:0; top:0; transform:translateX(-50%) scale(.8)}
  44%{opacity:1; top:8%; transform:translateX(-50%) scale(1)}
  54%{opacity:1; top:78%; transform:translateX(-50%) scale(.95)}
  58%{opacity:0; top:92%; transform:translateX(-50%) scale(.6)}
  59%,100%{opacity:0}
}
.v15 .brs {
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
  gap:.4rem; width:100%; max-width:720px;
}
.v15 .br {
  background:#151922; border:1px solid rgba(255,255,255,.12);
  border-radius:12px; padding:.5rem .4rem; text-align:center; min-width:0;
  opacity:0; transform:translateY(10px);
  animation:v15br var(--cycle) var(--snap) infinite;
}
.v15 .br:nth-child(1){animation-delay:0s}
.v15 .br:nth-child(2){animation-delay:.08s}
.v15 .br:nth-child(3){animation-delay:.16s}
.v15 .br:nth-child(4){animation-delay:.24s}
@keyframes v15br {
  0%,48%{opacity:.35; transform:translateY(8px); border-color:rgba(255,255,255,.1)}
  54%{opacity:1; transform:none; border-color:rgba(125,255,178,.45); box-shadow:0 0 16px rgba(125,255,178,.12)}
  60%,100%{opacity:1; transform:none; border-color:rgba(125,255,178,.35)}
}
.v15 .br strong {
  display:block; font:800 .78rem Outfit,sans-serif; color:#fff; margin-bottom:.15rem;
}
.v15 .br span {
  display:inline-block; font:800 .5rem Outfit,sans-serif;
  padding:.12rem .35rem; border-radius:999px;
  background:rgba(125,255,178,.12); color:#9dffc4;
}

/* b3 — şube detay */
.v15 .branch-focus {
  display:grid; grid-template-columns:1.1fr 1fr; gap:.65rem;
  width:min(860px,100%); margin-top:.2rem; align-items:stretch;
}
.v15 .bf-card {
  background:#151922; border:1px solid rgba(125,255,178,.35);
  border-radius:16px; padding:.75rem .85rem;
  box-shadow:0 14px 32px rgba(125,255,178,.1);
}
.v15 .bf-card .tag {
  font:800 .55rem Outfit,sans-serif; letter-spacing:.08em; text-transform:uppercase;
  color:#9dffc4;
}
.v15 .bf-card h4 {
  margin:.25rem 0 .45rem; font:800 1.25rem Outfit,sans-serif; color:#fff;
}
.v15 .bf-card li {
  list-style:none; display:flex; justify-content:space-between; gap:.4rem;
  padding:.35rem 0; border-bottom:1px solid rgba(255,255,255,.06);
  font:600 .72rem "IBM Plex Sans",sans-serif; color:#c5cede;
}
.v15 .bf-card li:last-child { border-bottom:none; }
.v15 .bf-card li b { color:#9dffc4; font:800 .7rem Outfit,sans-serif; }
.v15 .bf-side {
  display:flex; flex-direction:column; gap:.4rem; justify-content:center;
}
.v15 .bf-side article {
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12);
  border-radius:12px; padding:.55rem .65rem;
}
.v15 .bf-side strong {
  display:block; font:800 .8rem Outfit,sans-serif; color:#fff; margin-bottom:.15rem;
}
.v15 .bf-side span {
  font:600 .68rem "IBM Plex Sans",sans-serif; color:#aeb6c6;
}

/* b4 — ağ özeti */
.v15 .final-h {
  margin:0; text-align:center;
  font:800 clamp(1.1rem, 2.5vw, 1.5rem) Outfit,sans-serif; color:#fff;
}
.v15 .final-grid {
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
  gap:.4rem; width:min(900px,100%); margin-top:.2rem;
}
.v15 .final-grid article {
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12);
  border-radius:12px; padding:.55rem .5rem; text-align:center; min-width:0;
}
.v15 .final-grid article:first-child {
  border-color:rgba(var(--brand-rgb),.45); background:rgba(var(--brand-rgb),.08);
}
.v15 .final-grid strong {
  display:block; font:800 .85rem Outfit,sans-serif; color:#fff; margin-bottom:.2rem;
}
.v15 .final-grid em {
  display:block; font:600 .62rem "IBM Plex Sans",sans-serif; font-style:normal; color:#aeb6c6;
}
.v15 .final-grid b {
  display:inline-block; margin-top:.3rem; font:800 .55rem Outfit,sans-serif;
  padding:.12rem .35rem; border-radius:999px;
  background:rgba(125,255,178,.14); color:#9dffc4;
}
.v15 .note {
  margin:.15rem 0 0; font:600 .7rem "IBM Plex Sans",sans-serif; color:#8b95a8; text-align:center;
}

.v15 .rail {
  position:absolute; left:50%; bottom:2.5%; transform:translateX(-50%);
  display:flex; gap:.3rem; z-index:5;
}
.v15 .rail i {
  width:22px; height:3px; border-radius:99px; background:rgba(255,255,255,.12);
}
.v15 .rail i:nth-child(1){animation:v15r1 var(--cycle) linear infinite}
.v15 .rail i:nth-child(2){animation:v15r2 var(--cycle) linear infinite}
.v15 .rail i:nth-child(3){animation:v15r3 var(--cycle) linear infinite}
.v15 .rail i:nth-child(4){animation:v15r4 var(--cycle) linear infinite}
@keyframes v15r1 {
  0%,16%{background:rgba(255,255,255,.12)} 17%,35%{background:var(--brand)} 36%,100%{background:rgba(255,255,255,.12)}
}
@keyframes v15r2 {
  0%,36%{background:rgba(255,255,255,.12)} 37%,59%{background:var(--brand)} 60%,100%{background:rgba(255,255,255,.12)}
}
@keyframes v15r3 {
  0%,60%{background:rgba(255,255,255,.12)} 61%,79%{background:#7dffb2} 80%,100%{background:rgba(255,255,255,.12)}
}
@keyframes v15r4 {
  0%,80%{background:rgba(255,255,255,.12)} 81%,100%{background:#7dffb2}
}
@media (max-width:640px) {
  .v15 .brs, .v15 .final-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .v15 .branch-focus { grid-template-columns:1fr; }
  .v15 .pkt { display:none; }
}

