:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:#121212;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px;box-shadow:inset 0 0 100px #000000b3}a{transition:all .2s ease-in-out;outline:none;text-decoration:none;padding:0;margin:0;font-weight:500;color:#555}a:hover{color:#fff;transform:translateY(-2px);cursor:pointer}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1a1a1a;border-radius:10px}::-webkit-scrollbar-thumb{background:#888;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#aaa}.glass-base{background:linear-gradient(135deg,#fff0,#ffffff0f,#fff0),#1e1e1e99;border-radius:12px;border:1px solid rgba(255,255,255,.1);transition:all .8s cubic-bezier(.16,1,.3,1)}.glass-base:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0006,inset 0 2px 3px #ffffff1a;border-color:#5a5a5ab3}.not-selectable{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.app-container{display:flex;flex-direction:row;width:100%;justify-content:space-evenly;opacity:0;animation:fadeIn 1s ease forwards .5s;min-height:100vh}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-wide{display:flex;flex-direction:column;align-items:center;overflow-y:auto;height:100vh;box-sizing:border-box;padding:4rem 1.5rem;gap:4rem;scroll-behavior:smooth;overscroll-behavior:contain}.app-narrow{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0px 1.5rem;position:relative}@media (max-width: 840px){.app-container{flex-direction:column;min-height:auto}.app-wide{overflow-y:visible;height:auto;padding:2rem 1.5rem}}:root{--avatar-size: var(--avatar-full-size);--avatar-full-size: 242px;--avatar-small-size: 150px}.profile-container,.profile-icons{display:flex;flex-direction:column;align-items:center}.avatarImage{width:var(--avatar-size);height:var(--avatar-size);object-fit:cover;border-radius:50%;position:relative;border:4px solid rgba(100,100,100,.25);transition:transform .3s cubic-bezier(.16,1,.3,1);will-change:transform;transform-style:preserve-3d}.avatarImage:hover{transform:scale(1.03) translateY(-2px) translateZ(0)}@keyframes rotateBorder{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.contacts-container{display:flex;flex-direction:column;max-width:420px;padding:1rem;gap:1rem}.contact-item{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;color:#f0f0f0;cursor:pointer}.contact-item svg{width:1.25rem;height:1.25rem;color:#fff}.languages-container{display:flex;max-width:300px;gap:1rem;justify-content:center;flex-wrap:wrap}.language{display:flex;align-items:center;gap:.75rem;width:100px;padding:10px;cursor:default}.language-flag{width:34px;height:34px;object-fit:cover;border-radius:50%;border:1px solid rgba(255,255,255,.1)}.language-level{margin:0;font-weight:500;font-size:.85rem;color:#f0f0f0;letter-spacing:.5px}.profile-name-heading{font-weight:700;font-size:2rem;color:#fff;text-align:center;margin:.5rem 0;line-height:1.2}.profile-name-heading small{display:block;font-weight:400;font-size:1.1rem;color:#fffc;margin-top:.5rem;letter-spacing:.8px}.profile-name-heading:hover small{color:#fffffff2;text-shadow:0 1px 3px rgba(0,0,0,.3)}@media (max-width: 840px) or (max-height:615px){:root{--avatar-size: var(--avatar-small-size)}.profile-container{display:grid;grid-template-areas:"avatar icons" "name name";grid-template-columns:auto 1fr;align-items:center;justify-content:space-around}.avatarContainer{grid-area:avatar}.profile-icons{grid-area:icons;flex-direction:row}.profile-name-heading{grid-area:name}.languages-container{display:flex;flex-direction:column}.contact-item{padding:.75rem 1rem}.languages-container{justify-content:flex-start}.language{width:auto;padding:.5rem .75rem}.language-flag{width:26px;height:26px}.language-level{font-size:.8rem}}@media (max-height: 770px) and (min-width: 841px){.profile-icons{flex-direction:row}.languages-container{flex-direction:column}.language{height:2.75rem}}@media (max-height: 770px) and (min-width: 841px) and (max-width: 1225px){.language{height:2.5rem}}.description-container{max-width:600px}.description-title{font-size:1.75rem;color:#f0f0f0;position:relative;padding-bottom:.5rem;border-bottom:1px solid rgba(120,120,120,.4)}.description-text{font-size:1rem;line-height:1.6;color:#e0e0e0;margin:0;white-space:pre-line}.description-content{padding:1.5rem}.projects-container{max-width:420px;width:100%;display:flex;flex-direction:column}.projects-top-container{display:flex;align-items:center;justify-content:space-between}.projects-details-button{cursor:pointer;font-size:1.4rem;border-radius:50%;padding:.25rem}.projects-image-wrapper{position:relative;width:100%;height:250px;overflow:hidden;border-radius:16px;border:1px solid rgba(70,70,70,.5)}.projects-icons-container.visible,.projects-description.visible{transform:translateY(0)}.projects-image{width:100%;height:100%;object-fit:cover;border-radius:16px;transition:all .4s ease}.projects-icons-container{position:absolute;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-evenly;top:0;left:0;right:0;background:#141414cc;color:#fff;padding:8px 1rem;transform:translateY(-100%);transition:transform .5s ease;border-bottom-left-radius:16px;border-bottom-right-radius:16px}.projects-icon{display:flex;justify-content:center;align-items:center;transition:all .3s ease}.projects-icon svg{width:30px;height:30px;transition:transform .3s ease,color .2s ease;color:#f0f0f0}.projects-description{position:absolute;bottom:0;left:0;right:0;background:#141414e6;color:#fff;padding:0px 1rem;transform:translateY(100%);transition:transform .5s ease;border-bottom-left-radius:16px;border-bottom-right-radius:16px}.projects-navigation{display:flex;align-items:center;justify-content:space-evenly;margin-top:1.5rem}.nav-icon{font-size:2rem;cursor:pointer;border-radius:50%;padding:.35rem;color:#f0f0f0}.nav-icon:active,.see-more-btn:active{transform:translateY(1px)}.see-more-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:.75rem 1.5rem;width:40%;font-size:1rem;font-weight:500;border-radius:24px;color:#f0f0f0;cursor:pointer}.small-icon{position:relative;top:1px;font-size:.9rem}.icons-container{max-width:600px;width:80%}.marquee-wrapper{overflow:hidden;border-top:1px solid #4a4a4a;border-bottom:1px solid #4a4a4a}.marquee-track{display:flex;gap:1.5rem;animation:scroll 500s linear infinite;width:max-content}.marquee-track.even{animation:scroll-left 400s linear infinite}.marquee-track.odd{animation:scroll-right 400s linear infinite}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes scroll-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.container-techIcon{display:flex;flex-direction:row;align-items:center;gap:.5rem;min-width:80px;padding:1rem;transition:transform .3s ease;font-size:1.5rem;color:#f0f0f0}.container-techIcon span{font-size:.85rem;font-weight:500;color:#e0e0e0}.container-techIcon:hover{transform:translateY(-2px);cursor:pointer}.container-techIcon svg{width:1.5rem;height:1.5rem;min-width:1.5rem}.tools-container{display:flex;flex-direction:row;justify-content:space-between}.icon-section{display:flex;flex-direction:column;border-top:1px solid #4a4a4a}.icon-section-container{width:100%;margin:0 auto}.icon-grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.5rem;border-bottom:1px solid #4a4a4a;border-top:1px solid #4a4a4a}.section-icon-navigation{display:flex;justify-content:center;gap:2rem}@media (max-width: 768px){.icon-grid-container{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}}@media (max-width: 480px){.icon-grid-container{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.timeline{position:relative;margin:0 auto;padding:40px 0;width:100%;max-width:844px}.timeline-line{position:absolute;width:2px;background:linear-gradient(to bottom,#4646464d,#78787899,#4646464d);top:0;bottom:0;left:50%;transform:translate(-50%);z-index:0}.timeline-item{position:relative;width:50%;box-sizing:border-box;z-index:1}.timeline-item:nth-child(odd){left:0;text-align:left}.timeline-item:nth-child(odd) .timeline-more-container{flex-direction:row}.timeline-item:nth-child(2n){left:50%;text-align:right}.timeline-item:nth-child(2n) .timeline-more-container{flex-direction:row-reverse}.timeline-dot{position:absolute;width:16px;height:16px;background-color:#2f2f2f;border:2px solid rgba(110,110,110,.8);border-radius:50%;top:24px;z-index:2;transition:all .8s ease}.timeline-item:hover .timeline-dot{transform:scale(1.2);background-color:#555}.timeline-item:nth-child(odd) .timeline-dot{right:-10px}.timeline-item:nth-child(2n) .timeline-dot{left:-10px}.timeline-content{padding:0px 1.5rem 1rem;padding-bottom:1rem!important;padding-top:0!important}.timeline-content small{display:block;margin-bottom:.75rem;font-size:.95rem;color:#bbb;font-style:italic;font-weight:500;letter-spacing:.05em}.timeline-more-container{display:flex;justify-content:space-between;text-align:left}.timeline-title{font-size:1.3rem;margin-bottom:0;color:#f0f0f0;position:relative;padding-bottom:.5rem;border-bottom:1px solid rgba(120,120,120,.4)}.timeline-text{font-size:1rem;line-height:1.6;color:#e0e0e0;margin:0}.timeline-item:nth-child(odd) .timeline-content{margin-right:20px}.timeline-item:nth-child(2n) .timeline-content{margin-left:20px}@media screen and (max-width: 600px),screen and (min-width: 841px) and (max-width: 1000px){.timeline-line{left:30px;transform:none}.timeline-item{width:100%;padding:20px 20px 20px 60px;left:0!important;text-align:left!important}.timeline-dot{left:20px!important;right:auto!important}.timeline-content{margin:0 0 15px!important}.timeline-item:nth-child(odd) .timeline-content,.timeline-item:nth-child(2n) .timeline-content{margin-left:0!important;margin-right:0!important}.timeline-item:nth-child(odd) .timeline-more-container{flex-direction:row-reverse}}
