html{padding:0;margin:0;box-sizing:border-box}body{display:block;margin:0}.header{position:absolute;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:10;font-weight:700;color:#000}.header.dark{color:#fff}.header.dark .header__menu-text,.header.dark .header__languages,.header.dark .header__language-button,.header.dark .header__menu-icon{color:#fff;filter:brightness(0) invert(1)}.header.dark-and-light__languages,.header.dark-and-light__menu-btn{color:#141414}@media (max-width: 768px){.header.dark-and-light .header__languages,.header.dark-and-light .header__language-button{color:#fff}}.header.dark-and-light .header__menu-text,.header.dark-and-light .header__menu-icon{color:#fff;filter:brightness(0) invert(1)}.header.light-and-dark .header__languages,.header.light-and-dark .header__language-button{color:#fff}.header.light-and-dark .header__languages:hover,.header.light-and-dark .header__language-button:hover{color:#4f6473}@media (max-width: 768px){.header.light-and-dark .header__languages,.header.light-and-dark .header__language-button{color:#141414}}.header .container{padding:1rem 3.5rem;display:flex;justify-content:space-between;align-items:center;width:100%}@media (max-width: 768px){.header .container{padding:1rem 2rem}}.header__languages,.header__menu-btn{pointer-events:all;background:none;border:none;font-size:1rem;color:#141414;cursor:pointer;display:flex;align-items:center;font-weight:700}.header__languages{gap:1rem;font-family:Bebas Neue,sans-serif;font-size:30px}.header__languages button{background:none;border:none;color:#141414;cursor:pointer;font-family:Bebas Neue,sans-serif;font-size:30px}.header__languages button:hover{color:#4f6473}.header__menu-btn{position:relative}.header__menu-btn .header__menu-text{margin-right:.5rem;opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease,visibility .3s;font-family:Bebas Neue,sans-serif;font-size:30px;color:#141414}.header__menu-btn:hover .header__menu-text{opacity:1;visibility:visible;transform:translateY(0)}.header__menu-btn .header__menu-icon{width:50px;height:auto;transition:filter .2s}.header.open .header__languages,.header.open .header__menu-btn .header__menu-text,.header.open .header__languages button,.header.open .header__menu-btn .header__menu-text button{color:#fff}.header.open .header__languages button:hover,.header.open .header__menu-btn .header__menu-text button:hover{color:#4f6473}.header.open .header__menu-btn .header__menu-icon{filter:brightness(0) invert(1)}.header__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#141414f7;transform:translate(100%);transition:transform .4s ease;pointer-events:none;z-index:9}.header__overlay.open{transform:translate(0);pointer-events:all}.header__overlay .header__nav{height:100%;display:flex;justify-content:flex-end;align-items:center;padding-right:4rem}@media (max-width: 768px){.header__overlay .header__nav{padding-right:2rem}}.header__overlay .header__nav ul{list-style:none;margin:0;padding:0}.header__overlay .header__nav ul li{margin:1.5rem 0}@media (max-width: 1500px){.header__overlay .header__nav ul li{margin:0}}.header__overlay .header__nav ul a{display:block;font-family:Bebas Neue,sans-serif;font-size:7rem;color:#fff;text-decoration:none;text-align:right;transition:color .2s}@media (max-width: 768px){.header__overlay .header__nav ul a{font-size:5rem}}.header__overlay .header__nav ul a:hover{color:#4f6473}.header__overlay .header__social{position:absolute;bottom:2rem;right:5rem;display:flex;gap:1.5rem;font-size:1.8rem}@media (max-width: 768px){.header__overlay .header__social{right:2.5rem}}.header__overlay .header__social a{color:#fff;transition:color .2s}.header__overlay .header__social a:hover{color:#4f6473}.home{width:100%;height:100vh}.under-construction{height:calc(100vh - 76.17px);background-color:#fff;color:#141414;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:Bebas Neue,sans-serif;padding:2rem;transition:all .3s ease}.under-construction h1{font-size:3rem;margin-bottom:1rem;letter-spacing:2px;animation:fadeInUp .8s ease forwards}.under-construction p{font-size:1.2rem;margin-bottom:2rem;animation:fadeInUp 1s ease forwards}.logo{width:150px;margin-bottom:2rem;animation:fadeInUp .6s ease forwards}.social-icons{display:flex;gap:1.5rem;animation:fadeInUp 1.2s ease forwards}.social-icons a{color:#141414;font-size:1.8rem;transition:color .3s ease,transform .3s ease}.social-icons a:hover{color:#7c7c7c;transform:scale(1.1)}.back-home-btn{font-family:Bebas Neue,sans-serif;font-size:1.5rem;text-transform:uppercase;color:#141414;background:transparent;border:2px solid #141414;padding:.75rem 2rem;cursor:pointer;transition:color .3s ease,border-color .3s ease,background-color .3s ease,transform .3s ease;letter-spacing:1px;margin-top:2rem}.back-home-btn:hover{color:#fff;background-color:#141414;border-color:#141414;transform:scale(1.03)}.about{display:flex;flex-direction:row;width:100%;background:#141414;min-height:100vh}@media (max-width: 768px){.about{flex-direction:column;min-height:100vh}}.about__image{width:100%;position:relative;min-width:50%}.about__image img{position:sticky;top:15vh;width:100%;height:auto}@media (max-width: 768px){.about__image img{margin-top:5rem}}.about__content{display:flex;flex-direction:column;width:100%;padding:10rem 4rem 10rem 0}@media (max-width: 768px){.about__content{padding:5rem 2rem}}.about__content .page-title{font-family:Bebas Neue,sans-serif;font-size:10vh;color:#fff;display:flex;width:100%;justify-content:end}.about__content .description{flex-direction:column;font-family:League Spartan,sans-serif;color:#fff;display:flex;width:100%;box-sizing:border-box;justify-content:end;padding:4rem}@media (max-width: 768px){.about__content .description{padding:2rem 1rem}}.about__content .description p{font-size:2vh;line-height:150%;margin-top:2rem}.about__content .page-subtitle{font-family:Bebas Neue,sans-serif;font-size:6vh;color:#fff;display:flex;width:100%;justify-content:start}@media (max-width: 768px){.about__content .page-subtitle{font-size:5vh}}.about__content .stacks{display:grid;grid-template-columns:repeat(4,1fr);box-sizing:border-box;max-width:100%;gap:5px;margin-bottom:3rem}@media (max-width: 768px){.about__content .stacks{grid-template-columns:repeat(2,1fr)}}.about__content .stacks__item{display:flex;justify-content:center;align-items:center;transition:transform .3s ease-in-out;margin-bottom:4rem}.about__content .stacks__item img{max-width:100%;height:auto;object-fit:contain}.about__content .stacks__item:hover{transform:scale(1.05)}.about__content hr{width:100%;height:1px;background:#cecece;margin:0}.about .experiences{display:flex;flex-direction:column;gap:2rem;margin-top:2rem;width:100%;padding-right:2rem;margin-bottom:6rem}.about .experiences__item{display:grid;grid-template-columns:20% 80%;align-items:start;gap:2rem}@media (max-width: 768px){.about .experiences__item{grid-template-columns:1fr;gap:0}}.about .experiences__item-year{font-size:2.5vh;color:#b3b3b3;font-family:Bebas Neue,sans-serif;text-align:right}@media (max-width: 768px){.about .experiences__item-year{text-align:left}}.about .experiences__item-content h3{font-size:3vh;color:#fff;font-family:Bebas Neue,sans-serif;margin-bottom:.5rem;letter-spacing:.15rem;margin-top:2rem}@media (max-width: 768px){.about .experiences__item-content h3{margin-top:0}}.about .experiences__item-content h4{font-size:2.7vh;color:#fff;font-family:Bebas Neue,sans-serif;margin-bottom:.5rem;margin-top:0;letter-spacing:.15rem}.about .experiences__item-content p{font-size:1.8vh;color:#ccc;font-family:League Spartan,sans-serif;line-height:1.5}.portfolio{display:flex;flex-direction:row;width:100%}@media (max-width: 768px){.portfolio{flex-direction:column-reverse;min-height:100vh}}.portfolio__image{width:30%;height:100vh;position:relative}@media (max-width: 768px){.portfolio__image{width:100%}}.portfolio__image:after{content:"";display:block;width:100%;height:100vh}.portfolio__image img{position:fixed;top:0;left:0;height:100vh;width:30vw;object-fit:cover;object-position:top;z-index:-1}@media (max-width: 768px){.portfolio__image img{width:100%}}.portfolio__content{background:#141414;display:flex;flex-direction:column;width:70%;padding:10rem 4rem 10rem 5rem}@media (max-width: 768px){.portfolio__content{width:100%;padding:5rem 2rem}}.portfolio__content .page-title{margin-bottom:5vh;color:#fff}.portfolio__content-text{font-family:League Spartan,sans-serif;color:#fff;font-size:2.2vh;line-height:1.5;margin-bottom:4rem}.portfolio__content-text span{text-transform:uppercase;font-weight:700;font-size:2.3vh}.portfolio__content-subtitle{flex-direction:row;align-items:center;font-family:Bebas Neue,sans-serif;font-size:6vh;color:#fff;display:flex;width:100%;justify-content:start;margin-top:2rem}@media (max-width: 768px){.portfolio__content-subtitle{font-size:5vh}}.portfolio__content-subtitle span{color:#fff;border:2px solid #fff;padding:.5rem 2rem;margin:1rem}.portfolio__content .see-more{display:flex;flex-direction:column;width:100%;align-items:start;padding-right:1rem;margin-bottom:2rem}.portfolio__content .see-more.end{align-items:end}.portfolio__content .see-more p{font-family:League Spartan,sans-serif;color:#fff;font-size:2.2vh;line-height:1.5;margin-top:1rem}.portfolio__content .see-more__btn{display:flex;justify-content:center;align-items:center;gap:1rem;font-family:Bebas Neue,sans-serif;font-size:2vh;text-transform:uppercase;text-align:center;max-width:200px;color:#cecece;background:transparent;border:2px solid #fff;padding:.5rem 2rem;cursor:pointer;transition:color .3s ease,border-color .3s ease,background-color .3s ease,transform .3s ease;letter-spacing:1px}.portfolio__content .see-more__btn:hover{color:#141414;background-color:#fff;border-color:#4f6473;transform:scale(1.03)}.portfolio__content .see-more__btn span{font-size:2.2vh;line-height:90%}.portfolio__content .back-home-btn{font-family:Bebas Neue,sans-serif;font-size:1.5rem;text-transform:uppercase;color:#fff;background:transparent;border:2px solid #fff;padding:.75rem 2rem;cursor:pointer;transition:color .3s ease,border-color .3s ease,background-color .3s ease,transform .3s ease;letter-spacing:1px;margin-top:2rem}.portfolio__content .back-home-btn:hover{color:#141414;background-color:#fff;border-color:#4f6473;transform:scale(1.03)}.embla{position:relative;overflow:visible;margin:2rem 0}@media (max-width: 768px){.embla{margin:0}}.embla__viewport{overflow:hidden;width:100%}.embla__container{display:flex;gap:1.2rem;padding:0 1rem;will-change:transform}@media (max-width: 768px){.embla__container{gap:0;padding:0}}.embla__slide{position:relative;flex:0 0 calc((100% - 2.4rem) / 3);transition:transform .3s ease;border:2px solid #141414}@media (max-width: 768px){.embla__slide{flex:0 0 100%;padding:0 .5rem}}.embla__slide img{width:100%;height:auto;display:block}@media (max-width: 768px){.embla__slide img{border:2px solid #141414}}.embla__slide .overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000d9;color:#fff;padding:2vh;display:flex;flex-direction:column;justify-content:flex-end;opacity:0;transform:translateY(100%);transition:all .4s ease}.embla__slide .overlay h4,.embla__slide .overlay p,.embla__slide .overlay a{opacity:0;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease}.embla__slide .overlay__title{font-family:Bebas Neue,sans-serif;font-size:2vh;letter-spacing:.07rem;margin-bottom:1rem}.embla__slide .overlay__description{font-family:League Spartan,sans-serif;font-size:1.5vh;line-height:1.5;margin-bottom:1rem}.embla__slide .overlay__caseBtn{font-family:Bebas Neue,sans-serif;font-size:2vh;text-transform:uppercase;text-align:center;max-width:200px;color:#cecece;background:transparent;border:2px solid #fff;padding:.5rem 2rem;cursor:pointer;transition:color .3s ease,border-color .3s ease,background-color .3s ease,transform .3s ease;letter-spacing:1px;margin-top:1rem}.embla__slide .overlay__caseBtn:hover{color:#141414;background-color:#fff;border-color:#4f6473;transform:scale(1.03)}.embla__slide:hover .overlay,.embla__slide:hover .overlay h4,.embla__slide:hover .overlay p,.embla__slide:hover .overlay a{opacity:1;transform:translateY(0)}.embla__slide .mobile-info{display:none}@media (max-width: 768px){.embla__slide .mobile-info{display:block;padding:1rem 0;text-align:left;color:#fff}.embla__slide .mobile-info__title{font-family:Bebas Neue,sans-serif;font-size:3vh;letter-spacing:.07rem;margin-bottom:1rem}.embla__slide .mobile-info__description{font-family:League Spartan,sans-serif;font-size:2vh;line-height:1.5;margin-bottom:1rem}.embla__slide .mobile-info a.btn{font-family:Bebas Neue,sans-serif;font-size:1.5rem;text-transform:uppercase;color:#fff;background:transparent;border:2px solid #fff;padding:.75rem 2rem;cursor:pointer;letter-spacing:1px;margin-top:2rem}}@media (max-width: 768px){.embla__slide{flex:0 0 100%;border:none}.embla__slide .overlay{display:none}}.embla__button{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:transparent;border:none;padding:0;cursor:pointer;opacity:.4;transition:opacity .3s ease;-webkit-user-select:none;user-select:none}@media (max-width: 768px){.embla__button{top:25%}}.embla__button img{width:2.5rem;height:auto;display:block}.embla__button:hover{opacity:1}.embla__button--prev{left:-3rem}@media (max-width: 768px){.embla__button--prev{left:-2rem}}.embla__button--next{right:-3rem}@media (max-width: 768px){.embla__button--next{right:-2rem}}.contact{display:flex;flex-direction:row;width:100%}@media (max-width: 768px){.contact{flex-direction:column;min-height:100vh}}.contact__image{width:30%;height:100vh;position:relative}@media (max-width: 768px){.contact__image{display:none}}.contact__image:after{content:"";display:block;width:100%;height:100vh}.contact__image img{position:fixed;top:0;left:0;height:100vh;width:30vw;object-fit:cover;object-position:top;z-index:-1}.contact__content{background:#141414;display:flex;flex-direction:column;width:70%;padding:10rem 4rem 10rem 5rem}@media (max-width: 768px){.contact__content{width:100%;padding:5rem 2rem}}.contact__content .page-title{margin-bottom:5vh}.contact__content-text{font-family:League Spartan,sans-serif;color:#fff;font-size:2.2vh;font-weight:500}.contact__content-form{display:flex;flex-direction:column;gap:2rem;margin-top:3rem;margin-bottom:6rem}.contact__content-form label{display:flex;flex-direction:column;font-family:Bebas Neue,sans-serif;font-size:3.2vh;color:#cecece}.contact__content-form label span{margin-bottom:.5rem}.contact__content-form label input,.contact__content-form label textarea{background:transparent;border:none;border-bottom:1px solid #ffffff;padding:1rem 0;font-family:League Spartan,sans-serif;font-size:2vh;color:#fff}.contact__content-form label input::placeholder,.contact__content-form label textarea::placeholder{color:#cecece}.contact__content-form label input:focus,.contact__content-form label textarea:focus{outline:none;border-color:#4f6473}.contact__content-form label input.input-error,.contact__content-form label textarea.input-error{border-color:#f44!important}.contact__content-form label .error-text{color:#f44;font-size:1.4vh;margin-top:.4rem;font-family:League Spartan,sans-serif;align-self:flex-end}.contact__content-form button{max-width:15rem;font-family:Bebas Neue,sans-serif;font-size:1.5rem;text-transform:uppercase;color:#cecece;background:transparent;border:2px solid #fff;padding:.75rem 2rem;cursor:pointer;transition:color .3s ease,border-color .3s ease,background-color .3s ease,transform .3s ease;letter-spacing:1px;margin-top:4rem}.contact__content-form button:hover{color:#141414;background-color:#fff;border-color:#cecece;transform:scale(1.03)}.contact__content-message{display:block;width:100%;padding:4rem 3rem;margin-top:4rem;background-color:#1f1f1f;color:#fff;border-left:5px solid #00c851;min-height:120px;font-family:League Spartan,sans-serif;font-size:2.4vh}.contact__content-message.loading{font-family:League Spartan,sans-serif;font-size:2.2vh;color:#cecece;padding:4rem 3rem;background-color:#1f1f1f;border-left:5px solid #cccccc}.contact__content-message.error{border-color:#f44}.contact__content-message p{margin-bottom:2rem;font-size:2.2vh}.contact__content-message a.back-button__btn{display:inline-block;padding:.75rem 2rem;border:2px solid #fff;color:#fff;text-decoration:none;font-family:Bebas Neue,sans-serif;letter-spacing:1px;text-transform:uppercase;transition:all .3s ease}.contact__content-message a.back-button__btn:hover{background:#fff;color:#141414}.contact__content-socials{width:100%;display:flex;flex-direction:column;gap:1.5rem;justify-content:start;padding:4rem 0}.contact__content-socials .links{display:flex;flex-direction:row;gap:2rem;margin-left:3rem}.contact__content-socials .links a{color:#fff;transition:color .2s;font-size:4vh}.contact__content-socials .links a:hover{color:#4f6473}*{margin:0;padding:0}ul,ol{list-style:none}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit;background:none;border:none;outline:none}body{font-family:Roboto,sans-serif;line-height:1.5;background-color:#fff;color:#333;-webkit-font-smoothing:antialiased}button,input[type=submit],input[type=button]{cursor:pointer;background:transparent;border:none}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}.hero{position:relative;width:100%;min-height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero__logo{width:clamp(240px,60%,1626px);position:relative;z-index:2;transition:transform .3s ease-in-out}.hero__logo:hover{transform:scale(1.01)}.hero .triangles-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%}.hero .triangles-bg canvas{width:100%!important;height:100%!important}.hero__content{z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;width:100%}.hero__content picture{width:clamp(240px,60%,1626px);position:relative;z-index:2;transition:transform .3s ease-in-out;animation:fadeInUp 1s ease forwards}.hero__content picture:hover{transform:scale(1.01)}.hero__content-title{display:none}.hero__content-subtitle{position:absolute;bottom:2rem;left:calc(50% - 16.5ch);font-family:Bebas Neue,sans-serif;font-size:2rem;color:#141414;letter-spacing:.08em;white-space:nowrap;overflow:hidden;display:inline-block}@media (max-width: 768px){.hero__content-subtitle{font-size:1.5rem;bottom:5rem}}.hero__content .hero__footer-typing{position:absolute;bottom:2rem;left:calc(50% - 16.5ch);font-family:Bebas Neue,sans-serif;font-size:2rem;color:#141414;letter-spacing:.08em;white-space:nowrap;overflow:hidden;display:inline-block;max-width:33ch;width:0ch;animation:typing 2.2s steps(32) .5s forwards}@media (max-width: 768px){.hero__content .hero__footer-typing{font-size:1.5rem;bottom:3.5rem}}.hero__content .hero__footer-typing:after{content:"";display:inline-block;width:1ch;height:100%;background:#141414;animation:blink .8s step-end infinite;position:absolute;right:0;top:0}@keyframes typing{0%{width:0ch}to{width:33ch}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}body{font-family:Roboto,sans-serif;color:#141414;background:#fff;overflow-x:hidden;padding:0;margin:0}*,*:before,*:after{box-sizing:border-box}.animate{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.animate.in-view{opacity:1;transform:translateY(0)}.page-title{font-family:Bebas Neue,sans-serif;font-size:10vh;color:#fff;display:flex;width:100%;justify-content:end}.back-button{width:100%;display:flex;justify-content:end}.back-button__btn{font-family:Bebas Neue,sans-serif;font-size:1.5rem;text-transform:uppercase;color:#cecece;background:transparent;border:2px solid #fff;padding:.75rem 2rem;cursor:pointer;transition:color .3s ease,border-color .3s ease,background-color .3s ease,transform .3s ease;letter-spacing:1px;margin-top:4rem}.back-button__btn:hover{color:#141414;background-color:#fff;border-color:#4f6473;transform:scale(1.03)}
