:root{--font-dm-sans:"DM Sans",system-ui,-apple-system,sans-serif;--font-outfit:"Outfit",system-ui,-apple-system,sans-serif;--bg:#E6EAF0;--sh-dark:#BCC4D1;--sh-light:#FFFFFF;--navy:#14213D;--cyan:#1CA3DE;--magenta:#E4007C;--yellow:#FFD21F;--orange:#F7941D;--brick:#B5322A;--muted:#4B5870;--r:24px;--r-sm:16px;--raise:9px 9px 18px var(--sh-dark),-9px -9px 18px var(--sh-light);--raise-sm:5px 5px 10px var(--sh-dark),-5px -5px 10px var(--sh-light);--inset:inset 6px 6px 12px var(--sh-dark),inset -6px -6px 12px var(--sh-light)}*,:after,:before{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--navy);font-family:var(--font-dm-sans),system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.6;padding-top:env(safe-area-inset-top,0);min-height:100vh;display:flex;flex-direction:column}main{flex:1 0 auto}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--cyan);outline-offset:4px;border-radius:12px}p{margin:0 0 1em;max-width:64ch;color:var(--muted)}h1,h2,h3,h4{font-family:var(--font-outfit),sans-serif;color:var(--navy);margin:0;line-height:1.08;letter-spacing:-.01em}h1{font-size:clamp(2.4rem,6vw,4.6rem);font-weight:800}h2{font-size:clamp(1.9rem,4vw,2.9rem)}h2,h3{font-weight:700}h3{font-size:1.25rem}h4{font-size:1rem;font-weight:700}.wrap{width:min(1180px,92%);margin-inline:auto}section.block{padding-block:88px}.lead{font-size:1.12rem;color:var(--muted);max-width:58ch}.neu{box-shadow:var(--raise);border-radius:var(--r);border:1px solid rgba(255,255,255,.65)}.neu,.neu-sm{background:var(--bg)}.neu-sm{box-shadow:var(--raise-sm);border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.65)}.neu-in{background:var(--bg);box-shadow:var(--inset);border-radius:var(--r-sm);border:1px solid rgba(188,196,209,.3)}.pad{padding:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-outfit),sans-serif;font-weight:700;font-size:1rem;letter-spacing:.01em;text-decoration:none;color:var(--navy);padding:15px 28px;border:0;cursor:pointer;background:var(--bg);border-radius:999px;box-shadow:var(--raise-sm);transition:box-shadow .15s ease,color .15s ease,transform .15s ease}.btn:hover{transform:translateY(-1px)}.btn.is-on,.btn:active,.btn[aria-pressed=true]{box-shadow:var(--inset);transform:translateY(0)}.btn--solid{color:#fff!important;background:var(--magenta);box-shadow:0 4px 10px rgba(0,0,0,.15)}.btn--solid:hover{filter:brightness(1.06);box-shadow:0 6px 14px rgba(0,0,0,.2)}.btn--solid:active{box-shadow:inset 4px 4px 9px rgba(120,0,60,.45),inset -3px -3px 8px rgba(255,120,190,.35)}.btn--sm{padding:10px 20px;font-size:.92rem}.top-strip{background:var(--navy);color:#DCE4F2;font-size:.85rem}.top-strip .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:8px}.top-strip span{color:#fff;font-weight:600}header.site{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--bg);box-shadow:0 8px 18px -10px var(--sh-dark)}header.site .wrap{justify-content:space-between;gap:20px;padding-block:14px}.brand,header.site .wrap{display:flex;align-items:center}.brand{gap:12px;text-decoration:none}.brand__name{font-weight:800;font-size:1.25rem;line-height:1}.brand__name,.brand__name small{font-family:var(--font-outfit),sans-serif}.brand__name small{display:block;font-weight:700;font-size:.72rem;letter-spacing:.45em;color:#fff;background:var(--cyan);padding:3px 7px;margin-top:4px;border-radius:6px;width:max-content}nav.main{display:flex;gap:8px;align-items:center;flex-wrap:wrap}nav.main a.nav-link{text-decoration:none;font-weight:600;font-size:.95rem;padding:9px 16px;border-radius:999px;color:var(--muted);transition:all .15s ease}nav.main a.nav-link.is-active,nav.main a.nav-link:hover{color:var(--navy);box-shadow:var(--inset)}nav.main a.nav-link.is-active{font-weight:700}nav.main .btn{margin-left:8px}.mobile-toggle{display:none;background:var(--bg);border:none;box-shadow:var(--raise-sm);border-radius:12px;width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center;color:var(--navy)}.mobile-toggle:active{box-shadow:var(--inset)}.mobile-drawer{display:none;background:var(--bg);border-top:1px solid var(--sh-dark);padding:18px 24px 24px;box-shadow:0 16px 24px -10px var(--sh-dark)}.mobile-drawer.is-open{display:flex;flex-direction:column;gap:10px}.mobile-drawer a.nav-link{padding:12px 18px;border-radius:12px;font-weight:600;color:var(--muted);display:flex;align-items:center;justify-content:space-between}.mobile-drawer a.nav-link.is-active{color:var(--navy);box-shadow:var(--inset);font-weight:700}@media (max-width:980px){nav.main{display:none}.mobile-toggle{display:flex}}.page-container{min-height:calc(100vh - 200px)}.hero{padding-block:80px 72px}.hero__grid{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:56px;gap:56px;align-items:center}.hero__actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:34px}.hero__crumb{font-size:.9rem;color:var(--muted);margin-bottom:20px}.hero__crumb a{text-decoration:none;font-weight:600;color:var(--navy)}.hero h1 .c{color:var(--cyan)}.hero h1 .m{color:var(--magenta)}.hero h1 .y{color:var(--orange)}.stack{display:grid;grid-gap:24px;gap:24px}.tile{display:flex;align-items:center;gap:18px;padding:24px 26px;transition:transform .2s ease}.tile:hover{transform:translateY(-2px)}.tile__dot{width:52px;height:52px;border-radius:50%;flex:0 0 52px;display:grid;place-items:center;font-family:var(--font-outfit),sans-serif;font-weight:800;font-size:1.1rem;color:#fff;box-shadow:4px 4px 10px var(--sh-dark),-3px -3px 8px var(--sh-light)}.tile h3{font-size:1.2rem}.tile p{margin:2px 0 0;font-size:.95rem}.c-cyan{background:var(--cyan)!important}.c-cyan,.c-magenta{color:#ffffff!important}.c-magenta{background:var(--magenta)!important}.c-yellow{background:var(--yellow)!important;color:var(--navy)!important}.c-orange{background:var(--orange)!important}.c-navy,.c-orange{color:#ffffff!important}.c-navy{background:var(--navy)!important}.c-brick{background:var(--brick)!important;color:#ffffff!important}.band{padding-block:36px;margin-block:8px;text-align:center}.band h2{font-size:clamp(1.5rem,3.4vw,2.2rem)}.band .grad{background:linear-gradient(90deg,var(--cyan),var(--magenta),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}.head .lead{margin:0}.grid{display:grid;grid-gap:28px;gap:28px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid--4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.card{padding:30px;display:flex;flex-direction:column;height:100%;gap:14px;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-2px)}.card ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:8px;gap:8px}.card li{font-weight:500;font-size:.96rem;padding-left:22px;position:relative;color:var(--navy)}.card li:before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:inset 2px 2px 3px var(--sh-dark)}.card .num{font-size:.9rem;color:var(--muted)}.card .ico,.card .num{font-family:var(--font-outfit),sans-serif;font-weight:800}.card .ico{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;color:#fff;font-size:1.2rem;box-shadow:5px 5px 10px var(--sh-dark),-4px -4px 9px var(--sh-light)}.card .link{margin-top:auto!important;padding-top:16px;text-decoration:none;font-weight:700;color:var(--navy);display:inline-flex;align-items:center;gap:6px;transition:color .15s ease}.card .link:hover{color:var(--magenta)}.steps{display:grid;grid-gap:28px;gap:28px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.step{padding:28px;transition:transform .15s ease}.step:hover{transform:translateY(-2px)}.step .c-dot{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--font-outfit),sans-serif;font-weight:800;font-size:1rem;margin-bottom:18px;box-shadow:4px 4px 9px var(--sh-dark),-3px -3px 8px var(--sh-light)}.step h3{margin-bottom:8px;font-size:1.08rem}.step p{margin:0;font-size:.95rem}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:48px;gap:48px;align-items:center}.panel{padding:40px}.panel--dark{background:var(--navy);color:#fff;box-shadow:9px 9px 18px #9aa3b4,-9px -9px 18px var(--sh-light)}.panel--dark h2,.panel--dark h3{color:#fff}.panel--dark p{color:#C9D3E6}.panel--dark .pill{background:rgba(255,255,255,.08);color:#fff;box-shadow:inset 3px 3px 6px rgba(0,0,0,.35),inset -3px -3px 6px rgba(255,255,255,.06)}.panel--dark .btn,.panel--dark .btn--solid{box-shadow:none!important;border:1px solid rgba(255,255,255,.18)}.panel--dark .btn--solid:hover,.panel--dark .btn:hover{filter:brightness(1.08);box-shadow:0 4px 12px rgba(0,0,0,.4)!important;transform:translateY(-1px)}.text-btn{display:inline-flex;align-items:center;gap:8px;background:transparent!important;box-shadow:none!important;border:none!important;padding:0!important;color:#ffffff!important;font-family:var(--font-outfit),sans-serif;font-weight:700;font-size:1.08rem;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:color .2s ease,gap .2s ease,transform .2s ease}.text-btn:hover{color:var(--cyan)!important;gap:12px;transform:translateX(2px)}.pill{display:inline-block;padding:8px 16px;border-radius:999px;font-size:.9rem;font-weight:600;background:var(--bg);box-shadow:var(--inset);border:1px solid rgba(188,196,209,.45);color:var(--navy);margin:0 8px 10px 0}.pill.c-cyan{background:var(--cyan)!important;box-shadow:2px 3px 8px rgba(28,163,222,.4)!important}.pill.c-cyan,.pill.c-magenta{color:#ffffff!important;border-color:rgba(255,255,255,.35)!important}.pill.c-magenta{background:var(--magenta)!important;box-shadow:2px 3px 8px rgba(228,0,124,.4)!important}.pill.c-yellow{background:var(--yellow)!important;color:var(--navy)!important;box-shadow:2px 3px 8px rgba(255,210,31,.4)!important;border-color:rgba(20,33,61,.25)!important}.pill.c-orange{background:var(--orange)!important;color:#ffffff!important;box-shadow:2px 3px 8px rgba(247,148,29,.4)!important;border-color:rgba(255,255,255,.35)!important}.pill.c-navy{background:var(--navy)!important;color:#ffffff!important;box-shadow:2px 3px 8px rgba(20,33,61,.4)!important;border-color:rgba(255,255,255,.25)!important}.pill.c-brick{background:var(--brick)!important;color:#ffffff!important;box-shadow:2px 3px 8px rgba(181,50,42,.4)!important;border-color:rgba(255,255,255,.35)!important}.pill-row{display:flex;flex-wrap:wrap}.tech-card{padding:34px;display:flex;flex-direction:column;gap:18px;border-left:6px solid var(--magenta)}.tech-card.border-cyan{border-left-color:var(--cyan)}.tech-card.border-magenta{border-left-color:var(--magenta)}.tech-card.border-yellow{border-left-color:var(--yellow)}.tech-card.border-orange{border-left-color:var(--orange)}.tech-card.border-navy{border-left-color:var(--navy)}.tech-card.border-brick{border-left-color:var(--brick)}.spec-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px}.spec-list li{font-size:.95rem;padding-left:24px;position:relative;color:var(--navy)}.spec-list li:before{content:"✓";position:absolute;left:0;color:var(--magenta);font-weight:800}.ideal-box{background:rgba(20,33,61,.035);padding:16px 20px;border-radius:var(--r-sm);border:1px solid rgba(188,196,209,.35);margin-top:auto}.ideal-box h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}.svc-block{display:grid;grid-template-columns:260px 1fr;grid-gap:32px;gap:32px;padding:0;overflow:hidden;margin-bottom:36px;transition:transform .2s ease}.svc-block:hover{transform:translateY(-2px)}.svc-block__side{padding:36px 30px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:24px}.svc-block__side .n{font-family:var(--font-outfit),sans-serif;font-weight:800;font-size:3.6rem;line-height:.9}.svc-block__side h3{color:#fff;font-size:1.5rem}.svc-block__body{padding:36px 36px 36px 0;display:flex;flex-direction:column;gap:22px}.svc-block__body p{margin:0}.svc-block .pill-row .pill{margin-bottom:0}.print-grid{display:grid;grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.proc{padding:24px;display:flex;flex-direction:column;gap:12px;transition:transform .15s ease}.proc:hover{transform:translateY(-2px)}.proc .top{display:flex;align-items:center;gap:14px}.proc .code{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#fff;font-family:var(--font-outfit),sans-serif;font-weight:800;font-size:1rem;box-shadow:4px 4px 9px var(--sh-dark),-3px -3px 8px var(--sh-light);flex:0 0 48px}.proc h3{font-size:1.05rem}.proc p{margin:0;font-size:.94rem}.fmt{padding:28px;transition:transform .15s ease}.fmt:hover{transform:translateY(-2px)}.fmt h3{margin-bottom:8px}.filters{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:40px}.work{padding:18px;display:flex;flex-direction:column;gap:16px;transition:transform .2s ease}.work:hover{transform:translateY(-2px)}.work__img{height:230px;border-radius:var(--r-sm);box-shadow:var(--inset);position:relative;overflow:hidden;background:var(--navy);border:1px solid rgba(188,196,209,.3)}.work__photo{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s cubic-bezier(.16,1,.3,1)}.work:hover .work__photo{transform:scale(1.06)}.work__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,33,61,.05) 35%,rgba(20,33,61,.72));display:flex;align-items:flex-end;padding:14px 16px;opacity:.9;transition:opacity .25s ease}.work:hover .work__overlay{opacity:1}.work__zoom-tag{background:rgba(230,234,240,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--navy);font-family:var(--font-outfit),sans-serif;font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;box-shadow:0 4px 10px rgba(0,0,0,.2);transition:all .2s ease}.work:hover .work__zoom-tag{transform:translateY(-2px);background:#ffffff;color:var(--magenta)}.work__meta{padding:0 10px 12px}.work__meta small{display:inline-block;font-weight:700;font-size:.82rem;padding:4px 12px;border-radius:999px;color:#fff;margin-bottom:10px}.work__meta h3{margin-bottom:6px}.work__meta p{margin:0;font-size:.95rem}.form{padding:40px;grid-gap:22px}.form,.form .row{display:grid;gap:22px}.form .row{grid-template-columns:1fr 1fr;grid-gap:22px}.field label{display:block;font-weight:700;font-size:.92rem;margin-bottom:8px;color:var(--navy)}.field input,.field select,.field textarea{width:100%;font-family:var(--font-dm-sans),sans-serif;font-weight:500;font-size:1rem;color:var(--navy);background:var(--bg);border:0;border-radius:var(--r-sm);padding:15px 18px;box-shadow:var(--inset);outline:none;transition:box-shadow .15s ease}.field input:focus,.field select:focus,.field textarea:focus{box-shadow:var(--inset),0 0 0 3px var(--cyan)}.field textarea{min-height:130px;resize:vertical}.form .btn{justify-self:start}.ok{color:#107E54;background:rgba(16,126,84,.1);padding:12px 18px;border-radius:12px;font-weight:700;margin:0}.info li{list-style:none;padding:16px 0;border-bottom:0}.info ul{padding:0;margin:0;display:grid;grid-gap:4px;gap:4px}.info small{display:block;font-family:var(--font-outfit),sans-serif;font-weight:700;font-size:.8rem;color:var(--magenta);letter-spacing:.05em}.info span{font-weight:600}.map{min-height:200px;display:grid;place-items:center;text-align:center;padding:24px}.map p{margin:0;font-weight:600}.cta{padding:56px 48px;display:grid;grid-template-columns:1.3fr 1fr;grid-gap:32px;gap:32px;align-items:center}.cta h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}.cta .btns{display:grid;grid-gap:16px;gap:16px;justify-items:stretch}.cta .btn{width:100%}footer.site-foot{padding-block:64px 32px;margin-top:40px}.foot{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;grid-gap:40px;gap:40px}.foot h4{font-size:.95rem;margin-bottom:16px}.foot ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px}.foot a{text-decoration:none;color:var(--muted);font-weight:500;transition:color .15s ease}.foot a:hover{color:var(--magenta)}.foot p{margin-top:16px}.foot__bottom{margin-top:48px;padding-top:24px;border-top:0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.9rem;color:var(--muted);box-shadow:inset 0 1px 0 var(--sh-dark)}@media (max-width:900px){.cta,.form .row,.hero__grid,.split,.svc-block{grid-template-columns:1fr}.svc-block__body{padding:0 28px 32px}.foot{grid-template-columns:1fr 1fr}section.block{padding-block:64px}}@media (max-width:560px){.foot{grid-template-columns:1fr}.cta,.form,.pad,.panel{padding:24px}.hero{padding-block:48px 40px}.stack .tile[style*=margin-left]{margin-left:0!important}}.num-card{display:flex;flex-direction:row;align-items:stretch;background:var(--bg);box-shadow:var(--raise);border-radius:var(--r);border:1px solid rgba(255,255,255,.75);overflow:hidden;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease}.num-card:hover{transform:translateY(-3px);box-shadow:12px 12px 26px var(--sh-dark),-12px -12px 26px var(--sh-light)}.num-card__side{position:relative;width:112px;flex:0 0 112px;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-top-left-radius:inherit;border-bottom-left-radius:inherit;box-shadow:inset 0 2px 4px rgba(255,255,255,.55),inset 0 -4px 8px rgba(0,0,0,.3),4px 0 14px rgba(0,0,0,.1)}.num-card__side:before{top:8px;left:12px;right:12px;height:44%;border-radius:16px 16px 50% 50%;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.2) 65%,rgba(255,255,255,0));z-index:1}.num-card__side:after,.num-card__side:before{content:"";position:absolute;pointer-events:none}.num-card__side:after{bottom:8px;left:14px;right:14px;height:20%;border-radius:50%;background:radial-gradient(ellipse at bottom,rgba(255,255,255,.28) 0,transparent 70%)}.num-card__num{position:relative;z-index:2;font-family:var(--font-outfit),sans-serif;font-weight:900;font-size:clamp(2.4rem,4.2vw,3.2rem);color:#ffffff;line-height:1;letter-spacing:-.04em;text-shadow:0 3px 10px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.4)}.num-card__body{flex:1 1;padding:30px 36px;display:flex;flex-direction:column;gap:16px;min-width:0}.num-card__head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.num-card__tag{display:block;font-size:.82rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.num-card__title{font-size:1.55rem;color:var(--navy);margin:0;line-height:1.2}.num-card__desc{margin:0;font-size:1.05rem;line-height:1.6;color:var(--muted)}.num-card__caps-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);margin-bottom:12px}@media (max-width:768px){.num-card__side{width:82px;flex:0 0 82px}.num-card__num{font-size:2.1rem}.num-card__body{padding:22px 20px;gap:14px}.num-card__title{font-size:1.3rem}}@media (max-width:480px){.num-card__side{width:68px;flex:0 0 68px}.num-card__num{font-size:1.85rem}.num-card__body{padding:18px 14px}}