@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Jura:wght@300;400;500;600;700&display=swap";.banner{background:var(--color-background);display:flex;align-items:center;justify-content:space-between;height:100vh;text-align:left;padding:0 10%;position:relative}.banner h1{font-size:80px;color:var(--color-text);font-weight:100;margin:10px 0}.banner h2{font-weight:100;font-size:44px;color:var(--color-text);padding-top:5px}.banner-content{max-width:50%;display:flex;flex-direction:column;align-items:flex-start;z-index:2;opacity:1}.banner-content.fade-up{animation:fadeUp .8s ease-out forwards}.job-info{display:flex;align-items:center;gap:30px;margin-top:40px}.portfolio-button,.contact-button{padding:15px 40px;color:var(--color-text);text-decoration:none;border-radius:8px;font-size:18px;font-weight:600;transition:all .3s ease;cursor:pointer;letter-spacing:1px}.portfolio-button{background:var(--color-primary);border:2px solid var(--color-primary);color:var(--color-black)}.portfolio-button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 8px 20px var(--color-primary-alpha-40)}.contact-button{background:transparent;border:2px solid var(--color-primary)}.contact-button:hover{background-color:var(--color-primary);color:var(--color-black);transform:translateY(-2px);box-shadow:0 8px 20px var(--color-primary-alpha-40)}.pendulum{position:absolute;right:10%;width:297px;height:243px;background-color:var(--color-pendulum-bg);align-items:center;border-top:27px solid var(--color-primary-dark);box-shadow:var(--color-pendulum-shadow) 27px 27px;border-radius:5.4px;opacity:1}.pendulum.fade-up{animation:fadeUp .8s ease-out forwards}.pendulum_box{display:flex;padding:162px 0 0 13.5px;flex:1}.ball{height:54px;width:54px;border-radius:50%;background-color:var(--color-primary);position:relative;transform-origin:50% -300%;animation-play-state:running}.ball:before{content:"";width:2px;height:162px;background-color:var(--color-pendulum-line);left:27px;top:-162px;position:absolute}.ball.first{animation:firstball 1s alternate ease-in infinite}@keyframes firstball{0%{transform:rotate(35deg)}50%{transform:rotate(0)}}.ball.last{animation:lastball 1s alternate ease-out infinite}@keyframes lastball{50%{transform:rotate(0)}to{transform:rotate(-35deg)}}.me3{position:absolute;top:-110px;left:50%;transform:translate(-50%);width:90px;height:90px;z-index:2}@media(max-width:1024px){.banner{height:100vh}.pendulum{display:none}.banner-content{max-width:100%}.banner-content h1{font-size:60px}.banner-content h2{font-size:34px}.portfolio-button,.contact-button{padding:12px 30px;font-size:18px}}@media(max-width:768px){.pendulum{display:none}.me3{top:-78px;width:64px;height:64px}.banner-content{max-width:100%}.banner-content h1{font-size:48px}.banner-content h2{font-size:24px}.job-info{flex-direction:column;gap:15px;align-items:flex-start}.portfolio-button,.contact-button{padding:12px 24px;font-size:16px}}.about{position:relative;padding:0 10% 80px;background:var(--color-background);min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:start}.about__container{display:flex;justify-content:space-between;gap:3rem;width:100%;max-width:1400px}@media(max-width:1024px){.about__container{flex-direction:column}}.about__text{flex:2;display:flex;flex-direction:column;gap:1rem;font-size:20px;line-height:1.5;color:var(--color-text);font-weight:300}.about__info{flex:1;background:linear-gradient(145deg,var(--color-bg-grad-start) 0%,var(--color-bg-grad-end) 100%);padding:1.5rem;border-radius:12px;border:1px solid var(--color-border);align-self:flex-start;box-shadow:0 10px 30px var(--color-shadow)}.about__info ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.5rem}.about__info ul li:last-child{line-height:1.6}.about__info li{font-size:1rem;color:var(--color-text)}.about__info .label{font-weight:600;margin-right:.5rem;color:var(--color-primary)}.about__info a{color:var(--color-text);text-decoration:none;transition:color .3s ease}.about__info a:hover{color:var(--color-primary)}@media(max-width:1024px){.about{padding:0 5% 60px}.about__container{flex-direction:column;gap:2rem}.about__info{width:100%}}@media(max-width:768px){.about{padding:0 1.25rem 40px}.about__text{font-size:.95rem}.about__info{font-size:.9rem}}.skills{padding:0 10% 80px;background:var(--color-background);color:var(--color-text);min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:start;position:relative}.skills .skills__gallery-wrapper{position:relative;width:100%;max-width:1600px;margin:0 auto}.skills .gallery-divider{width:100%;height:1px;background:var(--color-primary-alpha-30);margin:10px 0}.skills .skills__gallery{display:flex;gap:2rem;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;padding-bottom:1rem;padding-top:1rem;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.skills .skills__gallery::-webkit-scrollbar{display:none}.skills .skills__gallery{scroll-snap-type:x proximity}.skills .skills__card{flex:0 0 400px;background:linear-gradient(135deg,var(--color-bg-card) 0%,var(--color-bg-grad-end) 100%);border:1px solid var(--color-border);border-radius:16px;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;position:relative;overflow:hidden;min-height:320px;scroll-snap-align:start;transition:border-color .3s ease}.skills .skills__card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}@media(hover:hover){.skills .skills__card:hover{border-color:var(--color-primary)}.skills .skills__card:hover:before{transform:scaleX(1)}.skills .skills__card:hover .skills__card-number{color:var(--color-primary)}}.skills .skills__card .skills__card-header{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-dark)}.skills .skills__card .skills__card-number{font-size:2rem;font-weight:700;color:var(--color-border);transition:color .3s ease;font-family:monospace}.skills .skills__card .skills__card-title{font-size:1.3rem;font-weight:600;color:var(--color-primary);flex:1;letter-spacing:.5px}.skills .skills__card .skills__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.skills .skills__card .skills__item{font-size:1rem;color:var(--color-text-muted);font-weight:300;padding-left:1.5rem;position:relative}.skills .skills__card .skills__item:before{content:"▹";position:absolute;left:0;color:var(--color-primary);font-weight:700}.skills .gallery-navigation{display:flex;justify-content:center;gap:1.5rem;margin-top:1.5rem}.skills .gallery-navigation .nav-arrow{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.skills .gallery-navigation .nav-arrow:hover:not(:disabled){background:var(--color-primary);color:var(--color-black)}.skills .gallery-navigation .nav-arrow:disabled{border-color:var(--color-border);color:var(--color-border);cursor:not-allowed;opacity:.5}@media(max-width:1024px){.skills .skills{padding:0 5% 60px}.skills .skills .skills__card{flex:0 0 350px;padding:1.5rem;min-height:300px}}@media(max-width:768px){.skills .skills{padding:0 1.25rem 40px}.skills .skills .skills__card{flex:0 0 300px;min-height:auto}}.portfolio{background-color:var(--color-background);color:var(--color-text);padding:0 10% 80px;position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:start}.portfolio .projects-filters{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;width:100%;max-width:1600px}.portfolio .categories{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start}.portfolio .chip{padding:12px 24px;font-size:18px;font-weight:500;border:2px solid var(--color-primary);color:var(--color-text);background:transparent;border-radius:8px;text-decoration:none;transition:all .3s ease;cursor:pointer}.portfolio .chip:hover{background:var(--color-primary-alpha-20)}.portfolio .chip.active{background:var(--color-primary);color:var(--color-black)}.portfolio .projects-gallery-wrapper{position:relative;width:100%;max-width:1600px}.portfolio .gallery-divider{width:100%;height:1px;background:var(--color-primary-alpha-30);margin:10px 0}.portfolio .projects-gallery{display:flex;gap:2rem;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;padding-bottom:1rem;padding-top:1rem;transition:opacity .3s ease;touch-action:pan-y;-webkit-overflow-scrolling:touch}.portfolio .projects-gallery.fade-out{opacity:.3}.portfolio .projects-gallery.fade-in{opacity:1}.portfolio .projects-gallery{scrollbar-width:none;-ms-overflow-style:none}.portfolio .projects-gallery::-webkit-scrollbar{display:none}.portfolio .projects-gallery{scroll-snap-type:x proximity}.portfolio .projects-gallery .projects-card{flex:0 0 380px;background:linear-gradient(145deg,var(--color-bg-grad-start) 0%,var(--color-bg-grad-end) 100%);border-radius:12px;border:1px solid var(--color-border);overflow:hidden;cursor:pointer;transition:border-color .3s ease;height:400px;scroll-snap-align:start;box-shadow:0 10px 30px var(--color-shadow);touch-action:manipulation}@media(hover:hover)and (pointer:fine){.portfolio .projects-gallery .projects-card:hover{border-color:var(--color-primary)}.portfolio .projects-gallery .projects-card:hover .projects-overlay{opacity:1}.portfolio .projects-gallery .projects-card:hover .projects-image{transform:scale(1.05)}}.portfolio .projects-gallery .projects-card .projects-card-image-wrapper{position:relative;width:100%;height:260px;overflow:hidden;background:var(--color-background)}.portfolio .projects-gallery .projects-card .projects-image{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.portfolio .projects-gallery .projects-card .projects-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-overlay-dark);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;pointer-events:none}.portfolio .projects-gallery .projects-card .projects-view-text{color:var(--color-primary);font-size:1.3rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}.portfolio .projects-gallery .projects-card .projects-card-info{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;height:140px}.portfolio .projects-gallery .projects-card .projects-card-info h3{font-size:1.2rem;font-weight:600;color:var(--color-text);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.portfolio .projects-gallery .projects-card .projects-card-info .projects-tags{display:flex;flex-wrap:wrap;gap:.5rem;overflow:hidden}.portfolio .projects-gallery .projects-card .projects-card-info .projects-tags .tag{font-size:.8rem;color:var(--color-primary);background:var(--color-primary-alpha-10);padding:.35rem .85rem;border-radius:12px;border:1px solid var(--color-primary-alpha-30);white-space:nowrap}.portfolio .projects-gallery .projects-card .projects-card-info .projects-tags .tag-more{font-size:.8rem;color:var(--color-text-light);padding:.35rem .85rem}.portfolio .gallery-navigation{display:flex;justify-content:center;gap:1.5rem;margin-top:1.5rem}.portfolio .gallery-navigation .nav-arrow{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.portfolio .gallery-navigation .nav-arrow:hover:not(:disabled){background:var(--color-primary);color:var(--color-black)}.portfolio .gallery-navigation .nav-arrow:disabled{border-color:var(--color-border);color:var(--color-border);cursor:not-allowed;opacity:.5}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--color-modal-bg);display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem;animation:fadeIn .3s ease forwards}.modal-overlay.closing{animation:fadeOut .3s ease forwards}.modal-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:20px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease forwards}.modal-content.closing{animation:slideDown .3s ease forwards}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:var(--color-scroll-track)}.modal-content::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}.modal-close{position:absolute;top:1.5rem;right:1.5rem;background:var(--color-primary-alpha-10);border:1px solid var(--color-primary);color:var(--color-primary);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:10}.modal-close:hover{background:var(--color-primary);color:var(--color-black)}.modal-image{width:100%;height:400px;overflow:hidden;border-radius:20px 20px 0 0}.modal-image img{width:100%;height:100%;object-fit:cover}.modal-info{padding:2.5rem}.modal-info h2{font-size:2rem;font-weight:600;color:var(--color-text);margin-bottom:1.5rem}.modal-info .modal-description{margin-bottom:2rem}.modal-info .modal-description p{font-size:1.1rem;line-height:1.7;color:var(--color-text-muted);margin-bottom:1rem}.modal-info .modal-description p:last-child{margin-bottom:0}.modal-info .modal-technologies{margin-bottom:2rem}.modal-info .modal-technologies h4{font-size:1.1rem;color:var(--color-primary);margin-bottom:1rem}.modal-info .modal-technologies .modal-tags{display:flex;flex-wrap:wrap;gap:.75rem}.modal-info .modal-technologies .modal-tags .modal-tag{font-size:.9rem;color:var(--color-text);background:var(--color-primary-alpha-15);padding:.5rem 1rem;border-radius:8px;border:1px solid var(--color-primary-alpha-30)}.modal-info .modal-buttons{display:flex;gap:1rem;flex-wrap:wrap}.modal-info .modal-buttons .projects-note{padding:1rem 1.5rem;font-size:1rem;color:var(--color-primary);font-weight:500;border:1px solid var(--color-primary);background:var(--color-primary-alpha-10);border-radius:8px}.modal-info .modal-buttons .modal-button{padding:1rem 2rem;font-size:1rem;font-weight:600;border-radius:8px;text-decoration:none;transition:all .3s ease;display:flex;align-items:center;gap:.75rem;cursor:pointer}.modal-info .modal-buttons .modal-button.primary{background:var(--color-primary);color:var(--color-black);border:2px solid var(--color-primary)}.modal-info .modal-buttons .modal-button.primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 8px 20px var(--color-primary-alpha-40)}.modal-info .modal-buttons .modal-button.secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.modal-info .modal-buttons .modal-button.secondary:hover{background:var(--color-primary-alpha-10);transform:translateY(-2px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(50px);opacity:0}}@media(max-width:1024px){.portfolio{padding:0 5% 60px}.portfolio .projects-filters{flex-direction:column;align-items:center}.portfolio .categories{justify-content:center}.portfolio .projects-gallery .projects-card{flex:0 0 340px}.modal-content{max-width:95%}.modal-image{height:300px}}@media(max-width:768px){.portfolio{padding:0 1.25rem 40px}.portfolio .projects-gallery .projects-card{flex:0 0 300px;height:380px}.portfolio .projects-gallery .projects-card .projects-card-image-wrapper{height:220px}.portfolio .projects-gallery .projects-card .projects-card-info{height:160px;padding:1.25rem}.portfolio .projects-gallery .projects-card .projects-card-info h3{font-size:1.1rem}.portfolio .chip{font-size:16px;padding:10px 20px}.modal-overlay{padding:1rem}.modal-info{padding:1.5rem}.modal-info h2{font-size:1.5rem}.modal-image{height:250px}}.contacts{position:relative;padding:80px 10%;background:var(--color-background);min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.contacts .me4{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:300px;height:300px;opacity:.05;z-index:0}.contacts .contacts-content{position:relative;z-index:1;max-width:800px}.contacts .contacts-content.fade-down{animation:fadeDown .8s ease-out forwards}.contacts .contacts-content .contacts-section{margin-bottom:3rem}.contacts .contacts-content .contacts-section h2{font-size:48px;margin-bottom:20px;color:var(--color-text);font-weight:600}.contacts .contacts-content .contacts-section .contacts-text{font-size:24px;color:var(--color-text);font-weight:300}.contacts .contacts-content .media{margin-top:2rem}.contacts .contacts-content .media h4{font-size:28px;margin-bottom:1.5rem;color:var(--color-text)}.contacts .contacts-content .media .media-icons{display:flex;justify-content:center;gap:2rem}.contacts .contacts-content .media .media-icons a{position:relative;color:var(--color-text);transition:all .3s ease}.contacts .contacts-content .media .media-icons a:hover{color:var(--color-primary);transform:translateY(-5px)}.contacts .contacts-content .media .media-icons a .tooltip{position:absolute;bottom:-35px;left:50%;transform:translate(-50%);background:var(--color-primary);color:var(--color-black);padding:6px 12px;border-radius:6px;font-size:14px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s ease}.contacts .contacts-content .media .media-icons a:hover .tooltip{opacity:1}.contacts .contacts-bottom{width:100%;text-align:center;position:absolute;bottom:30px;left:0;transform:none;font-size:16px;color:var(--color-text);font-weight:300}.contacts .contacts-bottom.fade-down{animation:fadeDown .8s ease-out forwards;animation-delay:.2s}.contacts .contacts-bottom p{margin:0}@keyframes fadeDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.contacts{padding:60px 5%}.contacts .me4{width:250px;height:250px}.contacts .contacts-content .contacts-section h2{font-size:40px}.contacts .contacts-content .contacts-section .contacts-text{font-size:20px}.contacts .contacts-content .media h4{font-size:24px}}@media(max-width:768px){.contacts{padding:40px 1.25rem}.contacts .me4{width:200px;height:200px}.contacts .contacts-content .contacts-section h2{font-size:32px}.contacts .contacts-content .contacts-section .contacts-text{font-size:18px}.contacts .contacts-content .media h4{font-size:20px}.contacts .contacts-content .media .media-icons{gap:1.5rem}.contacts .contacts-content .media .media-icons a svg{width:28px;height:28px}.contacts .contacts-bottom{font-size:14px;bottom:20px}}:root{--color-primary: #f8ad40;--color-primary-dark: #f9892e;--color-primary-alpha-10: rgba(248, 173, 64, .1);--color-primary-alpha-15: rgba(248, 173, 64, .15);--color-primary-alpha-20: rgba(248, 173, 64, .2);--color-primary-alpha-30: rgba(248, 173, 64, .3);--color-primary-alpha-40: rgba(248, 173, 64, .4);--color-background: #000;--color-black: #000;--color-bg-grad-start: #0f0f0f;--color-bg-grad-end: #1a1a1a;--color-bg-card: #0a0a0a;--color-text: #ffffff;--color-text-muted: #ccc;--color-text-light: #aaa;--color-border: #333333;--color-border-dark: #222;--color-shadow: rgba(0, 0, 0, .5);--color-overlay-dark: rgba(0, 0, 0, .88);--color-modal-bg: rgba(0, 0, 0, .95);--color-scroll-track: #111;--color-pendulum-bg: #FFEDD5;--color-pendulum-line: #a4a4a4;--color-pendulum-shadow: #c76a1e}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Jura,sans-serif;background-color:var(--color-background);color:var(--color-text);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:Jura,sans-serif;font-weight:600;line-height:1.2;color:var(--color-text)}h1{font-size:60px;letter-spacing:3px;font-weight:700}@media(max-width:1024px){h1{font-size:50px}}@media(max-width:768px){h1{font-size:44px}}@media(max-width:480px){h1{font-size:36px}}h2{font-size:48px;letter-spacing:2px}@media(max-width:1024px){h2{font-size:40px}}@media(max-width:768px){h2{font-size:36px}}@media(max-width:480px){h2{font-size:28px}}h3{font-size:32px;letter-spacing:1.5px}@media(max-width:768px){h3{font-size:28px}}@media(max-width:480px){h3{font-size:24px}}h4{font-size:24px;letter-spacing:1px}@media(max-width:768px){h4{font-size:20px}}p{font-size:20px;line-height:1.6;font-weight:300;color:var(--color-text)}@media(max-width:1024px){p{font-size:18px}}@media(max-width:768px){p{font-size:16px}}a{color:var(--color-text);text-decoration:none;transition:color .3s ease}a:hover{color:var(--color-primary)}.divider{width:50px;height:2px;background-color:var(--color-primary-dark);margin:15px 0}button{font-family:Jura,sans-serif;cursor:pointer;border:none;outline:none;transition:all .3s ease;font-weight:500}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{padding:15px 40px;background-color:var(--color-primary);color:var(--color-black);font-size:18px;font-weight:600;border-radius:8px;letter-spacing:1px}.btn-primary:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 8px 20px var(--color-primary-alpha-40)}.btn-secondary{padding:15px 40px;background-color:transparent;color:var(--color-text);font-size:18px;font-weight:600;border:2px solid var(--color-primary);border-radius:8px;letter-spacing:1px}.btn-secondary:hover{background-color:var(--color-primary);color:var(--color-black);transform:translateY(-2px);box-shadow:0 8px 20px var(--color-primary-alpha-40)}.text-center{text-align:center}.text-accent{color:var(--color-primary)}.section-padding{padding:80px 10%}@media(max-width:1024px){.section-padding{padding:60px 5%}}@media(max-width:768px){.section-padding{padding:40px 1.25rem}}.section-header{margin-bottom:3rem;text-align:left;padding-top:80px}.section-header h1{font-size:60px;letter-spacing:3px;color:var(--color-text);font-weight:100}@media(max-width:1024px){.section-header{padding-top:60px}.section-header h1{font-size:50px}}@media(max-width:768px){.section-header{padding-top:40px}.section-header h1{font-size:44px}}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .8s ease-out forwards}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-dark)}
