/* SALTOJI BANGA homepage atmosphere — workshop / foundation / signal CTA */

.home .sb-solutions-section,
.home #primary > .sb-section:not(.sb-solutions-section),
.home .sb-footer-cta{
  --sb-ambient-x:50%;
  --sb-ambient-y:42%;
}

/* 02 — workshop / systems lab */
.home .sb-solutions-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at var(--sb-ambient-x) var(--sb-ambient-y),rgba(84,215,255,.16),transparent 31%),
    radial-gradient(ellipse at 14% 36%,rgba(8,122,166,.075),transparent 31%),
    radial-gradient(ellipse at 88% 22%,rgba(84,215,255,.10),transparent 28%),
    linear-gradient(180deg,#f8fcfd 0%,#eef8fb 48%,#f8fbfc 100%);
  box-shadow:inset 0 1px 0 rgba(84,215,255,.10),inset 0 -1px 0 rgba(8,122,166,.08);
}
.home .sb-solutions-section::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  opacity:.52;
  background-image:
    linear-gradient(rgba(8,122,166,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(8,122,166,.045) 1px,transparent 1px),
    repeating-linear-gradient(90deg,transparent 0 108px,rgba(8,122,166,.055) 109px 110px,transparent 111px 216px);
  background-size:46px 46px,46px 46px,216px 100%;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.82),rgba(0,0,0,.46) 72%,transparent 100%);
}
.home .sb-solutions-section::after{
  content:"";
  position:absolute;
  z-index:0;
  left:-9%;
  right:-9%;
  bottom:-8%;
  height:52%;
  pointer-events:none;
  opacity:.33;
  background-image:
    repeating-linear-gradient(90deg,rgba(8,122,166,.12) 0 1px,transparent 1px 64px),
    repeating-linear-gradient(0deg,rgba(84,215,255,.12) 0 1px,transparent 1px 42px),
    linear-gradient(180deg,rgba(255,255,255,0),rgba(84,215,255,.055));
  clip-path:polygon(16% 0,84% 0,100% 100%,0 100%);
  transform:perspective(760px) rotateX(58deg) translateY(20%);
  transform-origin:50% 100%;
  filter:drop-shadow(0 -10px 25px rgba(84,215,255,.06));
}
.home .sb-solutions-section>.sb-shell{position:relative;z-index:2}
.home .sb-solutions-section .sb-section-heading::after{
  content:"";
  display:block;
  width:clamp(88px,12vw,170px);
  height:2px;
  margin-top:16px;
  border-radius:999px;
  opacity:.54;
  background:linear-gradient(90deg,var(--sb-cyan),var(--sb-accent),transparent);
  box-shadow:0 0 14px rgba(84,215,255,.22);
  transform-origin:left center;
  transform:scaleX(.62);
  transition:transform .7s cubic-bezier(.18,.76,.24,1),opacity .3s ease;
}
.home .sb-solutions-section.is-ambient-active .sb-section-heading::after{transform:scaleX(1);opacity:.88}

/* 03 — foundation / engineering forge */
.home #primary > .sb-section:not(.sb-solutions-section){
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at var(--sb-ambient-x) var(--sb-ambient-y),rgba(84,215,255,.12),transparent 30%),
    radial-gradient(ellipse at 50% 112%,rgba(8,122,166,.13),transparent 48%),
    linear-gradient(180deg,#f8fbfc 0%,#f3f9fb 46%,#edf7fa 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(8,122,166,.08);
}
.home #primary > .sb-section:not(.sb-solutions-section)::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  opacity:.42;
  background:
    linear-gradient(115deg,transparent 0 18%,rgba(8,122,166,.055) 18.1% 18.3%,transparent 18.4% 100%),
    linear-gradient(65deg,transparent 0 71%,rgba(84,215,255,.07) 71.1% 71.3%,transparent 71.4% 100%),
    repeating-linear-gradient(0deg,transparent 0 53px,rgba(8,122,166,.038) 54px 55px);
  mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.55) 22%,rgba(0,0,0,.82) 100%);
}
.home #primary > .sb-section:not(.sb-solutions-section)::after{
  content:"";
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  bottom:0;
  height:38%;
  pointer-events:none;
  opacity:.46;
  background:
    linear-gradient(90deg,transparent 0 8%,rgba(84,215,255,.14) 8.2% 8.35%,transparent 8.5% 22%,rgba(8,122,166,.10) 22.2% 22.35%,transparent 22.5% 76%,rgba(84,215,255,.11) 76.2% 76.35%,transparent 76.5%),
    linear-gradient(180deg,transparent,rgba(8,122,166,.055));
}
.home #primary > .sb-section:not(.sb-solutions-section)>.sb-shell{position:relative;z-index:2}
.home .sb-process-grid{position:relative;isolation:isolate}
.home .sb-process-grid::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:5%;
  right:5%;
  top:50%;
  height:1px;
  opacity:.58;
  background:linear-gradient(90deg,transparent,rgba(84,215,255,.52) 12%,rgba(8,122,166,.34) 50%,rgba(84,215,255,.52) 88%,transparent);
  box-shadow:0 0 10px rgba(84,215,255,.16);
}
.home .sb-process-grid::after{
  content:"";
  position:absolute;
  z-index:3;
  top:calc(50% - 4px);
  left:5%;
  width:8px;
  height:8px;
  border-radius:50%;
  opacity:0;
  pointer-events:none;
  background:var(--sb-cyan);
  box-shadow:0 0 0 5px rgba(84,215,255,.09),0 0 18px rgba(84,215,255,.66);
}
.home #primary > .sb-section:not(.sb-solutions-section).is-ambient-active .sb-process-grid::after{animation:sb-foundation-pulse 4.8s ease-in-out infinite}
@keyframes sb-foundation-pulse{
  0%{left:5%;opacity:0;transform:scale(.7)}
  8%{opacity:.9}
  48%{opacity:.72;transform:scale(1)}
  92%{opacity:.9}
  100%{left:94%;opacity:0;transform:scale(.72)}
}
.home .sb-process-card{backdrop-filter:blur(4px) saturate(110%)}

