/* Kajo Template – näkyvät mutta hillityt verkkopalveluteemaiset taustaelementit */
.kajo-floating-tech{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict;isolation:isolate}
.kajo-floating-tech__item{position:absolute;display:grid;place-items:center;color:rgba(112,216,232,.72);font-weight:850;line-height:1;border:1px solid rgba(112,216,232,.38);background:rgba(7,27,45,.34);box-shadow:0 8px 28px rgba(0,0,0,.10),inset 0 0 18px rgba(112,216,232,.06);backdrop-filter:blur(2px);opacity:.38;will-change:transform,opacity;animation:kajoTechFloat var(--duration,22s) ease-in-out var(--delay,0s) infinite;transform:translate3d(0,0,0) rotate(var(--rotation,0deg));user-select:none;text-shadow:0 1px 12px rgba(112,216,232,.14)}
.kajo-floating-tech__item--at{font-size:clamp(30px,3.6vw,48px);width:76px;height:76px;border-radius:50%;color:rgba(214,180,106,.78);border-color:rgba(214,180,106,.44)}
.kajo-floating-tech__item--domain{padding:13px 16px;border-radius:12px;font-size:clamp(12px,1.2vw,16px);letter-spacing:.04em;color:rgba(214,180,106,.88);border-color:rgba(214,180,106,.4)}
.kajo-floating-tech__item--code{font:800 17px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace;padding:14px 16px;border-radius:10px}
.kajo-floating-tech__item--www{width:62px;height:62px;border-radius:50%;padding:11px}
.kajo-floating-tech__item img{display:block;width:100%;height:100%;object-fit:contain;opacity:.95;filter:saturate(.9)}
 .kajo-floating-tech__item:nth-child(1){left:1.5%;top:12%;--duration:25s;--delay:-7s;--rotation:-9deg}
.kajo-floating-tech__item:nth-child(2){right:1.5%;top:19%;--duration:28s;--delay:-13s;--rotation:8deg}
.kajo-floating-tech__item:nth-child(3){left:1.5%;top:32%;--duration:24s;--delay:-3s;--rotation:7deg}
.kajo-floating-tech__item:nth-child(4){right:1.5%;top:40%;--duration:29s;--delay:-18s;--rotation:-6deg}
.kajo-floating-tech__item:nth-child(5){left:1.5%;top:53%;--duration:31s;--delay:-11s;--rotation:5deg}
.kajo-floating-tech__item:nth-child(6){right:1.5%;top:61%;--duration:26s;--delay:-4s;--rotation:10deg}
.kajo-floating-tech__item:nth-child(7){left:1.5%;top:74%;--duration:30s;--delay:-20s;--rotation:-7deg}
.kajo-floating-tech__item:nth-child(8){right:1.5%;top:82%;--duration:27s;--delay:-9s;--rotation:6deg}
.kajo-floating-tech__item:nth-child(9){left:8%;top:5%;--duration:32s;--delay:-16s;--rotation:-5deg}
.kajo-floating-tech__item:nth-child(10){right:8%;top:7%;--duration:26s;--delay:-6s;--rotation:9deg}
.kajo-floating-tech__item:nth-child(11){left:8%;top:92%;--duration:34s;--delay:-22s;--rotation:-8deg}
.kajo-floating-tech__item:nth-child(12){right:8%;top:93%;--duration:29s;--delay:-12s;--rotation:4deg}
@keyframes kajoTechFloat{0%,100%{transform:translate3d(0,0,0) rotate(var(--rotation,0deg));opacity:.28}22%{opacity:.48}48%{transform:translate3d(15px,-28px,0) rotate(calc(var(--rotation,0deg) + 5deg));opacity:.58}72%{opacity:.34}}
body{position:relative;isolation:isolate}
body>header:not(.topbar),body>main,body>footer,body>.demo-note,body>section{position:relative;z-index:1}
.topbar{z-index:5}
.kajo-blog-link{color:inherit;text-decoration:none}.kajo-blog-link:hover{color:var(--gold,#b88b35)!important}
.button,.nav-cta,.card-action,.contact-button,.kajo-info-link{box-shadow:0 5px 0 rgba(5,28,48,.14),0 10px 22px rgba(5,28,48,.10);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.button:hover,.nav-cta:hover,.card-action:hover,.contact-button:hover,.kajo-info-link:hover{transform:translateY(-2px);box-shadow:0 7px 0 rgba(5,28,48,.12),0 15px 28px rgba(5,28,48,.16);filter:brightness(1.04)}
.button:active,.nav-cta:active,.card-action:active,.contact-button:active,.kajo-info-link:active{transform:translateY(1px);box-shadow:0 2px 0 rgba(5,28,48,.14),0 4px 10px rgba(5,28,48,.10)}
.kajo-info-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;margin-top:14px;padding:11px 18px;border:1px solid var(--gold,#d6b46a);border-radius:3px;color:#082137;background:var(--cyan,#70d8e8);font-weight:850;text-decoration:none;line-height:1.2;box-shadow:0 4px 0 rgba(5,28,48,.22),0 10px 22px rgba(5,28,48,.14)}
.kajo-info-link span{color:#082137;transition:transform .2s ease}
.kajo-info-link:hover{color:#082137;background:#8be3ef;border-color:var(--gold,#d6b46a)}
.kajo-info-link:hover span{transform:translate(2px,-2px)}
.kajo-info-link:focus-visible{outline:3px solid var(--gold,#d6b46a);outline-offset:4px}
:focus-visible{outline:2px solid var(--gold,#b88b35);outline-offset:3px}
@media(max-width:780px){.kajo-floating-tech__item{opacity:.27;transform:scale(.84)}.kajo-floating-tech__item:nth-child(5),.kajo-floating-tech__item:nth-child(8),.kajo-floating-tech__item:nth-child(11){display:none}.kajo-floating-tech__item--at{width:58px;height:58px}}
@media(prefers-reduced-motion:reduce){.kajo-floating-tech__item{animation:none;opacity:.32;will-change:auto}.button,.nav-cta,.card-action,.contact-button,.kajo-info-link{transition:none}}

/* Floating marks stay at the viewport edges; content surfaces stay opaque. */
.card,.pricing-card,.step,.contactbox,.contact-form,.contact-info-card,.contact-item,.detail,.callout,.package-teaser,.feature,.contact-extra {
  background-color:var(--card,var(--panel,#12334e)) !important;
}
.field input,.field textarea,.field select {
  background-color:var(--navy2,var(--panel2,#0c2940)) !important;
}
.kajo-floating-tech__item{opacity:.22}
@media(max-width:780px){.kajo-floating-tech__item{opacity:.16}}
