:root{--blue: #3B82C4;--deep: #135E8F;--ink: #1B2330;--deep-hover: #0E4A72;--slate: #5A6B7C;--muted: #8194A8;--tint: #EAF3FA;--bg-soft: #F4F8FB;--border: #E6EDF3;--navy: #0E2435;--green: #1B8A5A;--teal: #0E9C8F;--font: "Plus Jakarta Sans", sans-serif}*{box-sizing:border-box;margin:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font);color:var(--ink);background:#fff;line-height:1.5;overflow-x:hidden}a{text-decoration:none;color:inherit}img{max-width:100%}.wrap{max-width:1400px;margin:0 auto;padding-inline:32px}.site-header{position:sticky;top:16px;left:0;right:0;z-index:100;max-width:1340px;margin:0 auto;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:background .35s,backdrop-filter .35s,box-shadow .35s,border-color .35s,border-radius .35s,margin .4s cubic-bezier(.4,0,.2,1)}.site-header.scrolled{background:#ffffffe6;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-radius:50px;border-color:transparent;box-shadow:0 2px 8px #0e24350f,0 8px 32px #0e24351a,inset 0 0 0 1px #ffffffa6}.site-header.scrolled.opened{border-radius:20px}.nav{display:flex;align-items:center;justify-content:space-between;padding-block:8px;padding-inline:16px}.nav-logo img{height:32px;display:block;object-fit:contain}.nav-links{display:flex;gap:34px;font-size:.9375rem;font-weight:600;color:#45556b}.nav-links a{padding:4px 0;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.nav-links a:hover,.nav-links a.active{color:var(--deep);border-color:var(--blue)}.btn{display:inline-flex;align-items:center;gap:10px;background:var(--deep);color:#fff;font-weight:700;font-size:.9375rem;padding:13px 26px;border-radius:10px;border:none;cursor:pointer;font-family:var(--font);transition:background .2s,transform .15s}.btn.btn-sm{padding:9px 22px;font-size:.875rem}.btn:hover{background:var(--deep-hover);transform:translateY(-1px)}.btn.ghost{background:transparent;color:var(--deep);box-shadow:inset 0 0 0 1.5px #c9dcec}.btn.ghost:hover{background:var(--tint)}.btn.on-dark{background:#fff;color:var(--deep)}.btn.on-dark:hover{background:var(--tint)}.nav-burger{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--ink)}.mobile-menu{display:none}.mobile-menu.open{display:block;background:#fff;border-bottom:1px solid var(--border)}.site-header.scrolled .mobile-menu.open{background:transparent;border-bottom:none}.mobile-menu a{display:block;padding:15px 32px;font-weight:600;color:#45556b;border-top:1px solid var(--border)}.mobile-menu a:active{background:var(--tint)}.sec{padding-top:48px;padding-bottom:48px}.sec-head{max-width:660px;margin-bottom:48px}.kicker{font-size:.8125rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}h2{font-size:clamp(1.875rem,3vw,2.5rem);font-weight:800;letter-spacing:-.015em;line-height:1.12;text-wrap:balance}.sec-head p{font-size:1.0625rem;color:var(--slate);margin-top:16px;text-wrap:pretty}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.filter-btn{font-family:var(--font);font-size:.84375rem;font-weight:700;color:#45556b;background:#f4f7fa;border:1px solid #E3EBF2;border-radius:100px;padding:9px 18px;cursor:pointer;transition:all .15s}.filter-btn:hover{border-color:var(--blue);color:var(--deep)}.filter-btn.active{background:var(--deep);border-color:var(--deep);color:#fff}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pcard{border-radius:20px;border:1px solid var(--border);overflow:hidden;background:#fff;transition:box-shadow .2s;display:block}.pcard:hover{box-shadow:0 16px 40px #135e8f1f}.pcard.hide{display:none}.pthumb{height:200px;position:relative;overflow:hidden;background:var(--bg-soft);display:grid;place-items:center}.pthumb img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s}.pcard:hover .pthumb img{transform:scale(1.04)}.pmark{font-size:4rem;font-weight:800;color:#ffffffd9}.pbody{padding:22px 24px 26px}.pcat{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}.pbody h4{font-size:1.1875rem;font-weight:800;margin:8px 0 6px}.pbody p{font-size:.875rem;color:var(--slate)}.purl{display:inline-block;margin-top:14px;font-size:.8125rem;font-weight:700;color:var(--deep)}.purl--case{font-weight:800;color:var(--deep)}.purl--ext{display:inline-block;font-size:.8125rem;font-weight:700;color:var(--muted);transition:color .15s}.purl--ext:hover{color:var(--deep)}.pcard.wide{grid-column:span 3;display:grid;grid-template-columns:1.2fr 1fr}.pcard.wide .pthumb{height:100%;min-height:240px}.pcard.wide .pbody{padding:36px 40px;align-self:center}.pcard.wide h4{font-size:1.625rem}.site-footer{background-color:var(--navy);color:#93a8ba;padding:32px 0 24px}.site-footer .wrap.cols{display:flex;justify-content:space-between;align-items:flex-start;gap:48px;flex-wrap:wrap}.fbrand b{color:#fff;font-size:1.375rem;font-weight:800}.fbrand p{font-size:.875rem;margin-top:8px}.fcols{display:flex;gap:72px;font-size:.875rem;flex-wrap:wrap}.fcols h5{color:#fff;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}.fcols a{display:block;padding:4px 0}.fcols a:hover{color:#fff}.fcontact{margin-top:20px;display:flex;flex-direction:column;gap:10px;font-size:.875rem}.fcontact a,.fcontact span{display:inline-flex;align-items:flex-start;gap:10px;line-height:1.5}.fcontact svg{flex:none;margin-top:3px;opacity:.65}.fcontact a{transition:color .2s}.fcontact a:hover{color:#fff}.copyright{border-top:1px solid #1D3A50;margin-top:32px;padding-top:16px;font-size:.8125rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}@media(max-width:1400px){.site-header{max-width:calc(100% - 64px)}}@media(max-width:1024px){html{font-size:14px}.pcard.wide{grid-column:span 2}}@media(max-width:992px){.nav-links,.nav .btn{display:none}.nav-burger{display:block}}@media(max-width:720px){html{font-size:12px}.site-header{max-width:calc(100% - 30px)}.wrap{padding-inline:20px}.work-grid{grid-template-columns:1fr}.pcard.wide{grid-column:span 1;display:block}.pcard.wide .pthumb{height:200px}}