/* 04 — message / signal path / frost CTA, homepage only */
.home .sb-footer-cta{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at var(--sb-ambient-x) var(--sb-ambient-y),rgba(84,215,255,.20),transparent 28%),
    radial-gradient(circle at 17% 50%,rgba(8,122,166,.10),transparent 25%),
    radial-gradient(circle at 86% 38%,rgba(84,215,255,.16),transparent 28%),
    linear-gradient(112deg,#e7f7fb 0%,#f9fcfd 52%,#e7f6fa 100%);
  border-top:1px solid rgba(84,215,255,.16);
  border-bottom:1px solid rgba(8,122,166,.12);
}
.home .sb-footer-cta::before{
  content:"@";
  position:absolute;
  z-index:0;
  left:clamp(4%,8vw,10%);
  top:50%;
  color:rgba(8,122,166,.095);
  font-size:clamp(5rem,10vw,9.5rem);
  line-height:1;
  font-weight:900;
  transform:translateY(-51%) rotate(-7deg);
  text-shadow:0 0 32px rgba(84,215,255,.13);
  pointer-events:none;
}
.home .sb-footer-cta::after{
  content:"✉";
  position:absolute;
  z-index:0;
  right:clamp(14%,19vw,23%);
  top:17%;
  color:rgba(8,122,166,.20);
  font-size:clamp(1.55rem,2.6vw,2.25rem);
  transform:rotate(-8deg);
  filter:drop-shadow(0 0 9px rgba(84,215,255,.18));
  pointer-events:none;
  animation:sb-mail-float 4.6s ease-in-out infinite;
}
@keyframes sb-mail-float{0%,100%{transform:translate3d(0,0,0) rotate(-8deg)}50%{transform:translate3d(7px,-5px,0) rotate(-3deg)}}
.home .sb-footer-cta__inner{position:relative;z-index:2}
.home .sb-footer-cta__inner::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:22%;
  right:16%;
  top:58%;
  height:1px;
  opacity:.34;
  background:repeating-linear-gradient(90deg,rgba(8,122,166,.55) 0 9px,transparent 9px 17px);
  filter:drop-shadow(0 0 5px rgba(84,215,255,.32));
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  animation:sb-signal-route 3.1s linear infinite;
}
@keyframes sb-signal-route{to{background-position:68px 0}}
.home .sb-footer-cta h2{
  position:relative;
  color:#123642;
  background:linear-gradient(90deg,#123642 0%,#123642 24%,#087aa6 43%,#54d7ff 50%,#087aa6 57%,#123642 76%,#123642 100%);
  background-size:235% 100%;
  background-position:100% 50%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.home .sb-footer-cta.is-ambient-active h2{animation:sb-cta-text-signal 5.4s ease-in-out infinite}
@keyframes sb-cta-text-signal{0%,18%{background-position:100% 50%}55%{background-position:0% 50%}100%{background-position:-100% 50%}}
.home .sb-footer-cta p{color:#58747f}
.home .sb-footer-cta .sb-button{
  position:relative;
  overflow:visible;
  box-shadow:0 14px 32px rgba(8,122,166,.16),0 0 0 1px rgba(84,215,255,.06);
  transition:transform .22s ease,box-shadow .28s ease,filter .28s ease,background .28s ease;
}
.home .sb-footer-cta .sb-button:hover,.home .sb-footer-cta .sb-button:focus{
  transform:translateY(-2px) scale(1.012);
  background:radial-gradient(circle at 21% 25%,rgba(255,255,255,.36),transparent 18%),linear-gradient(115deg,#0782ad,#0aa1c9 48%,#086b95);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),inset 0 0 18px rgba(214,247,255,.18),0 0 0 4px rgba(84,215,255,.08),0 15px 36px rgba(8,122,166,.22),0 0 30px rgba(84,215,255,.18);
  filter:saturate(1.08);
}
.home .sb-footer-cta .sb-button:hover .sb-button-frost-crystal,.home .sb-footer-cta .sb-button:focus .sb-button-frost-crystal{animation:sb-button-freeze .9s cubic-bezier(.16,.78,.24,1) both;animation-delay:var(--d)}

@media(max-width:900px){
  .home .sb-solutions-section::after{height:38%;opacity:.20}
  .home .sb-process-grid::before,.home .sb-process-grid::after{display:none}
  .home .sb-footer-cta__inner::before{display:none}
  .home .sb-footer-cta::before{left:auto;right:4%;opacity:.65}
  .home .sb-footer-cta::after{display:none}
}
@media(max-width:620px){
  .home .sb-solutions-section::after{display:none}
  .home .sb-footer-cta::before{font-size:5.2rem;right:-2%;top:35%}
}
@media(prefers-reduced-motion:reduce){
  .home .sb-solutions-section .sb-section-heading::after,
  .home .sb-process-grid::after,
  .home .sb-footer-cta::after,
  .home .sb-footer-cta__inner::before,
  .home .sb-footer-cta h2,
  .home .sb-footer-cta .sb-button-frost-crystal{animation:none!important}
}
