@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/space-grotesk-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/space-grotesk-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-sans-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-sans-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/ibm-plex-sans-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/ibm-plex-sans-latin-700-normal.woff2') format('woff2');}

:root{--navy:#14262C;--navy-2:#1D3742;--blue-deep:#2C5468;--blue:#A9C2CB;--yellow:#FEFF60;--ink:#12181B;--ground:#F7F7F7;--surface:#FFFFFF;--line:#DDE3E6;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
html.no-scroll{overflow:hidden;}
body{background:var(--ground);color:var(--ink);font-family:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;}
[hidden]{display:none !important;}
img{max-width:100%;}
.page{width:100%;min-height:100vh;background:var(--ground);color:var(--ink);display:flex;flex-direction:column;overflow:hidden;}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--yellow);color:var(--navy);padding:10px 16px;border-radius:4px;font-weight:700;}
.skip:focus{left:8px;}
a:focus-visible,button:focus-visible,[role=button]:focus-visible{outline:3px solid var(--blue-deep);outline-offset:3px;}
dialog.dlg{border:0;padding:0;background:var(--surface);border-radius:12px;width:min(780px,calc(100vw - 24px));max-width:none;max-height:calc(100vh - 24px);overflow:auto;color:var(--ink);font-family:inherit;}
dialog.dlg-contact{width:min(640px,calc(100vw - 24px));}
dialog.dlg[open]{animation:modalIn 0.35s cubic-bezier(0.2,0.7,0.2,1) both;}
dialog.dlg::backdrop{background:rgba(20,38,44,0.82);animation:fadeIn 0.25s ease both;}
.dlg-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;border:none;background:rgba(255,255,255,0.14);color:#FFFFFF;font-size:24px;line-height:1;cursor:pointer;z-index:2;}
.dlg-close:hover{background:rgba(255,255,255,0.28);}

*{box-sizing:border-box;}
body{margin:0;}
a{text-decoration:none;}

