/* SYNC v1.32.0 — contain contextual colour; keep the stage dark and structural. */

/* Large artwork is its own compositing boundary. Context colour cannot paint the page. */
:where(.sync-services-hero-art,.sync-work-hero-art,.sync-academy-hero-art,.sync-explanatory-visual,.sv2-scene,.sd-scene,.academy-map,.academy-visual){
  isolation:isolate;
  contain:paint;
}

/* Desktop keeps one restrained, neutral-plum atmosphere instead of saturated fog. */
.sv2-hero{
  background:radial-gradient(ellipse 48% 52% at 78% 38%,rgba(79,55,105,.1),rgba(11,12,17,0) 68%),#0b0c11;
}
.sv2-stage:before{
  width:min(28rem,38vw);
  height:min(28rem,38vw);
  right:-14rem;
  background:rgba(72,50,91,.075);
  filter:blur(44px);
}
.sv2-stage:nth-of-type(even):before{left:-15rem}
.sv2-scene:before{
  inset:16% 12%;
  background:radial-gradient(circle,rgba(91,63,126,.1),rgba(11,12,17,0) 68%);
  filter:blur(18px);
}
.sv2-scene-glow{
  width:58%;
  height:54%;
  background:radial-gradient(circle at 55% 40%,rgba(126,96,179,.095),rgba(11,12,17,0) 64%);
}
.sv2-close{background:linear-gradient(180deg,#0b0c11,#0d0b11)}

.sd-hero{
  background:radial-gradient(ellipse 48% 52% at 78% 38%,rgba(79,55,105,.1),rgba(11,12,17,0) 68%),#0b0c11;
}
.sd-scene:before{
  inset:12%;
  background:radial-gradient(circle,rgba(91,63,126,.105),rgba(11,12,17,0) 67%);
  box-shadow:0 0 54px rgba(91,63,126,.07);
}
.sd-what,.sd-handle{background:linear-gradient(180deg,#0b0c11,#0d0b11)}

/* Academy colour stays in learning objects, not in the page background. */
.academy{
  background:linear-gradient(180deg,#0b0910 0%,#0c0a11 46%,#09090d 100%);
}
.academy-map{
  background:radial-gradient(circle at 50% 50%,rgba(91,63,126,.12),rgba(13,11,18,0) 40%),linear-gradient(145deg,rgba(44,35,55,.45),rgba(14,12,19,.82));
}
.academy-visual{
  background:radial-gradient(circle at 65% 25%,rgba(104,78,145,.105),rgba(12,10,17,0) 38%),linear-gradient(145deg,rgba(35,28,43,.66),rgba(12,10,17,.92));
}
.academy-visual__glow{
  width:32%;
  background:rgba(91,63,126,.105);
  filter:blur(26px);
}
.academy-help,.academy-next-track{
  background:linear-gradient(130deg,rgba(54,42,66,.42),rgba(16,13,22,.78));
}
.academy-continue{
  background:linear-gradient(130deg,rgba(45,38,53,.54),rgba(16,13,22,.82));
}

/* Hero illumination is single-hue, clipped and subordinate to the object. */
.sync-services-hero-art:before,.sync-work-hero-art:before,.sync-academy-hero-art:before{
  inset:18% 10%;
  background:radial-gradient(ellipse at 56% 46%,rgba(93,68,120,.105),rgba(11,12,17,0) 64%);
  filter:none;
}
.sync-people-scene .sps-light-a,.sync-people-scene .sps-light-b{
  background:rgba(92,68,111,.075);
  filter:blur(28px);
}
.contact-v2-hero,.contact-v2-body{
  background:linear-gradient(180deg,#0b0910,#100c15);
}

/* Mobile/tablet: remove large-area compositing. Local lines, nodes and accents remain. */
@media(max-width:768px){
  .sv2-hero,.sd-hero,.academy,.contact-v2-hero,.contact-v2-body{
    background:linear-gradient(180deg,#0b0c11 0%,#0d0a11 52%,#090a0e 100%);
  }
  .sv2-stage:before,.sv2-scene:before,.sv2-scene-glow,.sd-scene:before,
  .sync-services-hero-art:before,.sync-work-hero-art:before,.sync-academy-hero-art:before,
  .sync-people-scene .sps-light,.academy-visual__glow{
    display:none!important;
  }
  .sv2-close,.sd-what,.sd-handle{
    background:#0b0c11;
  }
  .academy-map,.academy-visual{
    background:linear-gradient(145deg,rgba(31,26,38,.62),rgba(11,10,15,.94));
  }
  .academy-help,.academy-next-track,.academy-continue{
    background:linear-gradient(145deg,rgba(29,24,35,.7),rgba(12,10,17,.92));
  }
  .sync-explanatory-visual:after,.contact-intro:after,.quick-enquiry:before,
  .v15-project:before,.workx-visual:after,.v15-proof-interface:before{
    display:none!important;
  }
  :where(.academy-map,.academy-visual,.sv2-ui,.sv2-summary,.sd-node,.contact-v2-form-shell){
    -webkit-backdrop-filter:blur(14px) saturate(108%);
    backdrop-filter:blur(14px) saturate(108%);
  }
}

@media(prefers-reduced-motion:reduce){
  .academy-visual__glow{animation:none!important}
}
