/* One continuous background beneath every homepage section. */
body.relaunch{background:#09133F;color:#F4F7FC;isolation:isolate}
.scan-world{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#09133F;contain:strict}
.scan-world__photo,.scan-world__digital,.scan-world__digital>svg,.scan-world__shade,.scan-world__beam{position:absolute;inset:0;width:100%;height:100%}
.scan-world__photo{object-fit:cover;object-position:center}
.scan-world__digital{clip-path:inset(0 52% 0 0);animation:territory-reveal 28s ease-in-out infinite}
.scan-world__digital>svg{display:block}
.scan-world__beam{border-right:2px solid #63D6EE;background:linear-gradient(90deg,transparent 96%,#63D6EE26 100%);transform:translateX(-52%);animation:territory-beam 28s ease-in-out infinite;opacity:.7}
.scan-world__shade{background:linear-gradient(90deg,rgba(9,19,63,.92) 0%,rgba(9,19,63,.83) 35%,rgba(9,19,63,.49) 68%,rgba(9,19,63,.32)),linear-gradient(180deg,rgba(9,19,63,.25),transparent 35%,rgba(9,19,63,.68))}
.scan-world__readings{position:absolute;right:6vw;top:57%;display:grid;gap:8px;color:#F4F7FC;font:12px/1.5 Arial,sans-serif;border-left:1px solid #63D6EE;padding:8px 0 8px 20px;text-shadow:0 2px 8px #09133F;animation:territory-data 28s ease-in-out infinite}
.scan-world__readings b{font-size:23px}.scan-world__readings>span:first-child{font-size:10px;letter-spacing:.15em;color:#63D6EE}.scan-world__readings small{font-size:10px}
@keyframes territory-reveal{0%,100%{clip-path:inset(0 100% 0 0)}46%,54%{clip-path:inset(0 0 0 0)}}
@keyframes territory-beam{0%,100%{transform:translateX(-100%);opacity:0}5%,95%{opacity:.7}46%,54%{transform:translateX(0);opacity:.7}}
@keyframes territory-data{0%,24%,95%,100%{opacity:0;transform:translateY(6px)}42%,65%{opacity:1;transform:translateY(0)}}
.scan-world.is-paused *{animation-play-state:paused!important}
.scan-world.is-scrolling *{animation-play-state:paused!important}
.scan-world.is-static .scan-world__digital{animation:none;clip-path:inset(0 44% 0 0)}
.scan-world.is-static .scan-world__beam,.scan-world.is-static .scan-world__readings{display:none}
.scan-toggle{position:fixed;right:20px;bottom:18px;z-index:30;display:flex;gap:9px;align-items:center;min-height:44px;padding:10px 15px;background:rgba(9,19,63,.9);border:1px solid #D7DEEF66;border-radius:9px;color:#F4F7FC;font:12px Arial,sans-serif;cursor:pointer}
.scan-toggle:hover{border-color:#63D6EE}.scan-toggle[hidden]{display:none}
.relaunch .hero{background:transparent;min-height:100svh;padding:160px 0 64px;display:flex;align-items:center}
.relaunch .hero__grid{display:block;max-width:720px}
.relaunch .hero h1{font-size:clamp(42px,5.25vw,76px);max-width:16ch;line-height:1.03;letter-spacing:-.045em}
.relaunch .hero__sub{max-width:48ch;font-size:clamp(17px,1.45vw,21px);color:#F4F7FC}
.relaunch .hero__note{max-width:48ch;color:#D7DEEF}
.relaunch .hero__proof{max-width:710px;margin-top:65px;border-color:#D7DEEF40;gap:35px}
.relaunch .scene-note{max-width:61ch;font-size:10px;color:#D7DEEF;margin-top:24px;opacity:.85}
.relaunch main>.section{background:transparent;border-top:1px solid #D7DEEF22}
.relaunch .sect-head{padding:0}.relaunch .sect-head h2,.relaunch h2,.relaunch h3,.relaunch h4{color:#fff}
.relaunch .section .eyebrow{color:#63D6EE}.relaunch .section .lead{color:#F4F7FC}
.relaunch :is(.svc,.art,.case,.box,.flow__i,.baw__slide){background:rgba(9,19,63,.85);border:1px solid #D7DEEF38;box-shadow:none;color:#F4F7FC}
.relaunch :is(.svc,.art,.case):hover{border-color:#63D6EE;background:rgba(9,19,63,.96)}
.relaunch :is(.svc__body p,.art__body p,.case p,.case li,.box p,.box li,.flow__i p){color:#D7DEEF}
.relaunch :is(.svc__tag,.svc__go,.art__go,.case__tag,.case__label,.flow__n){color:#63D6EE}
.relaunch :is(.svc__meta,.art__meta,.case__source,.case__year,.updated){color:#D7DEEF}
.relaunch :is(.case__result,.case__task,.case__actions){background:transparent;color:#F4F7FC}
.relaunch .case__result{border-top:1px solid #63D6EE66}
.relaunch :is(.case__cust,.case__step-l,.case__step-t,.case__src,.case__res span){color:#D7DEEF}
.relaunch .case__res{background:#14206E66;border-color:#63D6EE55}
.relaunch .case__res b{color:#63D6EE}
.relaunch .case__step b{background:#14206E;color:#63D6EE}
.scan-world__readings{display:none}
html:not(.js) .scan-toggle{display:none}
.relaunch .btn--ghost{background:rgba(9,19,63,.78);border-color:#D7DEEF66;color:#fff}
.relaunch .delivery__grid article{background:rgba(9,19,63,.85);border:1px solid #D7DEEF38;border-top:2px solid #63D6EE;padding:24px;border-radius:10px}
.relaunch .delivery__grid p{color:#D7DEEF}.relaunch .delivery__grid a{color:#63D6EE}
.relaunch .map,.relaunch .cta{background:rgba(9,19,63,.93);border:1px solid #D7DEEF38}
.relaunch .footer{background:rgba(9,19,63,.96);padding-bottom:85px}
.relaunch .header{background:rgba(9,19,63,.82);backdrop-filter:blur(12px)}
.relaunch .header.is-solid{background:rgba(9,19,63,.95)}
@media(max-width:900px){.scan-world__readings{display:none}.scan-world__shade{background:linear-gradient(90deg,#09133FED,#09133FA6),linear-gradient(180deg,#09133F26,transparent 50%,#09133F66)}.relaunch .hero{padding:130px 0 60px;min-height:95svh}.relaunch .hero h1{font-size:clamp(42px,7vw,62px);max-width:17ch}.relaunch .hero__proof{margin-top:45px}.relaunch .header{backdrop-filter:none}}
@media(max-width:480px){.relaunch .hero{padding:120px 0 50px;min-height:100svh}.relaunch .hero h1{font-size:clamp(38px,10.4vw,48px);max-width:15ch}.relaunch .hero__proof{gap:20px;display:grid;grid-template-columns:1fr 1fr;margin-top:38px}.relaunch .hero__proof>span:last-child{grid-column:span 2}.relaunch .section{padding-block:56px}.scan-toggle{right:12px;bottom:12px;font-size:11px}.relaunch .hero__sub{font-size:17px}.relaunch .hero__note{font-size:12px}.relaunch .scene-note{font-size:9px}.scan-world__digital,.scan-world__beam,.scan-world__readings{animation-duration:36s}}
@media(prefers-reduced-motion:reduce){.scan-world__digital{animation:none!important;clip-path:inset(0 44% 0 0)}.scan-world__beam,.scan-world__readings,.scan-toggle{display:none!important}}

/* Volumetric laser fan and transparent floor plates. */
.scan-world__lasers{position:absolute;inset:0;width:100%;height:100%;opacity:.75;animation:laser-space 14s ease-in-out infinite;transform-origin:10% 85%}
@keyframes laser-space{0%,100%{transform:rotate(-9deg);opacity:.12}45%,55%{transform:rotate(5deg);opacity:.8}}
.scan-world__beam{border-right-width:3px;box-shadow:8px 0 28px #63D6EE70;background:linear-gradient(90deg,transparent 88%,#63D6EE08 95%,#63D6EE55)}
.scan-world__digital{filter:drop-shadow(0 0 2px #63D6EE30)}
.scan-world__lasers{z-index:2;filter:drop-shadow(0 0 3px #63D6EE66)}
.scan-world.is-static .scan-world__lasers{animation:none;opacity:.2}
@media(prefers-reduced-motion:reduce){.scan-world__lasers{animation:none!important;opacity:.2}}
/* Registered raster twin: counter-translated layers preserve the camera.
   Only transforms animate; no full-screen SVG filters or clip-path paint. */
.scan-world__digital{clip-path:none;filter:none;overflow:hidden;transform:translateX(-100%);animation:twin-window 24s linear infinite;will-change:transform}
.scan-world__twin{display:block;position:absolute;inset:0;transform:translateX(100%);animation:twin-image 24s linear infinite;will-change:transform}
.scan-world__twin img{width:100%;height:100%;object-fit:cover;object-position:center}
.scan-world__twin>picture{position:absolute;inset:0;display:block}
.scan-world__survey{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.scan-world__ray-plane{position:absolute;inset:0 0 0 auto;width:clamp(90px,16vw,245px);height:100%;overflow:visible}
.scan-world__data-window{position:absolute;inset:0;overflow:hidden;pointer-events:none;transform:translateX(-100%);animation:twin-window 24s linear infinite;will-change:transform}
.scan-world__data-plane{position:absolute;inset:0;transform:translateX(100%);animation:twin-image 24s linear infinite;will-change:transform}
.scan-world__survey{opacity:.82;mask-image:linear-gradient(90deg,#0005 0%,#0007 34%,#000 66%)}
.scan-world.is-static .scan-world__data-window{animation:none;transform:translateX(-45%)}
.scan-world.is-static .scan-world__data-plane{animation:none;transform:translateX(45%)}
@media(max-width:700px){.scan-world__data-window,.scan-world__data-plane{animation-duration:30s}}
@media(prefers-reduced-motion:reduce){.scan-world__data-window{animation:none!important;transform:translateX(-45%)}.scan-world__data-plane{animation:none!important;transform:translateX(45%)}}
.scan-world__beam{inset:0 auto 0 0;width:100%;animation:twin-window 24s linear infinite;border-right:2px solid #F4F7FC;box-shadow:6px 0 20px #63D6EE;opacity:.8;will-change:transform}
.scan-world__shade{background:linear-gradient(90deg,#09133FE8 0%,#09133FD6 34%,#09133F70 66%,#09133F44),linear-gradient(0deg,#09133F99,transparent 50%)}
@keyframes twin-window{0%,8%,100%{transform:translateX(-100%)}47%,59%{transform:translateX(0)}}
@keyframes twin-image{0%,8%,100%{transform:translateX(100%)}47%,59%{transform:translateX(0)}}
.scan-world.is-static .scan-world__digital{animation:none;clip-path:none;transform:translateX(-45%)}
.scan-world.is-static .scan-world__twin{animation:none;transform:translateX(45%)}
@media(max-width:700px){.scan-world__digital,.scan-world__twin,.scan-world__beam{animation-duration:30s}.scan-world__shade{background:linear-gradient(90deg,#09133FE8,#09133FB8)}}
@media(prefers-reduced-motion:reduce){.scan-world__digital{animation:none!important;clip-path:none!important;transform:translateX(-45%)}.scan-world__twin{animation:none!important;transform:translateX(45%)}}
/* The map occupies the complete section, with a compact overlay. */
.relaunch #karta{padding:0}.relaunch #karta>.wrap{width:100%;max-width:none;padding:0}
.relaunch #karta .sect-head{max-width:1280px;margin:auto;padding:64px 30px 32px}
.relaunch #karta .map{border-radius:0;border-inline:0;background:#09133FEB}
.relaunch #karta .map__grid{display:block;position:relative;min-height:710px}
.relaunch #karta .map__stage{min-height:710px;padding:28px;display:flex;align-items:center}
.relaunch #karta .map__svg{width:100%;height:650px;max-height:none}
.relaunch #karta .map__panel{position:absolute;right:28px;bottom:26px;width:340px;max-height:430px;overflow:auto;background:#09133FEF;border:1px solid #63D6EE55;border-radius:12px;padding:22px}
.map__navigation{position:absolute;top:20px;left:28px;z-index:2;display:flex;gap:8px;flex-wrap:wrap}.map__navigation button{min-height:44px;padding:8px 16px;color:#fff;background:#14206E;border:1px solid #63D6EE55;border-radius:8px;cursor:pointer}
.map__selection{width:100%;padding:10px;margin-bottom:15px;background:#14206E;color:#fff;border:1px solid #D7DEEF66;font:14px Arial}
.relaunch #karta .map__svg{overflow:hidden}
@media(max-width:760px){.relaunch #karta .sect-head{padding:48px 20px 25px}.relaunch #karta .map__grid{min-height:0}.relaunch #karta .map__stage{min-height:430px;padding:10px}.relaunch #karta .map__svg{height:430px}.relaunch #karta .map__panel{position:relative;inset:auto;width:100%;max-height:none;border-radius:0;border-inline:0}.map__navigation{left:16px;top:12px}}
