.bo-logowall-wrap{
  --lw-navy-deep: #0F1E33;
  --lw-accent: #1083E6;
  --lw-accent-light: #BFE0FB;
  --lw-crystal: 255,255,255;
  --lw-ice: rgba(191,224,251,0.9);
  --lw-border: #E7ECF3;

  --lw-bg: #ffffff;
  --lw-pad-top: 56px;
  --lw-pad-bottom: 56px;
  --lw-pad-sides: 24px;
  --lw-container-max: 1300px;

  --lw-row-gap-v: 40px;
  --lw-logo-gap-h: 115px;
  --lw-mid-gap-h: 79px;
  --lw-side-gap-v: 32px;

  --lw-logo-w: 140px;
  --lw-logo-h: 56px;
  --lw-logo-bg: #ffffff;
  --lw-logo-border: #E7ECF3;
  --lw-logo-radius: 10px;
  --lw-logo-pad: 8px;

  --lw-heading-color: #0F1E33;
  --lw-center-max: 580px;
  --lw-btn-color: #ffffff;

  font-family:'Roboto', sans-serif;
}

.bo-logowall-wrap,
.bo-logowall-wrap *,
.bo-logowall-wrap *::before,
.bo-logowall-wrap *::after{ box-sizing:border-box; }

.bo-logowall-wrap .wall{
  position:relative;
  background: var(--lw-bg);
  padding: var(--lw-pad-top) var(--lw-pad-sides) var(--lw-pad-bottom);
  overflow:hidden;
}

.bo-logowall-wrap .wall-bg{ position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.bo-logowall-wrap .wall-bg span{
  position:absolute; border-radius:50%; filter: blur(60px); opacity:.35;
  background: radial-gradient(circle at 30% 30%, var(--lw-ice), transparent 70%);
  animation: bo-lw-float-blob 18s ease-in-out infinite;
}
.bo-logowall-wrap .wall-bg span:nth-child(1){ width:340px; height:340px; top:-80px; left:-60px; animation-duration:20s; }
.bo-logowall-wrap .wall-bg span:nth-child(2){ width:260px; height:260px; bottom:-70px; right:-40px; background: radial-gradient(circle at 60% 40%, var(--lw-accent-light), transparent 70%); animation-duration:24s; animation-delay:-4s; }
.bo-logowall-wrap .wall-bg span:nth-child(3){ width:200px; height:200px; top:40%; left:50%; background: radial-gradient(circle at 50% 50%, var(--lw-ice), transparent 70%); animation-duration:16s; animation-delay:-8s; }

@keyframes bo-lw-float-blob{
  0%, 100%{ transform: translate(0,0) scale(1); }
  33%{ transform: translate(30px,-24px) scale(1.08); }
  66%{ transform: translate(-24px,20px) scale(0.94); }
}

.bo-logowall-wrap .wall-inner{ position:relative; z-index:1; max-width: var(--lw-container-max); margin:0 auto; }

.bo-logowall-wrap .row{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap: var(--lw-row-gap-v) var(--lw-logo-gap-h); margin-bottom: var(--lw-row-gap-v);
}
.bo-logowall-wrap .row:last-child{ margin-bottom:0; }

.bo-logowall-wrap .row-mid{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap: var(--lw-row-gap-v) var(--lw-mid-gap-h); margin-bottom: var(--lw-row-gap-v);
}

.bo-logowall-wrap .side{ display:flex; flex-direction:column; gap: var(--lw-side-gap-v); }

/* ---------- Logo item ---------- */
.bo-logowall-wrap .logo{
  display:flex; align-items:center; gap:10px;
  opacity:0; transform: translateY(14px);
  transition: opacity .5s ease, transform .5s ease;
}
.bo-logowall-wrap .logo.in{ opacity:1; transform:translateY(0); }

/* Reveal disabled: show immediately, no animation-driven state needed */
.bo-logowall-wrap[data-lw-reveal="0"] .logo{ opacity:1; transform:none; transition:none; }

.bo-logowall-wrap .icon{
  position:relative;
  width: var(--lw-logo-w); height: var(--lw-logo-h);
  border-radius: var(--lw-logo-radius);
  display:flex; align-items:center; justify-content:center;
  background: var(--lw-logo-bg);
  border: 1px solid var(--lw-logo-border);
  flex-shrink:0; overflow:hidden;
  transition: box-shadow .35s ease, transform .35s ease;
  padding: var(--lw-logo-pad) calc(var(--lw-logo-pad) * 1.75);
}
.bo-logowall-wrap .icon img{ width:100%; height:100%; object-fit:contain; }

.bo-logowall-wrap .icon::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(115deg, transparent 30%, rgba(var(--lw-crystal),0.95) 50%, transparent 70%);
  transform: translateX(-140%); pointer-events:none;
}
.bo-logowall-wrap .icon.shine::after{ animation: bo-lw-sweep .85s ease; }
@keyframes bo-lw-sweep{ to{ transform: translateX(140%); } }

