/* UM-SPACE: small universe elements in the hero with scroll parallax (Oct 26 2026). Separate from site.css/site.js on purpose. */
.um-space{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.um-sp{position:absolute;left:var(--x);top:var(--y);width:var(--w);will-change:transform;transform:translate3d(0,0,0)}
.um-sp svg{display:block;width:100%;height:auto;overflow:visible}
.um-sp-dot{height:var(--w);border-radius:50%;background:#fff;opacity:.8}
/* desktop / tablet: keep to the right column and the bottom band, clear of the headline */
.um-sp-ring{--x:79%;--y:17%;--w:clamp(84px,8.5vw,128px)}
.um-sp-planet{--x:88%;--y:66%;--w:clamp(30px,3vw,44px)}
.um-sp-moon{--x:63%;--y:10.5%;--w:clamp(22px,2vw,30px)}
.um-sp-comet{--x:66%;--y:84%;--w:clamp(80px,7vw,112px)}
.um-sp-s1{--x:93%;--y:40%;--w:16px}
.um-sp-s2{--x:5%;--y:86%;--w:20px}
.um-sp-s3{--x:77%;--y:52%;--w:13px}
.um-sp-s4{--x:39%;--y:91%;--w:11px}
.um-sp-d1{--x:86%;--y:30%;--w:4px}
.um-sp-d2{--x:23%;--y:93%;--w:3px}
@media (max-width:767px){
  /* mobile: headline sits in the middle band, so use the top band and the bottom half */
  .um-sp-ring{--x:66%;--y:14%;--w:74px}
  .um-sp-planet{--x:78%;--y:73%;--w:30px}
  .um-sp-moon{--x:12%;--y:22%;--w:22px}
  .um-sp-comet{--x:8%;--y:80%;--w:84px}
  .um-sp-s1{--x:42%;--y:15%;--w:13px}
  .um-sp-s2{--x:58%;--y:88%;--w:15px}
  .um-sp-s3{--x:84%;--y:30%;--w:11px}
  .um-sp-s4{--x:28%;--y:70%;--w:10px}
  .um-sp-d1{--x:26%;--y:31%;--w:4px}
  .um-sp-d2{--x:90%;--y:85%;--w:3px}
}

/* Oct 26 2026: "Think. Create. Launch." all in the regular font, on one line (desktop and mobile). Delete this block to undo. */
#services .um-svc-title{flex-direction:row!important;flex-wrap:nowrap!important;align-items:baseline!important;justify-content:center!important;white-space:nowrap;font-size:clamp(24px,8.6vw,130px)!important;column-gap:.24em!important}

/* Oct 26 2026 (v2): "Trusted by" strip shows the 12 real client logos in solid WHITE directly on the blue band, no tiles (assets/clients/logoNN-w.svg; the full-colour originals logoNN.svg are kept). */
#ads+section .um-clients{gap:0!important;animation-duration:64s;align-items:center}
#ads+section .um-client{flex:none;display:flex;align-items:center;justify-content:center;height:80px;padding:0;margin-right:80px;background:none;border-radius:0;box-shadow:none}
#ads+section .um-client img{display:block;height:54px;width:auto;max-width:250px;object-fit:contain;filter:none!important;opacity:1}
#ads+section .um-client.is-mark img{height:66px}
#ads+section .um-client img[src*="logo07-w"]{height:62px}
/* Oct 26 2026 (v3): logos ~40% bigger (was 38/48/44px, gap 64px; mobile 28/36/32px, gap 40px). */
@media (max-width:767px){
  #ads+section .um-client{height:56px;margin-right:52px}
  #ads+section .um-client img{height:40px;max-width:184px}
  #ads+section .um-client.is-mark img{height:50px}
  #ads+section .um-client img[src*="logo07-w"]{height:44px}
}

/* Oct 26 2026 (v4): Greenfeld's (logo08) much bigger - it is nearly square so it read tiny. Delete this block to undo. */
#ads+section .um-client{height:120px}
#ads+section .um-client img[src*="logo08-w"]{height:110px;max-width:none}
@media (max-width:767px){
  #ads+section .um-client{height:84px}
  #ads+section .um-client img[src*="logo08-w"]{height:76px}
}

/* Oct 26 2026 (v8): UM-REAL-SPACE - realistic planets & galaxies (public-domain NASA/ESA/Hubble photos, transparent WebP in assets/space/). Same slots/parallax; the flat-icon rules above still serve the hidden UM-HIDDEN-ICONS-OLD markup. Delete this block + the UM-REAL-SPACE markup to undo. */
.um-sp img{display:block;width:100%;height:auto;-webkit-user-drag:none;user-select:none}
.um-sp-real img{filter:drop-shadow(0 4px 10px rgba(15,35,45,.35))}
.um-sp-ring.um-sp-real{--x:76%;--w:clamp(116px,11.5vw,176px)}
.um-sp-planet.um-sp-real{--w:clamp(36px,3.4vw,52px)}
.um-sp-moon.um-sp-real{--w:clamp(22px,2vw,30px)}
.um-sp-galaxy{--w:clamp(92px,8vw,128px);opacity:.92}
.um-sp-galaxy2{--w:50px;opacity:.85}
.um-sp-glint{opacity:.9}
.um-sp-glint.um-sp-s1{--w:40px}
.um-sp-glint.um-sp-s3{--w:30px;opacity:.75}
.um-sp-glint.um-sp-s4{--w:26px;opacity:.8}
.um-sp-nebula{--x:82%;--y:31%;--w:clamp(110px,10vw,156px);opacity:.5}
@media (max-width:767px){
  .um-sp-ring.um-sp-real{--x:60%;--w:104px}
  .um-sp-planet.um-sp-real{--w:36px}
  .um-sp-moon.um-sp-real{--w:22px}
  .um-sp-galaxy{--w:96px}
  .um-sp-galaxy2{--w:40px}
  .um-sp-glint.um-sp-s1{--w:32px}
  .um-sp-glint.um-sp-s3{--w:22px}
  .um-sp-glint.um-sp-s4{--w:20px}
  .um-sp-nebula{--x:64%;--y:63%;--w:92px;opacity:.4}
}

/* UM-HIDDEN-SPACE (Oct 26 2026 3:48 PM, Gedalye: 'Remove them') - all hero planets/galaxies hidden. Restore = delete this block. */
.um-space{display:none !important;}

/* UM-HERO-GRADIENT-MOVE (Oct 26 2026 3:59 PM, Gedalye: 'First section make some gradient movement'). Restore = delete this block. */
@keyframes umGradShift{0%{background-position:0% 30%}50%{background-position:100% 70%}100%{background-position:0% 30%}}
#top .um-hb-base{background:linear-gradient(120deg,#3a6f82 0%,#488194 25%,#5fa0b5 50%,#488194 75%,#2f6274 100%)!important;background-size:300% 300%!important;animation:umGradShift 14s ease-in-out infinite!important}
@keyframes umBlobDriftA{0%{transform:translate(0,0) scale(1)}50%{transform:translate(18vw,10vh) scale(1.15)}100%{transform:translate(0,0) scale(1)}}
@keyframes umBlobDriftB{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-16vw,-12vh) scale(1.2)}100%{transform:translate(0,0) scale(1)}}
#top .um-hb-b1{animation:umBlobDriftA 16s ease-in-out infinite!important}
#top .um-hb-b2{animation:umBlobDriftB 19s ease-in-out infinite!important}
#top .um-hb-b3{animation:umBlobDriftA 23s ease-in-out infinite reverse!important}
