
/* SVOI IT test 4.0: unique graphical modules and complete case-study system */
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project-filter-item{display:contents}.project-card{height:100%;overflow:hidden;border:1px solid color-mix(in srgb,var(--case-accent) 42%,#24415f);border-radius:24px;background:linear-gradient(180deg,rgba(13,31,51,.98),rgba(6,17,30,.98));box-shadow:0 18px 60px rgba(0,0,0,.24);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.project-card:hover{transform:translateY(-7px);border-color:var(--case-accent);box-shadow:0 24px 72px color-mix(in srgb,var(--case-accent) 18%,transparent)}.project-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#07111f}.project-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,15,27,.88))}.project-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.95) contrast(1.06);transition:transform .6s ease}.project-card:hover img{transform:scale(1.055)}.project-meta{position:absolute;z-index:2;left:16px;bottom:14px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--case-accent) 48%,#fff0);border-radius:999px;background:rgba(4,15,27,.78);backdrop-filter:blur(10px);font-size:12px;color:#eef8ff}.project-body{padding:21px}.project-body h3{font-size:20px;line-height:1.18;margin:0 0 10px}.project-body p{color:#9fb5c8;font-size:14px;line-height:1.55;min-height:66px}.project-body strong{display:block;color:var(--case-accent);font-size:15px;margin:14px 0}.project-body a{font-weight:700;color:#dcefff}.case-disclaimer{margin-top:18px;color:#7892a8;font-size:12px}.profile-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-filter-item[hidden]{display:none}.case-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.partner-module{position:relative;min-height:480px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(37,99,255,.2),transparent 40%),linear-gradient(150deg,#091a2d,#07111f);border-color:#26567f}.partner-module svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:url(#none);stroke:#328dff;stroke-width:2;opacity:.65}.partner-module svg path{stroke-dasharray:8 12;animation:dashflow 12s linear infinite}.partner-module svg circle{fill:#9ee9ff;filter:drop-shadow(0 0 8px #2fa9ff)}.partner-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:168px;height:168px;border-radius:46px;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#42d3ff,#315dff 58%,#9278ff);color:#061120;box-shadow:0 0 0 12px rgba(37,99,255,.08),0 0 70px rgba(50,151,255,.55);z-index:2}.partner-core span{font-weight:900;font-size:34px;letter-spacing:.08em}.partner-core strong{font-size:13px;text-transform:uppercase}.partner-core i{position:absolute;inset:-38px;border:1px dashed rgba(92,190,255,.55);border-radius:50%;animation:spin 18s linear infinite}.partner-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(72,157,255,.35);border-radius:50%;transform:translate(-50%,-50%)}.orbit-one{width:330px;height:330px;animation:spin 24s linear infinite}.orbit-two{width:420px;height:260px;animation:spinReverse 20s linear infinite}.partner-node{position:absolute;width:142px;padding:14px 16px;border-radius:18px;background:rgba(8,25,43,.9);border:1px solid #27567d;box-shadow:0 12px 35px rgba(0,0,0,.3);z-index:3}.partner-node b{display:block;color:#eaf7ff}.partner-node small{color:#7ea3be}.pn-a{left:25px;top:32px}.pn-b{right:25px;top:32px}.pn-c{left:25px;bottom:44px}.pn-d{right:25px;bottom:44px}.partner-caption{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);width:70%;text-align:center;color:#91abc1;font-size:12px}
/* One design system, five genuinely different compositions. */
.live-service-map{transition:transform .4s ease}.live-service-map:hover{transform:translateY(-4px)}
.module-admin .lsm-core{border-radius:36px;clip-path:polygon(24% 0,76% 0,100% 24%,100% 76%,76% 100%,24% 100%,0 76%,0 24%)}.module-admin .lsm-radar{border-radius:28px}.module-admin .lsm-node{border-radius:18px}.module-admin .lsm-grid{background-size:32px 32px}
.module-net{background:radial-gradient(circle at 50% 50%,rgba(85,240,192,.18),transparent 38%),#071522}.module-net .lsm-core{border-radius:50%;background:radial-gradient(circle,#58f0bd,#238f84 55%,#0b3440);box-shadow:0 0 64px rgba(85,240,192,.55)}.module-net .lsm-radar i{border-color:rgba(85,240,192,.4)}.module-net .lsm-node{border-radius:50%;width:128px;height:128px;display:grid;place-content:center;text-align:center}.module-net .lsm-audit{left:50%;top:5%;transform:translateX(-50%)}.module-net .lsm-architecture{right:4%;top:50%;transform:translateY(-50%)}.module-net .lsm-implementation{left:50%;bottom:5%;transform:translateX(-50%)}.module-net .lsm-support{left:4%;top:50%;transform:translateY(-50%)}
.module-sec{background:radial-gradient(circle at 50% 50%,rgba(255,140,60,.2),transparent 42%),#0b1722}.module-sec .lsm-core{border-radius:42% 42% 54% 54%;clip-path:polygon(50% 0,94% 18%,88% 74%,50% 100%,12% 74%,6% 18%);background:linear-gradient(160deg,#ffc05b,#ff754d 68%,#aa341f);box-shadow:0 0 72px rgba(255,126,65,.55)}.module-sec .lsm-radar{border-radius:50%;border-style:dotted}.module-sec .lsm-node{border-color:#9d5327}.module-sec .lsm-lines{filter:hue-rotate(160deg) saturate(1.5)}
.module-web{background:linear-gradient(135deg,rgba(80,52,155,.2),rgba(0,180,255,.1)),#071321}.module-web .lsm-core{border-radius:28px;transform:translate(-50%,-50%) rotate(45deg);background:linear-gradient(145deg,#9b7aff,#37c8ff)}.module-web .lsm-core>*{transform:rotate(-45deg)}.module-web .lsm-node{border-radius:14px}.module-web .lsm-audit{left:8%;top:17%}.module-web .lsm-architecture{right:8%;top:17%}.module-web .lsm-implementation{left:8%;bottom:17%}.module-web .lsm-support{right:8%;bottom:17%}.module-web .lsm-lines{stroke-dasharray:1 8;stroke-linecap:round}
.module-ai{background:radial-gradient(circle at 50% 50%,rgba(215,108,255,.22),transparent 40%),radial-gradient(circle at 18% 24%,rgba(0,212,255,.12),transparent 22%),#071321}.module-ai .lsm-core{border-radius:50%;background:conic-gradient(from 30deg,#35d8ff,#6d63ff,#e067ff,#35d8ff);box-shadow:0 0 80px rgba(168,92,255,.5)}.module-ai .lsm-radar i{border-style:dotted}.module-ai .lsm-node{border-radius:26px;background:rgba(17,20,49,.86)}.module-ai .lsm-particles i{animation-duration:2.4s}.module-ai .lsm-lines{filter:drop-shadow(0 0 8px rgba(190,91,255,.85))}
@keyframes dashflow{to{stroke-dashoffset:-200}}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes spinReverse{to{transform:translate(-50%,-50%) rotate(-360deg)}}
@media(max-width:1000px){.project-grid,.profile-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-module{min-height:430px}}
@media(max-width:680px){.project-grid,.profile-project-grid{grid-template-columns:1fr}.project-body p{min-height:0}.partner-module{min-height:430px}.partner-node{width:116px;padding:10px;font-size:12px}.partner-core{width:132px;height:132px}.partner-core span{font-size:26px}.pn-a,.pn-c{left:8px}.pn-b,.pn-d{right:8px}.module-net .lsm-node{width:96px;height:96px}}
@media(prefers-reduced-motion:reduce){.project-card,.project-media img,.partner-module *,.live-service-map{animation:none!important;transition:none!important}}