.bo-logowall-wrap .logo:hover .icon,
.bo-logowall-wrap .logo.shine .icon{
  box-shadow:
    0 0 0 3px rgba(var(--lw-crystal),1),
    0 0 0 4.5px var(--lw-ice),
    0 0 16px 2px var(--lw-ice),
    0 4px 10px -2px rgba(15,30,51,0.18);
  transform: translateY(-2px);
}

/* ---------- Center block ---------- */
.bo-logowall-wrap .center{ flex: 1 1 480px; max-width: var(--lw-center-max); text-align:center; padding: 12px 32px; }
.bo-logowall-wrap .center h1,
.bo-logowall-wrap .center h2,
.bo-logowall-wrap .center h3,
.bo-logowall-wrap .center h4,
.bo-logowall-wrap .center h5,
.bo-logowall-wrap .center h6,
.bo-logowall-wrap .center div,
.bo-logowall-wrap .center span{
  font-family:'Roboto Slab', serif; font-weight:700; color: var(--lw-heading-color);
  font-size: clamp(24px, 2.4vw, 34px); line-height:1.4; margin: 0 0 30px;
}
.bo-logowall-wrap .cta{
  display:inline-block; background: var(--lw-accent); color: var(--lw-btn-color);
  font-weight:700; font-size:15px; padding:14px 28px; border-radius:10px; border:none;
  cursor:pointer; text-decoration:none;
  box-shadow: 0 6px 18px -4px rgba(16,131,230,.4);
  transition: box-shadow .3s ease, transform .3s ease;
}
.bo-logowall-wrap .cta:hover{
  box-shadow: 0 0 0 3px rgba(var(--lw-crystal),1), 0 0 0 5px var(--lw-ice), 0 8px 24px -4px rgba(16,131,230,.5);
  transform: translateY(-2px);
}

.bo-logowall-wrap .mobile-break{ display:none; }

@media (prefers-reduced-motion: reduce){
  .bo-logowall-wrap .icon::after{ display:none; }
  .bo-logowall-wrap .logo{ transition:none; opacity:1; transform:none; }
  .bo-logowall-wrap .wall-bg span{ animation:none; }
}

/* ---------- Editor-active safety net ----------
   Elementor adds this class to the preview iframe <body> so plugins can
   force-show scroll-reveal content while editing, independent of any
   JS timing race. */
body.elementor-editor-active .bo-logowall-wrap .logo{
  opacity: 1 !important;
  transform: none !important;
}

/* ================= RESPONSIVE ================= */
@media (max-width: 980px){
  .bo-logowall-wrap .row,
  .bo-logowall-wrap .row-mid{ gap: calc(var(--lw-row-gap-v) * 0.85) calc(var(--lw-logo-gap-h) * 0.6); }
}

@media (max-width: 640px){
  .bo-logowall-wrap .wall-inner{
    display:flex; flex-wrap:wrap; justify-content:center; gap:10px 12px;
  }
  .bo-logowall-wrap .row,
  .bo-logowall-wrap .row-mid,
  .bo-logowall-wrap .side{ display:contents; }
  .bo-logowall-wrap .logo{ flex: 0 0 30%; max-width: 30%; justify-content:center; }
  .bo-logowall-wrap .center{ flex: 0 0 100%; margin: 16px 0; }
  .bo-logowall-wrap .icon{ width: calc(var(--lw-logo-w) * 0.7); height: calc(var(--lw-logo-h) * 0.82); }
  .bo-logowall-wrap .mobile-break{ display:block; flex: 0 0 100%; height:0; }
  .bo-logowall-wrap .wall{ width:100%; max-width:100%; }
}