/* ── LOGO DIVIDER — premium animated section separator ── */
.logo-divider{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:64px 20px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,transparent 0%,rgba(9,34,92,.03) 50%,transparent 100%);
}
.logo-divider .ld-bracket{
  display:flex;align-items:center;gap:0;position:relative;
}
.logo-divider .ld-bracket::before,
.logo-divider .ld-bracket::after{
  content:"";height:2px;width:0;
  background:linear-gradient(90deg,transparent,var(--red),transparent);
  transition:width .8s cubic-bezier(.16,1,.3,1) .2s;
}
.logo-divider.in .ld-bracket::before,
.logo-divider.in .ld-bracket::after{width:140px}
.logo-divider .ld-bracket::before{margin-right:16px}
.logo-divider .ld-bracket::after{margin-left:16px}

.logo-divider .ld-logo{
  width:260px;height:260px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  position:relative;
  opacity:0;transform:scale(.6) rotate(-8deg);
  transition:all .7s cubic-bezier(.16,1,.3,1) .35s;
}
.logo-divider.in .ld-logo{opacity:1;transform:scale(1) rotate(0)}

.logo-divider .ld-logo img{
  width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 2px 8px rgba(9,34,92,.15));
}

/* scan line animation */
.logo-divider .ld-logo::before{
  content:"";position:absolute;inset:-4px;border-radius:50%;
  border:2px solid var(--red);
  opacity:0;
  animation:ld-pulse 2.5s ease-in-out infinite .8s;
}
.logo-divider.in .ld-logo::before{opacity:1}

@keyframes ld-pulse{
  0%{transform:scale(1);opacity:.6}
  50%{transform:scale(1.15);opacity:.15}
  100%{transform:scale(1);opacity:.6}
}

/* rotating ring */
.logo-divider .ld-ring{
  position:absolute;inset:-20px;border-radius:50%;
  border:1px dashed rgba(9,34,92,.12);
  opacity:0;
  transition:opacity .5s .6s;
}
.logo-divider.in .ld-ring{opacity:1;animation:ld-spin 12s linear infinite}

@keyframes ld-spin{to{transform:rotate(360deg)}}

/* scan line sweep */
.logo-divider .ld-scan{
  position:absolute;left:50%;top:0;width:1px;height:100%;
  background:linear-gradient(180deg,transparent,var(--red),transparent);
  opacity:0;transform:translateX(-50%);
  transition:opacity .3s;
}
.logo-divider.in .ld-scan{opacity:.4;animation:ld-sweep 3s ease-in-out infinite 1s}

@keyframes ld-sweep{
  0%{transform:translateX(-60px)}
  50%{transform:translateX(60px)}
  100%{transform:translateX(-60px)}
}

/* tagline under logo */
.logo-divider .ld-tag{
  font-family:var(--t-mono,monospace);font-size:9px;
  color:var(--steel,#5a6a7e);letter-spacing:.3em;
  text-transform:uppercase;margin-top:14px;
  opacity:0;transform:translateY(8px);
  transition:all .5s cubic-bezier(.16,1,.3,1) .5s;
}
.logo-divider.in .ld-tag{opacity:1;transform:translateY(0)}

/* dark section variant */
.bg-dark .logo-divider,.bg-navy .logo-divider{
  background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.02) 50%,transparent 100%);
}
.bg-dark .logo-divider .ld-logo img,
.bg-navy .logo-divider .ld-logo img{
  filter:drop-shadow(0 2px 12px rgba(255,255,255,.2)) brightness(0) invert(1);
}
.bg-dark .logo-divider .ld-tag,
.bg-navy .logo-divider .ld-tag{color:rgba(255,255,255,.4)}
.bg-dark .logo-divider .ld-ring,
.bg-navy .logo-divider .ld-ring{border-color:rgba(255,255,255,.08)}

@media(max-width:640px){
  .logo-divider{padding:32px 16px}
  .logo-divider .ld-logo{width:170px;height:170px}
  .logo-divider.in .ld-bracket::before,
  .logo-divider.in .ld-bracket::after{width:90px}
}
