/* ---------- Pizzazz additions ---------- */

.hero .blob{
  position:absolute;border-radius:50%;filter:blur(60px);opacity:.35;z-index:0;
  animation:float 14s ease-in-out infinite;
}
.blob1{width:340px;height:340px;background:#5ea0ff;top:-120px;right:-80px;animation-delay:0s;}
.blob2{width:260px;height:260px;background:#8ad0ff;bottom:-100px;left:10%;animation-delay:3s;}
.blob3{width:200px;height:200px;background:#c9a8ff;top:40%;right:20%;animation-delay:6s;}
@keyframes float{
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(20px,-30px) scale(1.08);}
}
.sparkle{
  position:absolute;z-index:1;color:rgba(255,255,255,.85);font-size:1.4rem;
  animation:twinkle 2.4s ease-in-out infinite;
}
@keyframes twinkle{
  0%,100%{opacity:.2;transform:scale(.8);}
  50%{opacity:1;transform:scale(1.15);}
}

.wave-divider{display:block;width:100%;line-height:0;margin-top:-2px;}
.wave-divider svg{width:100%;height:70px;display:block;}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}
.reveal-stagger.in-view .service-card{opacity:1;transform:translateY(0);}
.reveal-stagger .service-card{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease;}
.reveal-stagger.in-view .service-card:nth-child(1){transition-delay:.05s;}
.reveal-stagger.in-view .service-card:nth-child(2){transition-delay:.1s;}
.reveal-stagger.in-view .service-card:nth-child(3){transition-delay:.15s;}
.reveal-stagger.in-view .service-card:nth-child(4){transition-delay:.2s;}
.reveal-stagger.in-view .service-card:nth-child(5){transition-delay:.25s;}
.reveal-stagger.in-view .service-card:nth-child(6){transition-delay:.3s;}
.reveal-stagger.in-view .service-card:nth-child(7){transition-delay:.35s;}

/* Before / After sliders */
.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.ba-card{text-align:center;}
.ba-card h3{color:var(--navy);font-weight:800;margin-bottom:14px;font-size:1.15rem;}
.ba-slider{
  position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;
  box-shadow:0 16px 36px rgba(11,31,75,.16);user-select:none;background:#000;
}
.ba-media{position:absolute;top:0;left:0;height:100%;background-size:cover;background-position:center;pointer-events:none;}
.ba-after-media{width:100%;z-index:1;}
.ba-before{position:absolute;top:0;left:0;height:100%;width:50%;overflow:hidden;border-right:3px solid #fff;z-index:2;}
.ba-tag{
  position:absolute;top:14px;padding:5px 14px;border-radius:20px;font-size:.72rem;
  font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#fff;z-index:3;
}
.ba-tag.before-tag{left:14px;background:rgba(11,31,75,.75);}
.ba-tag.after-tag{right:14px;background:rgba(20,71,184,.85);}
.ba-handle{
  position:absolute;top:0;bottom:0;left:50%;width:0;z-index:4;pointer-events:none;
  transform:translateX(-50%);
}
.ba-handle .knob{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:42px;height:42px;border-radius:50%;background:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
  display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--navy);
}
.ba-range{
  position:absolute;inset:0;width:100%;height:100%;margin:0;
  -webkit-appearance:none;appearance:none;background:transparent;cursor:ew-resize;z-index:5;
}
.ba-range::-webkit-slider-thumb{-webkit-appearance:none;width:42px;height:100%;background:transparent;}
.ba-range::-moz-range-thumb{width:42px;height:100%;background:transparent;border:none;}
.ba-caption{margin-top:12px;color:var(--muted);font-size:.88rem;}

/* Sticky mobile call bar */
.mobile-bar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:200;
  background:var(--navy);padding:10px 14px;box-shadow:0 -6px 20px rgba(0,0,0,.25);
}
.mobile-bar .row{display:flex;gap:10px;max-width:1150px;margin:0 auto;}
.mobile-bar a{
  flex:1;text-align:center;padding:12px 0;border-radius:10px;font-weight:800;font-size:.92rem;
  text-decoration:none;
}
.mobile-bar .call{background:#fff;color:var(--navy);}
.mobile-bar .text{background:var(--blue-light);color:#fff;}

@media (max-width:760px){
  .ba-grid{grid-template-columns:1fr;}
  .mobile-bar{display:block;}
  body{padding-bottom:66px;}
}

.simple-gallery{display:flex;flex-direction:column;gap:32px;max-width:720px;margin:0 auto;}
.gallery-row h3{color:var(--navy);font-weight:800;margin-bottom:12px;font-size:1.15rem;text-align:center;}
.gallery-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.gallery-pair figure{
  position:relative;border-radius:14px;overflow:hidden;
  box-shadow:0 12px 28px rgba(11,31,75,.14);aspect-ratio:4/3;background:#eef1f7;
}
.gallery-pair img{width:100%;height:100%;object-fit:cover;display:block;}
.gallery-pair figcaption{
  position:absolute;left:10px;top:10px;background:rgba(11,31,75,.75);color:#fff;
  font-size:.7rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;
  padding:4px 10px;border-radius:14px;
}
@media (max-width:560px){
  .gallery-pair{gap:8px;}
}
