@layer base{:root{--bg-color:#f4f7f9;--container-bg-color:#fff;--text-color:#1a1e26;--secondary-text-color:#2d3748;--border-color:#e2e8f0;--highlight-color:#007bff;--card-shadow:0 4px 15px #0000000d;--transition-speed:.3s;--hero-bg:url(/assets/hero-bg-light-DsBVphs8.webp);--font-main:"Roboto Mono", monospace, Arial, sans-serif;--font-titles:"Inter", sans-serif}html.dark-theme{--bg-color:#1a1e26;--container-bg-color:#2b2f38;--text-color:#f0f0f0;--secondary-text-color:#b0b0b0;--border-color:#303030;--highlight-color:#ff5757;--card-shadow:0 4px 15px #0003;--hero-bg:url(/assets/hero-bg-dark-BVRXGXBc.webp)}.noscript-warning{color:#c62828;text-align:center;z-index:99999;background:#ffebee;border-bottom:2px solid #ef5350;padding:20px;font-family:sans-serif;position:relative}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-main);background-color:var(--bg-color);color:var(--text-color);transition:background-color var(--transition-speed) ease, color var(--transition-speed) ease;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--text-color)}a{color:inherit;transition:color var(--transition-speed);text-decoration:none}ul,li{list-style:none}button{font-family:inherit}#scroll-progress{background-color:var(--highlight-color);z-index:9999;width:0%;height:4px;transition:width .1s ease-out;position:fixed;top:0;left:0}.fade-in{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(20px)}.fade-in.visible{opacity:1;transform:translateY(0)}.filter-hidden{display:none!important}.anim-from-left,.anim-from-right{transition:opacity .4s ease-out,transform .4s ease-out}.anim-from-left{opacity:0;transform:translate(-50px)}.anim-from-right{opacity:0;transform:translate(50px)}.anim-visible{opacity:1;transform:translate(0)}.no-wrap{white-space:nowrap}}@layer layout{.skip-to-content{background-color:var(--highlight-color);color:#fff;z-index:9999;border-radius:0 0 8px 8px;padding:10px 20px;font-size:.9rem;font-weight:700;transition:top .2s;position:fixed;top:-100px;left:20px}.skip-to-content:focus{outline:3px solid var(--text-color);outline-offset:2px;top:0}.social-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;border-bottom:1px solid var(--border-color);width:100%;transition:all var(--transition-speed) ease;background-color:#f4f7f9e6;padding:15px 50px;position:fixed;top:0;left:0}html.dark-theme .social-header{background-color:#1a1e26e6}.header-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.header-branding{align-items:center;gap:25px;display:flex}.header-logo-btn{justify-content:center;align-items:center;width:auto;height:30px;transition:transform .3s;display:flex}.header-logo-btn:hover{opacity:1;transform:scale(1.1)}.header-logo-btn img{object-fit:contain;filter:drop-shadow(0 2px 4px #0000001a);content:url(data:image/webp;base64,UklGRooDAABXRUJQVlA4WAoAAAAQAAAAHwAAHwAAQUxQSKsAAAABgFvbtqpql4BLC2TEhJRgbZBRBAW4u2RE+jVyd9d7cIt+6rbHayAiJgAA/PXr2WI+m82m0/F4NBz0ReTlqODBt+alt39ftQPQqTfi0ACsvFHX4Xoju3Ks1BHr4IX1LCzpaU5oLyz1QLuhXbOE1r/Vmlyz1CXtgvVyrjU5Y6kN1mmYlXCyHChyQgA2GWV8zfzbaxDfu8unSpT0+/J0d3F0eLC/vdZspAJ2AAAAVlA4ILgCAABQEACdASogACAAAAAAJaQAUYHmzdjR4K9Tv2Qy8z0b8YP2q/xGoY/pv5PfsB/gOMJ4d/Fv7x+LX5GbIj+Afy38SdkO/lX98/KD+zfGJ/Jfkd/APdt8zf5X8gPoF/jP8f/on47f1f/s/TN61f2A9if9Hjs5CthTeGSZe9fzpyOYhL7wB4VsVu3aqquAAP7//1uCm+tJYkRVpYnEqH793/nH/9hN7+hYsFRhl6s0GOC3/SSnMXEmMcDincYr+uiE6opegcEypOSPXL369q9xYvX//80l5tq04oYeQIecfuBavY1SYMK3hJ51m/1MAxGX+Yq5W7xqRQIl8n0X7cArMpeGeGX9kBmczzbKxMitL8Cxt9ivnbk6Md3aTkxUqN6e1MTqTOVrR53llTlWVXoeJ+ugBB0qDf8w7FT85pbRJjcKFdbTb/xkfe4QwdDIXMStk1meSy0jj965htnUs4sLc0sMlLt/SPbcdV6ynn/BaUJFj+hfAMdKVSwPFqU76airavyedKehBCCkPvXDkmT068KYJo/jbtUwCN+fNRHll8ieJ3pQnvHr6OwIb4v/Q3+duCPvk5WhT3ya2dAzzINpSrZxLS50vN4MZFVrNEQRC1ViXCE6oBq7MIDRY5W2X0HLr0sVj9znrdTebjH2nCScPvnE9usVV2a1ncXxKRMqEJWhuXZaAB5i71DEH/yGS8wizwG9L3nfyXy5sb5EidSNFMRRVY31nKgGt84upxAnaf9KmViqIe/+p1W+AVyWbtLCztT2g6FbjgA0S5TprifORQgAl6VkE9z9pbs/hf+Fljn2buQbXg/L9SDyQXSA+iPauju0UAd+ugfoHj7MdToHLx3zTye5sYsW/eE8ETN0ubK6xzIeRRYL+h/ZwtH2PYGHX8Anf/60vZ+tv2Ync3jDFQjEO2KrkCk+DAA=);width:auto;height:100%}html.dark-theme .header-logo-btn img{content:url(/assets/icon-B0nmzeAv.webp)}.header-divider{background-color:var(--border-color);width:1px;height:20px;display:block}.social-nav{gap:20px;display:flex}.social-nav a{color:var(--secondary-text-color);align-items:center;font-size:14px;display:flex}.social-nav a:hover{color:var(--text-color)}.social-nav a i,.social-nav a svg{margin-right:8px;font-size:18px}.nav-portfolio-link i,.nav-portfolio-link svg{opacity:.85;transition:opacity var(--transition-speed) ease}.nav-portfolio-link:hover i,.nav-portfolio-link:hover svg{opacity:1}.header-controls{align-items:center;gap:15px;display:flex}#theme-toggle,#current-lang{border:1px solid var(--border-color);color:var(--secondary-text-color);cursor:pointer;width:40px;height:40px;transition:all var(--transition-speed) ease;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}#theme-toggle:hover,#current-lang:hover{color:var(--text-color);border-color:var(--text-color)}#theme-toggle .fa-sun,#theme-toggle .lucide-sun{display:block!important}#theme-toggle .fa-moon,#theme-toggle .lucide-moon,html.dark-theme #theme-toggle .fa-sun,html.dark-theme #theme-toggle .lucide-sun{display:none!important}html.dark-theme #theme-toggle .fa-moon,html.dark-theme #theme-toggle .lucide-moon{display:block!important}.lang-selector{position:relative}.lang-options{background-color:var(--container-bg-color);border:1px solid var(--border-color);box-shadow:var(--card-shadow);z-index:1001;border-radius:8px;width:150px;display:none;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.lang-options.show{display:block}.lang-options button{width:100%;color:var(--text-color);text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 15px;font-size:14px;display:block}.lang-options button:hover{background-color:#7d7d7d1a}.site-footer{background-color:var(--bg-color);padding:60px 20px 30px;position:relative}.site-footer:before{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff1a 20%,#fff3 50%,#ffffff1a 80%,#0000 100%);width:80%;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 -1px 10px #ff57571a}.footer-content{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;max-width:1200px;margin:0 auto 50px;display:grid}.footer-col h3{margin-bottom:20px;font-size:1.5rem}.footer-col p{color:var(--secondary-text-color);align-items:center;gap:8px;margin-bottom:10px;display:flex}.footer-col p svg{flex-shrink:0}.footer-link{color:var(--secondary-text-color);margin-bottom:8px;display:block}.footer-link:hover{color:var(--highlight-color)}.footer-bottom{text-align:center;color:var(--secondary-text-color);border-top:1px solid var(--border-color);padding-top:20px;font-size:.9rem}.footer-socials{gap:15px;margin-top:15px;display:flex}.footer-socials a{color:var(--secondary-text-color);font-size:1.2rem;transition:color .3s}.footer-socials a:hover{color:var(--highlight-color)}.footer-location{opacity:.7;font-size:.8rem}@media (width<=768px){.header-branding{gap:15px}.header-divider,.link-text{display:none}.header-logo-btn{width:24px;height:24px}.social-header{padding:10px 20px}.social-nav a i,.social-nav a svg{margin-right:0;font-size:1.1rem}.nav-portfolio-link i,.nav-portfolio-link svg{font-size:.95rem}}}@layer components{.cta-buttons{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.cta-button{border:2px solid var(--secondary-text-color);color:var(--text-color);transition:all var(--transition-speed);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:12px;padding:14px 30px;font-size:1rem;font-weight:700;display:inline-flex}.cta-button i{font-size:1.2rem}.cta-button:hover{transform:translateY(-3px)}.primary-cta{background-color:var(--highlight-color);border-color:var(--highlight-color);color:#fff;box-shadow:0 0 20px #ff57574d}html.dark-theme .primary-cta{color:#fff}html.dark-theme .primary-cta:hover{color:#fff;opacity:.9}.filter-btn{border:1px solid var(--border-color);color:var(--secondary-text-color);cursor:pointer;transition:all var(--transition-speed) ease;background:0 0;border-radius:30px;padding:8px 20px;font-size:.9rem}.filter-btn:hover,.filter-btn.active{background-color:var(--highlight-color);color:#fff;border-color:var(--highlight-color);box-shadow:0 0 15px #0003}.section-title-highlight{font-family:var(--font-titles);color:var(--highlight-color);text-transform:uppercase;letter-spacing:2px;margin-bottom:20px;font-size:2.5rem;font-weight:800;display:inline-block;position:relative}.section-title-highlight:after{content:"";background-color:var(--text-color);opacity:.3;width:60px;height:4px;margin-top:10px;display:block}.portfolio-cta-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.cta-primary-pill,.cta-secondary-pill,.portfolio-cta-buttons a{white-space:nowrap;border-radius:30px;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.cta-primary-pill{background-color:var(--highlight-color);color:#fff}.cta-primary-pill:hover{opacity:.9;transform:translateY(-2px)}.cta-secondary-pill{border:1px solid var(--border-color);color:var(--primary-text-color);background-color:#0000}.cta-secondary-pill:hover{background-color:#ffffff0d;transform:translateY(-2px)}.portfolio-card{background-color:var(--container-bg-color);border:1px solid var(--border-color);border-radius:12px;transition:all .3s;position:relative;overflow:hidden}.portfolio-card:hover{border-color:var(--highlight-color);transform:translateY(-10px);box-shadow:0 20px 40px #0003}.card-image{background-color:#000;height:180px;position:relative;overflow:hidden}.card-image img{object-fit:cover;opacity:.8;width:100%;height:100%;transition:transform .5s}.portfolio-card:hover .card-image img{opacity:1;transform:scale(1.05)}.card-image i{color:#fff3;font-size:3rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-content{padding:25px}.card-tag{text-transform:uppercase;letter-spacing:1px;color:var(--highlight-color);margin-bottom:10px;font-size:.75rem;font-weight:700;display:block}.card-content h4{margin-bottom:15px;font-size:1.3rem}.card-content p{color:var(--secondary-text-color);margin-bottom:20px;font-size:.95rem}.result-badge{color:#00e676;background:#00ff881a;border:1px solid #0f83;border-radius:4px;margin-bottom:20px;padding:5px 10px;font-size:.85rem;font-weight:700;display:inline-block}html.dark-theme .result-badge{color:#00e676;background:#00e6761f;border-color:#00e6764d}.card-link{color:var(--text-color);align-items:center;gap:8px;font-weight:700;transition:color .2s;display:flex}.card-link:hover{color:var(--highlight-color)}.service-item{background-color:var(--container-bg-color);border:1px solid var(--border-color);text-align:center;box-shadow:var(--card-shadow);cursor:pointer;will-change:transform, opacity;min-height:250px;color:inherit;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:30px 25px 50px;text-decoration:none;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .4s,border-color .3s;display:flex;position:relative}.service-item:hover{border-color:var(--highlight-color);transform:translateY(-10px)}.service-item:hover .expand-hint{opacity:1}.service-header{flex-direction:column;justify-content:center;align-items:center;gap:12px;margin-bottom:15px;display:flex}.service-header i{color:var(--highlight-color);font-size:1.5rem}.service-header h4{font-size:1.3rem;font-weight:700}.service-brief p{color:var(--secondary-text-color);margin-bottom:15px;font-size:.95rem;line-height:1.5}.expand-hint{color:var(--highlight-color);opacity:.8;align-items:center;gap:5px;font-size:.85rem;font-weight:700;transition:opacity .3s;display:flex;position:absolute;bottom:20px;right:25px}.service-item--static{cursor:default}.service-item--static:hover{transform:none}.service-item--highlighted{border-color:var(--highlight-color)}.skill-card{background-color:var(--bg-color);border:1px solid var(--border-color);will-change:transform, opacity;text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:25px 15px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .4s,border-color .3s,box-shadow .3s;display:flex}.skill-card:hover{border-color:var(--highlight-color);transform:translateY(-5px);box-shadow:0 5px 20px #0000001a}.skill-card:hover .skill-icon{color:var(--highlight-color)}.skill-header{justify-content:center;align-items:center;gap:12px;margin-bottom:0;display:flex}.skill-header h4{color:var(--text-color);text-transform:uppercase;margin:0;font-size:.95rem;font-weight:700}.skill-icon{color:var(--highlight-color);justify-content:center;align-items:center;width:auto;margin:0;font-size:1.5rem;transition:color .3s;display:flex}.faq-item{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;transition:border-color .3s;overflow:hidden}.faq-item.active{border-color:var(--highlight-color)}.faq-question{cursor:pointer;color:var(--text-color);justify-content:space-between;align-items:center;padding:20px 25px;font-weight:700;transition:background-color .2s;display:flex}.faq-question:hover{background-color:#ffffff05}.faq-item.active .faq-question i{color:var(--highlight-color);transition:transform .3s;transform:rotate(180deg)}.faq-answer{grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(0,1,0,1);display:grid}.faq-item.active .faq-answer{grid-template-rows:1fr}.answer-content{opacity:0;min-height:0;padding:0 25px;transition:padding .3s,opacity .3s,transform .3s;overflow:hidden;transform:translateY(-10px)}.faq-item.active .answer-content{opacity:1;border-top:1px solid #ffffff0d;padding:15px 25px 25px;transform:translateY(0)}.glass-morphism{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#2b2f3899;border:1px solid #ffffff14;transition:background .3s,border-color .3s,transform .3s;box-shadow:0 8px 32px #0000004d}html.dark-theme .glass-morphism{background:#ffffff0d;border:1px solid #ffffff1a;box-shadow:0 8px 32px #0000004d}.glass-morphism.hover-effect:hover{border-color:var(--highlight-color);background:#2b2f38cc;transform:translateY(-5px)}html.dark-theme .glass-morphism.hover-effect:hover{background:#ffffff1a}@keyframes rotate-glow{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.glowing-border-wrapper{z-index:1;border-radius:16px;padding:3px;display:inline-block;position:relative;overflow:hidden;box-shadow:0 10px 40px #0000004d}.glowing-border-wrapper:before{content:"";background:conic-gradient(from 180deg at 50% 50%, transparent 0%, transparent 40%, var(--highlight-color) 100%);z-index:-1;width:250%;height:250%;animation:4s linear infinite rotate-glow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.glowing-content-mask{z-index:2;background-color:var(--bg-color);border-radius:13px;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.glowing-content-mask img{object-fit:cover;filter:grayscale(20%);width:100%;height:auto;transition:filter .3s,transform .5s;display:block}.glowing-border-wrapper:hover .glowing-content-mask img{filter:grayscale(0%);transform:scale(1.03)}@media (width<=768px){.cta-buttons{flex-direction:column;gap:15px;width:100%}.cta-button{justify-content:center;width:100%;padding:15px 20px}.portfolio-cta-buttons{flex-direction:column;align-items:center;width:100%}.portfolio-cta-buttons a{width:100%;max-width:320px}.section-title-highlight{margin-bottom:20px;font-size:1.8rem}.skill-card{text-align:center;flex-direction:column;align-items:center;gap:15px;padding:15px;display:flex}.skill-icon{font-size:1.5rem}.skill-card h4{margin:0;font-size:1rem}.faq-question{padding:15px 20px;font-size:.95rem}}.scroll-down-indicator{color:#ffffffb3;z-index:10;pointer-events:none;font-size:1.5rem;transition:opacity .4s,visibility .4s;animation:2s cubic-bezier(.445,.05,.55,.95) infinite bounce-scroll;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-down-indicator.hidden{opacity:0;visibility:hidden}@keyframes bounce-scroll{0%,20%,50%,80%,to{transform:translateY(0)translate(-50%)}40%{transform:translateY(-10px)translate(-50%)}60%{transform:translateY(-5px)translate(-50%)}}}@layer sections,pages;
