*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:#F6F5F2;color:#1A1A1C;font-family:'Jost','Helvetica Neue',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:#2E5FA3}
a:hover{color:#1E4477}
summary{list-style:none}
summary::-webkit-details-marker{display:none}
details[open] summary span{transform:rotate(45deg)}
summary span{transition:transform .2s}
[id]{scroll-margin-top:96px}
.nav-desktop{display:flex;gap:20px;font-size:13px;letter-spacing:.09em;text-transform:uppercase;font-weight:500;white-space:nowrap}
.nav-desktop a{text-decoration:none;color:#1A1A1C;padding-bottom:4px;position:relative}
.nav-desktop a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:#2E5FA3;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav-desktop a:hover{color:#2E5FA3}
.nav-desktop a:hover::after{transform:scaleX(1)}
.nav-desktop a[aria-current="page"]{color:#2E5FA3}
.nav-desktop a[aria-current="page"]::after{transform:scaleX(1)}
.btn-call{text-decoration:none;background:#2E5FA3;color:#fff;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:14px 22px;border-radius:4px;white-space:nowrap}
.btn-call:hover{background:#1E4477;color:#fff}
.call-short{display:none}
.menu-btn{display:none;background:#16202E;border:none;border-radius:4px;width:46px;height:44px;flex-direction:column;gap:5px;align-items:center;justify-content:center;cursor:pointer}
.menu-btn span{width:20px;height:2px;background:#fff;display:block}
.mobile-nav{display:none;flex-direction:column;padding:8px 24px 20px;border-top:1px solid rgba(28,28,30,0.14);font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.mobile-nav.is-open{display:flex}
.mobile-nav a{text-decoration:none;color:#1A1A1C;padding:14px 0;border-bottom:1px solid rgba(28,28,30,0.14)}
.mobile-nav a[aria-current="page"]{color:#2E5FA3}
@media (max-width:1099px){.nav-desktop{display:none}.menu-btn{display:flex}}
@media (min-width:1100px){.mobile-nav,.mobile-nav.is-open{display:none}}
@media (max-width:519px){.call-long{display:none}.call-short{display:inline}}
.hv-1:hover{background:#1E4477 !important}
.hv-2:hover{background:rgba(255,255,255,0.12) !important}
.hv-3:hover{background:#2E5FA3 !important;color:#fff !important}
.hv-4{transition:box-shadow .3s ease}
.hv-4:hover{box-shadow:0 22px 50px -30px rgba(22,32,46,0.5) !important}
.hv-5{transition:transform .3s ease}
.hv-5:hover{transform:translateY(-4px) !important}
.hv-1,.hv-2,.hv-3,.btn-call{display:inline-block;position:relative;overflow:hidden}
.hv-1::after,.hv-2::after,.btn-call::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.45);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0}
.hv-3::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(46,95,163,.22);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0}
.hv-1:active,.hv-2:active,.hv-3:active,.btn-call:active{filter:brightness(.92)}
.hv-1:active::after,.hv-2:active::after,.hv-3:active::after,.btn-call:active::after{animation:cg-ripple .6s linear forwards}
@keyframes cg-ripple{0%{width:0;height:0;opacity:.4}80%{width:400%;height:400%;opacity:.1}100%{width:500%;height:500%;opacity:0}}
@media (prefers-reduced-motion: reduce){.hv-1:active::after,.hv-2:active::after,.hv-3:active::after,.btn-call:active::after{animation:none}}
.svc{position:relative;z-index:0;background:#fff;border:1px solid #e7e9ee;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(20,30,50,0.04),0 2px 4px rgba(20,30,50,0.03);transition:transform .35s cubic-bezier(0.2,0.7,0.2,1),box-shadow .35s cubic-bezier(0.2,0.7,0.2,1),border-color .35s ease;will-change:transform}
.svc:hover{transform:translateY(-8px);border-color:#dfe2e8;box-shadow:0 2px 4px rgba(20,30,50,0.04),0 6px 12px rgba(20,30,50,0.06),0 14px 28px rgba(20,30,50,0.08),0 28px 56px rgba(20,30,50,0.10);z-index:1}
.svc__go{display:inline-flex;align-items:center;gap:.4rem;font-weight:600}
.svc__arrow{display:inline-block;transition:transform .35s ease}
.svc:hover .svc__arrow{transform:translateX(4px)}
.svc--dark{border-color:rgba(255,255,255,0.18)}
.svc--dark:hover{border-color:rgba(255,255,255,0.38)}
.svc:focus-visible{outline:2px solid #2E5FA3;outline-offset:2px}
@media (prefers-reduced-motion: reduce){.svc,.svc__arrow{transition:none !important}}
footer a{transition:color .2s ease}
footer a:hover{color:#fff !important}
