@import url(https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap);@font-face{font-family:lora-regular;font-style:normal;font-weight:400;src:url(/build/fonts/lora-regular-webfont.48d92089.woff2) format("woff2"),url(/build/fonts/lora-regular-webfont.0cd60330.woff) format("woff")}@font-face{font-family:lora-italic;font-style:normal;font-weight:400;src:url(/build/fonts/lora-italic-webfont.0714b45e.woff2) format("woff2"),url(/build/fonts/lora-italic-webfont.cfc6bf9b.woff) format("woff")}@font-face{font-family:lora-bold;font-style:normal;font-weight:400;src:url(/build/fonts/lora-bold-webfont.1e28b18c.woff2) format("woff2"),url(/build/fonts/lora-bold-webfont.67bfe707.woff) format("woff")}@font-face{font-family:lora-bold-italic;font-style:normal;font-weight:400;src:url(/build/fonts/lora-bolditalic-webfont.5292cc32.woff2) format("woff2"),url(/build/fonts/lora-bolditalic-webfont.27142794.woff) format("woff")}@font-face{font-family:montserrat-black;font-style:normal;font-weight:400;src:url(/build/fonts/montserrat-black-webfont.9769c0e7.woff2) format("woff2"),url(/build/fonts/montserrat-black-webfont.9f8d66b7.woff) format("woff")}@font-face{font-family:montserrat-extrabold;font-style:normal;font-weight:400;src:url(/build/fonts/montserrat-extrabold-webfont.1591f678.woff2) format("woff2"),url(/build/fonts/montserrat-extrabold-webfont.f9f5da2b.woff) format("woff")}@font-face{font-family:montserrat-bold;font-style:normal;font-weight:400;src:url(/build/fonts/montserrat-bold-webfont.a9fcd0e9.woff2) format("woff2"),url(/build/fonts/montserrat-bold-webfont.467dba22.woff) format("woff")}@font-face{font-family:montserrat-semibold;font-style:normal;font-weight:400;src:url(/build/fonts/montserrat-semibold-webfont.44aadaa4.woff2) format("woff2"),url(/build/fonts/montserrat-semibold-webfont.21783039.woff) format("woff")}@font-face{font-family:montserrat-medium;font-style:normal;font-weight:400;src:url(/build/fonts/montserrat-medium-webfont.7d7aa0c2.woff2) format("woff2"),url(/build/fonts/montserrat-medium-webfont.f7ae9591.woff) format("woff")}@font-face{font-family:montserrat-regular;font-style:normal;font-weight:400;src:url(/build/fonts/montserrat-regular-webfont.fb5d252e.woff2) format("woff2"),url(/build/fonts/montserrat-regular-webfont.6aeab083.woff) format("woff")}@font-face{font-family:montserrat-light;font-style:normal;font-weight:400;src:url(/build/fonts/montserrat-light-webfont.5718fcdc.woff2) format("woff2"),url(/build/fonts/montserrat-light-webfont.04e88dee.woff) format("woff")}@font-face{font-family:montserrat-extralight;font-style:normal;font-weight:400;src:url(/build/fonts/montserrat-extralight-webfont.edce5f0f.woff2) format("woff2"),url(/build/fonts/montserrat-extralight-webfont.dd1f6266.woff) format("woff")}@font-face{font-family:montserrat-thin;font-style:normal;font-weight:400;src:url(/build/fonts/montserrat-thin-webfont.a2575096.woff2) format("woff2"),url(/build/fonts/montserrat-thin-webfont.1721cf8e.woff) format("woff")}:root{--background-color:#f8fafc;--nav-color:rgba(248,250,252,.95);--burger-color:#0f172a;--link-color:#334155;--link-color-hover:#06b6d4;--bg-gradient:linear-gradient(135deg,rgba(6,182,212,.08),rgba(245,158,11,.06));--bg-gradient-2:rgba(248,250,252,.95);--bg-text-color:#0f172a;--block-content-color:#334155;--block-mid-bg:#fff;--block-mid-color:#0f172a;--title-color:#0f172a;--display-logo:block;--display-logo-white:none;--title-highlight-bg:#0f172a;--title-highlight-color:#f8fafc;--btn-primary-bg:#06b6d4;--btn-primary-hover:#0891b2;--btn-primary-color:#fff;--btn-secondary-bg:#f59e0b;--btn-secondary-hover:#d97706;--project-bg:#fff;--blog-item-link:#0f172a;--accent-electric:#06b6d4;--accent-warm:#f59e0b;--accent-coral:#ef4444;--shadow-sm:0 2px 8px rgba(15,23,42,.04);--shadow-md:0 4px 16px rgba(15,23,42,.08);--shadow-lg:0 8px 32px rgba(15,23,42,.12);--shadow-xl:0 16px 48px rgba(15,23,42,.16)}[data-theme=dark]{--background-color:#0f172a;--nav-color:rgba(15,23,42,.95);--burger-color:#f8fafc;--link-color:#cbd5e1;--link-color-hover:#06b6d4;--bg-gradient:linear-gradient(135deg,rgba(6,182,212,.12),rgba(245,158,11,.08));--bg-gradient-2:rgba(15,23,42,.95);--bg-text-color:#f8fafc;--block-content-color:#cbd5e1;--block-mid-bg:#1e293b;--block-mid-color:#f8fafc;--title-color:#f8fafc;--display-logo:none;--display-logo-white:block;--title-highlight-bg:#f8fafc;--title-highlight-color:#0f172a;--btn-primary-bg:#06b6d4;--btn-primary-hover:#0891b2;--btn-primary-color:#fff;--btn-secondary-bg:#f59e0b;--btn-secondary-hover:#d97706;--project-bg:#1e293b;--blog-item-link:#f8fafc;--accent-electric:#06b6d4;--accent-warm:#f59e0b;--accent-coral:#ef4444;--shadow-sm:0 2px 8px rgba(0,0,0,.12);--shadow-md:0 4px 16px rgba(0,0,0,.2);--shadow-lg:0 8px 32px rgba(0,0,0,.28);--shadow-xl:0 16px 48px rgba(0,0,0,.36)}#logo{display:var(--display-logo)}#logo-white{display:var(--display-logo-white)}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{background-color:var(--background-color);color:var(--block-content-color);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;letter-spacing:-.011em;line-height:1.7;margin:0;padding:0;transition:background-color .3s ease,color .3s ease}h1{animation:fadeInUp .8s ease-out;font-size:clamp(2rem,5vw,3.5rem);font-weight:400;letter-spacing:-.02em;line-height:1.1;margin:0}h1,h2{color:var(--title-color);font-family:Syne,sans-serif}h2{animation:fadeInUp .8s ease-out .2s both;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;letter-spacing:-.025em;line-height:1.2;margin-bottom:1.5rem;margin-top:2rem;position:relative}h2:after{background:linear-gradient(90deg,var(--accent-electric),var(--accent-warm));border-radius:2px;bottom:-.5rem;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:60px}h3{color:var(--title-color);font-family:Syne,sans-serif;font-size:clamp(1.25rem,3vw,1.5rem);font-weight:600;letter-spacing:-.02em;line-height:1.3;margin-bottom:1rem;margin-top:1.5rem}p{font-size:1rem;line-height:1.7;margin-top:1rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.header{backdrop-filter:blur(12px);background-color:var(--nav-color);box-shadow:0 1px 3px rgba(15,23,42,.06);margin:auto;padding:1rem clamp(1rem,4vw,2rem);position:fixed;transition:all .3s ease;z-index:1000}.header,.navbar{display:flex;width:100%}.navbar{align-items:center;justify-content:space-between;z-index:999}.header .navbar .menu ul{align-items:center;display:none;gap:clamp(1rem,2vw,2rem);justify-content:flex-end;margin:0;padding:0}.header .navbar li{list-style-type:none;margin:0;position:relative}.header .navbar li a{display:inline-block;font-size:.9375rem;font-weight:500;letter-spacing:-.01em;position:relative;transition:all .2s ease}.header .navbar li a:after{background:linear-gradient(90deg,var(--accent-electric),var(--accent-warm));bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.header .navbar li:hover a:after{width:100%}.menu-mobile{cursor:pointer;height:24px;position:relative;width:30px;z-index:1001}.menu-mobile span{background-color:var(--burger-color);border-radius:3px;height:3px;position:absolute;transition:all .3s ease;width:100%}.menu-mobile span:first-child{top:0;z-index:1000}.menu-mobile span:nth-child(2){top:50%;transform:translateY(-50%)}.menu-mobile span:nth-child(3){bottom:0;z-index:1000}.menu-mobile.active span:first-child{top:50%;transform:translateY(-50%) rotate(45deg)}.menu-mobile.active span:nth-child(2){opacity:0}.menu-mobile.active span:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}.menu-mobile ul{backdrop-filter:blur(20px);background-color:var(--nav-color);box-shadow:-4px 0 24px rgba(15,23,42,.12);display:flex;flex-direction:column;gap:2rem;height:100vh;justify-content:flex-start;opacity:0;padding-left:2rem;padding-right:2rem;padding-top:80px;position:fixed;right:-100%;top:0;transition:right .4s cubic-bezier(.4,0,.2,1),opacity .4s ease,visibility .4s ease;visibility:hidden;width:280px;z-index:999}.menu-mobile.active ul{opacity:1;right:0;visibility:visible}.menu-mobile ul li{opacity:0;text-align:center;transform:translateX(20px);transition:all .3s ease;width:100%}.menu-mobile.active ul li{opacity:1;transform:translateX(0)}.menu-mobile.active ul li:first-child{transition-delay:.1s}.menu-mobile.active ul li:nth-child(2){transition-delay:.2s}.menu-mobile.active ul li:nth-child(3){transition-delay:.3s}.menu-mobile.active ul li:nth-child(4){transition-delay:.4s}.menu-mobile.active ul li:nth-child(5){transition-delay:.5s}.menu-mobile ul li a{display:block;font-size:1.125rem;font-weight:600;padding:.75rem}@media screen and (min-width:1024px){.header .navbar .menu ul{display:flex}.menu-mobile{display:none}}a{color:var(--link-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--link-color-hover)}.btn{align-items:center;border:none;border-radius:8px;box-shadow:var(--shadow-sm);cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:.9375rem;font-weight:600;gap:.5rem;letter-spacing:-.01em;overflow:hidden;padding:.625rem 1.25rem;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.btn:before{background:hsla(0,0%,100%,.2);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;width:0}.btn:hover:before{height:300px;width:300px}.btn:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-lg{font-size:1rem;padding:1.75rem}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-color)}.btn-primary:hover{background-color:var(--btn-primary-hover);color:var(--btn-primary-color)}.btn-secondary{background-color:var(--btn-secondary-bg);color:#fff}.btn-secondary:hover{background-color:var(--btn-secondary-hover);color:#fff}.container{border-bottom:1px solid rgba(100,116,139,.1);margin:0 auto;padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,2rem);text-align:center;width:min(90%,1200px)}.bg-main{color:var(--bg-text-color);min-height:max(600px,80vh);position:relative}.bg-internal,.bg-main{padding-top:6rem}.bg-main:before{background:var(--bg-gradient);content:"";height:100%;min-height:100vh;z-index:-2}.bg-image,.bg-main:before{left:0;pointer-events:none;position:fixed;top:0;width:100vw}.bg-image{height:100vh;object-fit:cover;opacity:.15;z-index:-1}.content{animation:fadeIn 1s ease-out;position:relative;z-index:1}.bg-main h2{animation:fadeInUp .8s ease-out .4s both;font-weight:600;margin:0 0 1rem;padding:.5rem}.bg-main p{animation:fadeInUp .8s ease-out .6s both;margin:0 auto;max-width:600px;padding:1rem}.avatar{animation:scaleIn .8s ease-out .3s both;border:4px solid hsla(0,0%,100%,.2);border-radius:50%;box-shadow:var(--shadow-xl);margin-top:3rem;transition:transform .3s ease}.avatar:hover{transform:scale(1.05)}.block-content{animation:fadeIn .8s ease-out .4s both;color:var(--block-content-color);margin:3rem auto 6rem}.block-content h3{color:var(--accent-electric);margin-top:2rem}.block-content p{font-size:1.0625rem;line-height:1.75;margin:1rem auto;max-width:min(80%,700px)}.block-content ul{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));margin:3rem auto;padding:0}.block-content li{animation:fadeInUp .6s ease-out both;background-color:rgba(248,250,252,.5);border:2px solid rgba(6,182,212,.2);border-radius:12px;list-style-type:none;margin:0;padding:2rem 1.5rem;transition:all .3s ease}.block-content li:hover{border-color:var(--accent-electric);box-shadow:var(--shadow-md);transform:translateY(-4px)}.block-content li:first-child{animation-delay:.1s}.block-content li:nth-child(2){animation-delay:.2s}.block-content li:nth-child(3){animation-delay:.3s}.block-content li svg{color:var(--accent-electric);display:block;margin:0 auto 1rem}.cta{animation:fadeInUp .8s ease-out .8s both;margin-top:2.5rem}.block-mid-content{align-items:start;background-color:var(--block-mid-bg);border-radius:16px;box-shadow:var(--shadow-sm);color:var(--block-mid-color);display:grid;gap:2rem;gap:20px;grid-template-columns:1fr;grid-template-columns:repeat(4,1fr);padding:clamp(2rem,4vw,3rem)}.blog-more-content{box-sizing:border-box;grid-column:1/-1;width:100%}@media (max-width:768px){.block-mid-content{grid-template-columns:1fr}}.p-2{padding:2rem}.block-mid-content svg{color:var(--accent-electric);transition:all .3s ease}.service-text{animation:fadeInUp .6s ease-out both;background-color:rgba(248,250,252,.3);border-radius:8px;margin:0;padding:1.5rem;transition:all .3s ease}.service-text:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.service-text:hover svg{transform:scale(1.1)}.service-text:first-child{animation-delay:.1s}.service-text:nth-child(2){animation-delay:.2s}.service-text:nth-child(3){animation-delay:.3s}.service-text:nth-child(4){animation-delay:.4s}.service-text:nth-child(5){animation-delay:.5s}.service-text:nth-child(6){animation-delay:.6s}.service-text:nth-child(7){animation-delay:.7s}.service-text:nth-child(8){animation-delay:.8s}.block-mid-content h3{font-size:clamp(1.125rem,2vw,1.25rem);margin-top:1rem}.anchor{padding-top:2rem;scroll-margin-top:5rem}.block-mid-content img{padding:1rem;transition:transform .3s ease}.block-mid-content img:hover{transform:scale(1.05)}.projects{display:grid;gap:clamp(1.5rem,3vw,2.5rem);grid-template-columns:1fr;margin:3rem auto;max-width:100%;width:100%}.project-item{align-items:center;animation:fadeInUp .6s ease-out both;background-color:var(--project-bg);border:1px solid rgba(100,116,139,.1);border-radius:12px;box-shadow:var(--shadow-sm);box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;min-height:480px;overflow:hidden;padding:2rem 1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.project-item:before{background:linear-gradient(90deg,var(--accent-electric),var(--accent-warm));content:"";height:4px;left:0;position:absolute;top:0;transform:scaleX(0);transform-origin:left;transition:transform .3s ease;width:100%}.project-item:hover:before{transform:scaleX(1)}.project-item:hover{border-color:var(--accent-electric);box-shadow:var(--shadow-lg);transform:translateY(-8px)}.project-item:first-child{animation-delay:.1s}.project-item:nth-child(2){animation-delay:.2s}.project-item:nth-child(3){animation-delay:.3s}.project-item:nth-child(4){animation-delay:.4s}.project-item:nth-child(5){animation-delay:.5s}.project-item:nth-child(6){animation-delay:.6s}.project-item .logo-project{align-items:center;background-color:rgba(248,250,252,.5);border-radius:12px;display:flex;height:160px;justify-content:center;margin-bottom:1.5rem;overflow:hidden;transition:transform .3s ease;width:160px}.project-item:hover .logo-project{transform:scale(1.05)}.project-item .logo-project img{max-height:100%;max-width:100%;object-fit:contain;transition:transform .3s ease}.project-item h3{font-size:clamp(1.125rem,2vw,1.25rem);line-height:1.3;margin:1rem 0;text-align:center}.project-item p{color:var(--block-content-color);flex-grow:1;font-size:.9375rem;line-height:1.6;margin:.5rem 0 1.5rem;text-align:center}.technos{align-items:center;display:flex;flex-wrap:wrap;font-family:JetBrains Mono,monospace;gap:.75rem;justify-content:center;margin:1rem 0}.projects .tech-logo{display:inline-block;margin:0;max-width:48px;padding:.25rem;transition:transform .2s ease}.projects .tech-logo:hover{transform:scale(1.2)}.quote{animation:fadeInUp .6s ease-out both;background-color:rgba(248,250,252,.5);border-left:4px solid var(--accent-electric);border-radius:8px;box-shadow:var(--shadow-sm);margin:0 auto 3rem;padding:2rem;transition:all .3s ease}.quote:hover{box-shadow:var(--shadow-md);transform:translateX(8px)}.quote blockquote{font-size:1rem;font-style:italic;line-height:1.7;margin:0}.quote cite{color:var(--accent-electric);display:block;font-size:.9375rem;font-style:normal;font-weight:600;margin-top:1.5rem}.quote:first-child{animation-delay:.1s}.quote:nth-child(2){animation-delay:.2s}.quote:nth-child(3){animation-delay:.3s}.quote:nth-child(4){animation-delay:.4s}.quote:nth-child(5){animation-delay:.5s}.quote:nth-child(6){animation-delay:.6s}.quote:nth-child(7){animation-delay:.7s}label{color:var(--title-color);display:block;font-weight:500;margin-top:1.5rem;text-align:left}input,textarea{background-color:var(--background-color);border:2px solid rgba(100,116,139,.2);border-radius:8px;color:var(--block-content-color);font-family:Inter,sans-serif;font-size:1rem;margin:.5rem 0 1rem;padding:.875rem 1rem;transition:all .2s ease;width:100%}input:focus,textarea:focus{border-color:var(--accent-electric);box-shadow:0 0 0 3px rgba(6,182,212,.1);outline:none}textarea{min-height:120px;resize:vertical}.blog-item{animation:fadeInUp .6s ease-out both;margin-bottom:2.5rem;text-align:center}.blog-item:first-child{animation-delay:.1s}.blog-item:nth-child(2){animation-delay:.2s}.blog-item:nth-child(3){animation-delay:.3s}.blog-item:nth-child(4){animation-delay:.4s}.blog-item:nth-child(5){animation-delay:.5s}.blog-item:nth-child(6){animation-delay:.6s}.blog-item a{background-color:var(--block-mid-bg);border:1px solid rgba(100,116,139,.1);border-radius:12px;box-shadow:var(--shadow-sm);color:var(--blog-item-link);display:block;padding:1.5rem;transition:all .3s ease}.blog-item img,.blog-item svg{border-radius:8px;height:250px;object-fit:cover;object-position:center;width:100%}.blog-item a:hover{border-color:var(--accent-electric);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.blog-item img{border-radius:8px;display:block;height:auto;margin:0 auto 1rem;max-width:100%;transition:transform .3s ease}.blog-item a:hover img{transform:scale(1.02)}.blog-item span{color:var(--accent-electric);display:block;font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.blog-more-content{background-color:var(--block-mid-bg);border-radius:12px;box-shadow:var(--shadow-sm);display:block;margin:4rem auto 3rem;max-width:800px;padding:2rem;text-align:left}.blog-more-content h4{color:var(--title-color);margin-bottom:2rem;margin-top:0;text-align:center}.blog-more-content ul{display:grid;gap:.75rem;padding:0}.blog-more-content li{border-bottom:1px solid rgba(100,116,139,.1);list-style-type:none;padding:.75rem 0}.blog-more-content li:last-child{border-bottom:none}.blog-more-content li a{color:var(--accent-electric);display:inline-block;transition:all .2s ease}.blog-more-content li a:hover{color:var(--accent-warm);transform:translateX(4px)}.highlight{background-color:#111;color:#fff;padding:2rem}footer{background-color:#000;background-image:linear-gradient(180deg,rgba(0,0,0,.85),rgba(0,0,0,.7)),url(/build/images/banner.f2b7a91f.webp);background-position:bottom;background-size:cover;color:#fff;padding:2rem 0}.block-footer{margin-bottom:6rem}.block-footer ul{display:block;justify-content:space-between;margin:3rem auto auto;padding:0;width:90%}.block-footer li{list-style-type:none;margin:auto;padding:1rem}footer a{color:#39b54a}footer a:hover{border-bottom:1px solid #39b54a;color:#fff}.small{margin:auto}.flex-list{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}footer .flex-list a{font-weight:regular;margin-bottom:2rem}@media screen and (min-width:640px){.block-mid-content{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width:768px){.block-content ul{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.projects{grid-template-columns:repeat(2,1fr);max-width:100%}.project-item{max-width:100%;width:100%}.quote{max-width:80%}}@media screen and (min-width:1024px){.bg-image,.bg-main:before{height:100vh}.header .navbar .menu ul{display:flex}.menu-mobile{display:none}.blog-item{margin-bottom:3rem}.quote{max-width:70%}.small{max-width:60%}h2{margin-bottom:6rem;margin-top:5rem}input,textarea{max-width:600px}}@media screen and (min-width:1280px){.block-content ul{grid-template-columns:repeat(3,1fr)}.block-mid-content{grid-template-columns:repeat(4,1fr)}.projects{grid-template-columns:repeat(2,1fr);max-width:100%}.project-item{max-width:100%;width:100%}}.text-loader{display:none}.message-warning{background-color:#ff6163}.message-success,.message-warning{color:#fff;margin:auto;padding:10px;width:50%}.message-success{background-color:#37d24e}.contact-social{display:flex;justify-content:space-between;padding:0}.contact-social li{list-style-type:none;margin:auto;padding:1rem}.contact-social a{margin-bottom:2rem}.highlight{background-color:var(--title-highlight-bg)}.highlight h2,.highlight>.contact-social a{color:var(--title-highlight-color)}.highlight>.contact-social a:hover{color:#39b54a}.theme-switch-wrapper{align-items:center;display:flex;em{font-size:1rem;margin-left:10px}}.theme-switch{display:inline-block;height:34px;position:relative;width:60px}.theme-switch svg{color:var(--link-color)}.theme-switch input{display:none}input:checked+.slider{background-color:#66bb6a}input:checked+.slider:before{transform:translateX(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}