@keyframes rise{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}
@keyframes grow{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes mountainUp{from{opacity:0;transform:translateY(80px);}to{opacity:1;transform:none;}}
@keyframes sunRise{from{transform:translateY(150px);}to{transform:none;}}
@keyframes sunPulse{0%{transform:scale(1);opacity:0.35;}100%{transform:scale(1.9);opacity:0;}}
@keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
@keyframes dash{to{stroke-dashoffset:-56;}}
@keyframes nodePulse{0%,100%{transform:scale(1);}50%{transform:scale(1.7);}}
@keyframes gridMove{to{background-position:340px 340px;}}
@keyframes drift{from{transform:skewX(-24deg) translateX(0);}to{transform:skewX(-24deg) translateX(180px);}}
@keyframes ringPulse{0%{box-shadow:0 0 0 0 rgba(20,38,44,0.35);}100%{box-shadow:0 0 0 20px rgba(20,38,44,0);}}

@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes modalIn{from{opacity:0;transform:translateY(24px) scale(0.97);}to{opacity:1;transform:none;}}
.tcard:hover .arrow{transform:translateX(5px);}
.tcard:focus-visible{outline:3px solid #FEFF60;outline-offset:3px;}
@keyframes blink{0%,100%{opacity:0.2;}50%{opacity:1;}}
@keyframes nRise{from{clip-path:inset(100% 0 0 0);transform:translateY(14px);}to{clip-path:inset(0 0 0 0);transform:none;}}
@keyframes wipeR{from{clip-path:inset(0 100% 0 0);transform:translateX(-12px);}to{clip-path:inset(0 0 0 0);transform:none;}}
@keyframes wipeUp{from{clip-path:inset(100% 0 0 0);}to{clip-path:inset(0 0 0 0);}}
@keyframes tagIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
@keyframes sunGlow{0%,100%{filter:drop-shadow(0 0 0 rgba(254,255,49,0));}50%{filter:drop-shadow(0 0 7px rgba(254,255,49,0.95));}}
.logo-anim{transform-origin:left center;transition:transform 0.25s ease;}
.logo-anim:hover{transform:scale(1.04);}
.l-n{animation:nRise 0.9s cubic-bezier(0.2,0.7,0.2,1) 0.1s both;}
.l-sun{animation:wipeUp 1s cubic-bezier(0.2,0.7,0.2,1) 0.75s both;}
.l-sun-w{animation:sunGlow 3.4s ease-in-out 2.2s infinite;}
.l-t1{animation:wipeR 0.85s cubic-bezier(0.2,0.7,0.2,1) 0.45s both;}
.l-t2{animation:wipeR 0.85s cubic-bezier(0.2,0.7,0.2,1) 0.6s both;}
.l-t3{animation:wipeR 0.85s cubic-bezier(0.2,0.7,0.2,1) 0.75s both;}
.l-tag{animation:tagIn 0.8s ease 1.3s both;}
@keyframes driftX{0%,100%{transform:translateX(-10px);}50%{transform:translateX(12px);}}
.led{animation:blink 2s ease-in-out infinite;}
.cloud-in{animation:mountainUp 1s cubic-bezier(0.2,0.7,0.2,1) 0.9s both;}
.cloud-drift{animation:driftX 9s ease-in-out infinite;}
.shield-in{animation:mountainUp 0.9s cubic-bezier(0.2,0.7,0.2,1) 1.1s both;}
.chip-in{animation:rise 0.8s cubic-bezier(0.2,0.7,0.2,1) both;}
.a-rise{animation:rise 0.8s cubic-bezier(0.2,0.7,0.2,1) both;}
.mt-back{animation:mountainUp 1s cubic-bezier(0.2,0.7,0.2,1) 0.25s both;}
.mt-front{animation:mountainUp 1s cubic-bezier(0.2,0.7,0.2,1) 0.45s both;}
.sun-rise{animation:sunRise 1.6s cubic-bezier(0.2,0.7,0.2,1) 0.6s both;}
.sun-ring{transform-box:fill-box;transform-origin:center;animation:sunPulse 3s ease-out 2s infinite;}
.flow{stroke-dasharray:6 8;animation:dash 2.5s linear infinite;}
.node{transform-box:fill-box;transform-origin:center;animation:nodePulse 2.6s ease-in-out infinite;}
.float{animation:floatY 5s ease-in-out infinite;}
.grid-bg{animation:gridMove 30s linear infinite;}
.bar{animation:drift 14s ease-in-out infinite alternate;}
.pulse{animation:ringPulse 2.4s ease-out infinite;}

.lift{transition:transform 0.25s ease,box-shadow 0.25s ease;}
.lift:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(20,38,44,0.16);}
.btn{transition:transform 0.2s ease,filter 0.2s ease;}
.btn:hover{transform:translateY(-2px);filter:brightness(1.06);}
.navlink{transition:color 0.2s ease;}
.navlink:hover{color:#2C5468;}
.pcard{position:relative;overflow:hidden;}
.pcard::after{content:"";position:absolute;left:0;bottom:0;height:5px;width:100%;background:#FEFF60;transform:scaleX(0);transform-origin:left;transition:transform 0.35s ease;}
.pcard:hover::after{transform:scaleX(1);}
.pcard:hover .arrow{transform:translate(4px,-4px);}
.arrow{display:inline-block;transition:transform 0.25s ease;}

.t-short{display:none;}
.burger{transition:background 0.2s ease;}

@media (max-width:960px){
.hero-grid{grid-template-columns:minmax(0,1fr) !important;gap:24px !important;}
.hero-art{max-width:480px;margin:0 auto;width:100%;}
.hero-h1{font-size:56px !important;}
.intro-grid{grid-template-columns:minmax(0,1fr) !important;gap:20px !important;margin-bottom:36px !important;}
}

@media (max-width:760px){
.hdr{padding:10px 20px !important;}
.logo{height:64px !important;}
.nav-links{display:none !important;}
.burger{display:inline-flex !important;}
.t-full{display:none;}
.t-short{display:inline;}
.cta-h{padding:11px 16px !important;font-size:13px !important;margin-left:4px;}
.hero{padding:32px 20px 110px !important;}
.hero-h1{font-size:42px !important;}
.hero-p{font-size:16px !important;}
.hero-btns{flex-direction:column !important;align-items:stretch !important;gap:12px !important;}
.hero-btns a{justify-content:center !important;}
.sec{padding-left:20px !important;padding-right:20px !important;}
.sec-team{padding-top:84px !important;padding-bottom:60px !important;}
.sec-lei{padding-top:calc(var(--cut) + 44px) !important;}
.h2xl{font-size:38px !important;}
.h2big{font-size:28px !important;margin-bottom:28px !important;}
.cards3,.cards2{grid-template-columns:minmax(0,1fr) !important;gap:18px !important;}
.pcard{padding:24px 22px 28px !important;}
.team-grid{grid-template-columns:minmax(0,1fr) !important;gap:14px !important;}
.tcard{display:grid !important;grid-template-columns:96px minmax(0,1fr);column-gap:16px;row-gap:4px;align-items:center;padding:14px !important;}
.tc-photo{grid-row:1 / span 2;width:96px !important;}
.tc-info{grid-column:2;grid-row:1;align-self:end;}
.tc-link{grid-column:2;grid-row:2;align-self:start;margin-top:4px;}
.tc-name{font-size:18px !important;}
.ov{padding:12px !important;}
.dlg{max-height:calc(100vh - 24px) !important;}
.dlg-h{padding:26px 20px 22px !important;gap:16px !important;}
.dlg-av{width:84px !important;height:84px !important;}
.dlg-name{font-size:24px !important;}
.dlg-b{padding:22px 20px 26px !important;}
}

@supports (animation-timeline: view()){
.reveal{animation:rise linear backwards;animation-timeline:view();animation-range:entry 0% entry 40%;}
}
@media (prefers-reduced-motion: reduce){
*{animation:none !important;transition:none !important;}
}

:root{--cut:90px;}
@media (max-width:760px){:root{--cut:56px;}}

.tlink{transition:color 0.2s ease;}
.tlink:hover{color:#14262C;}
.chip{transition:background 0.2s ease,color 0.2s ease,border-color 0.2s ease;}
.chip:hover{background:#14262C;color:#FFFFFF;border-color:#14262C;}
.ph{background:#FEFF60;color:#14262C;padding:1px 6px;border-radius:3px;font-weight:600;}
@media (max-width:760px){
.tband{padding:36px 20px 110px !important;}
.t-h1{font-size:34px !important;}
.twrap{padding:0 14px 60px !important;margin-top:-64px !important;}
.tcard2{padding:26px 20px 34px !important;}
.kv{grid-template-columns:minmax(0,1fr) !important;gap:6px !important;}
.sec-f{padding-left:20px !important;padding-right:20px !important;}
}
