@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/jost-latin-ext-300-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/jost-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jost-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jost-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jost-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jost-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Comfortaa';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/comfortaa-latin-ext-300-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Comfortaa';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/comfortaa-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Comfortaa';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/comfortaa-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Comfortaa';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/comfortaa-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
body{margin:0;background:#FFFFFF;font-family:'Jost',system-ui,sans-serif;color:#1F2A37;-webkit-font-smoothing:antialiased}
html{scroll-behavior:smooth}
a{color:#0B4D79;text-decoration:none}a:hover{color:#063A5C}
a:focus-visible,button:focus-visible{outline:2px solid #0B4D79;outline-offset:3px}
.nav a{color:#5C636A}.nav a:hover{color:#0B4D79}
.nav-dark a{color:#C8D6EA}.nav-dark a:hover{color:#FFFFFF}
.ref-row{border-top:1px solid #E3E7EC}
h1{font-weight:300 !important;letter-spacing:-0.015em !important}
h3,.serif{font-weight:300 !important}
@media (max-width:760px){.nav{display:none !important}.social{display:none !important}}
.social a:hover{color:#FFFFFF !important;border-color:#FFFFFF !important}
.map-spin{transform-box:view-box;transform-origin:1040px 320px;animation:mapSpin 300s linear infinite}
.map-ring{transform-box:view-box;transform-origin:1040px 320px;animation:mapSpin 120s linear infinite reverse}
.map-ring2{transform-box:view-box;transform-origin:1040px 320px;animation:mapSpin 200s linear infinite}
.map-flow{animation:mapFlow 8s linear infinite}
.map-pulse{animation:mapPulse 9s linear infinite}
.map-orbit{animation:mapOrbit 14s linear infinite}
.map-node{animation:mapNode 4s ease-in-out infinite}
@keyframes mapSpin{to{transform:rotate(360deg)}}
@keyframes mapFlow{to{stroke-dashoffset:-60}}
@keyframes mapPulse{from{stroke-dashoffset:0}to{stroke-dashoffset:-1014}}
@keyframes mapOrbit{from{stroke-dashoffset:0}to{stroke-dashoffset:-3026}}
@keyframes mapNode{0%,100%{opacity:.25}50%{opacity:1}}
.city polygon{stroke:#0B4D79;stroke-width:.7;stroke-opacity:.85;stroke-linejoin:round;transition:fill .9s ease}
.city .a{fill:#E9EEF3}.city .b{fill:#F4F6F9}.city .t{fill:#FFFFFF}
.city .far polygon{stroke-opacity:.45}
.city .tw{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.city .tw:hover{transform:translateY(-14px);transition-duration:.18s}
.city .tw:hover polygon{transition-duration:.18s;stroke-opacity:1}
.city .tw:hover .t{fill:#0B4D79}.city .tw:hover .a{fill:#C9D8E6}.city .tw:hover .b{fill:#DCE6EF}
@media (prefers-reduced-motion:reduce){.city .tw,.city polygon{transition:none}.city .tw:hover{transform:none}}
.nav a{position:relative}.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.nav a:hover::after{transform:scaleX(1)}
.btn1,.btn2{transition:background .25s ease,border-color .25s ease,transform .25s ease}
.btn1:hover{background:#E3EDF6 !important;transform:translateY(-2px)}.btn2:hover{background:rgba(255,255,255,.12) !important;border-color:#FFFFFF !important;transform:translateY(-2px)}
.xp svg,.xp svg circle{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.xp svg{transform-box:fill-box;transform-origin:center}
.xp h3{transition:color .3s ease}.xp:hover h3{color:#0B4D79}
.xp:hover .pic-target{transform:scale(1.15)}
.xp:hover .pic-merge circle:first-child{transform:translateX(7px)}.xp:hover .pic-merge circle:last-child{transform:translateX(-7px)}
.xp:hover .pic-org{transform:rotate(120deg)}
.cv .num{transition:background .3s ease,color .3s ease}.cv:hover .num{background:#0B4D79 !important;color:#FFFFFF !important}
.cv h3{transition:transform .35s ease,color .3s ease}.cv:hover h3{transform:translateX(6px);color:#0B4D79}
.sit{transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}
.sit:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(8,77,121,.12);background-color:#F3F5F7 !important}
.sit-cta:hover{background-color:#063A5C !important}
.sit .q{transition:color .3s ease}.sit:hover .q{color:#0B4D79 !important}
.sit-cta:hover{color:#FFFFFF}.sit-cta svg{transition:transform .3s ease}.sit-cta:hover svg{transform:translateX(6px)}
.ref-row{transition:border-color .3s ease,padding-left .35s ease}.ref-row:hover{border-top-color:#0B4D79;padding-left:14px !important}
.ref-row .serif{transition:color .3s ease}.ref-row:hover .serif{color:#0B4D79 !important}
@supports (animation-timeline: view()){.xp,.cv,.ref-row,.sit,section h2{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% entry 45%}}
@keyframes reveal{from{opacity:0;transform:translateY(28px)}}
@media (prefers-reduced-motion:reduce){.xp,.cv,.ref-row,.sit,section h2{animation:none}.xp svg,.xp svg circle,.cv h3,.btn1,.btn2,.sit,.sit-cta svg{transition:none}}
.net-pulse{animation:netPulse 7s linear infinite}
.net-node{animation:mapNode 5s ease-in-out infinite}
@keyframes netPulse{from{stroke-dashoffset:0}to{stroke-dashoffset:-410}}
@media (prefers-reduced-motion:reduce){.net-node{animation:none}.net-pulse{display:none}}
.net{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent)}
@media (prefers-reduced-motion:reduce){.map-spin,.map-ring,.map-ring2,.map-flow,.map-pulse,.map-orbit,.map-node{animation:none}}
.lang{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;box-sizing:border-box;font-size:14px;border:1px solid rgba(255,255,255,0.35);color:#C8D6EA}
.lang:hover{color:#FFFFFF}
.lang.on{background:#FFFFFF;border-color:#FFFFFF;color:#084D79;font-weight:500}
.lang.on:hover{color:#084D79}
@media (max-width:760px){h1{font-size:38px !important}}
@media (max-width:420px){header a[style*="Comfortaa"]{font-size:22px !important}}
