@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap";@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/SpaceGrotesk-Light-BVMKF3vU.ttf)format("truetype")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/SpaceGrotesk-Regular-D96nn-Fd.ttf)format("truetype")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/SpaceGrotesk-Medium-CQiCHMQy.ttf)format("truetype")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/SpaceGrotesk-SemiBold-BTfAzs1I.ttf)format("truetype")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/SpaceGrotesk-Bold-BheyrowY.ttf)format("truetype")}:root{--bg-primary:#0a0a0f;--bg-secondary:#0d0d18;--bg-tertiary:#111128;--accent:#6366f1;--accent-hover:#818cf8;--accent-secondary:#8b5cf6;--accent-emerald:#10b981;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#64748b;--border:#6366f12e;--border-subtle:#ffffff0f;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--glass-bg:#ffffff0a;--glass-border:#ffffff14;--shadow-glow:0 0 40px #6366f126}*,:before,:after{box-sizing:border-box;border:none;margin:0;padding:0;font-family:Space Grotesk,sans-serif}html{scroll-behavior:smooth;scroll-padding-top:5rem;overflow-x:hidden}section[data-section]{scroll-margin-top:5rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:has(.active-menu-responsive){min-height:100vh;overflow-y:hidden}@media (width>=992px){body:has(.active-menu-responsive){overflow-y:auto}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#0d0d18}::-webkit-scrollbar-thumb{background:#6366f180;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#6366f1}::selection{color:#f1f5f9;background:#6366f140}ul{list-style:none}a{color:#f1f5f9;text-decoration:none;transition:color .15s}input::-ms-reveal{display:none}input::-ms-clear{display:none}.container__header{-webkit-backdrop-filter:blur(20px);z-index:100;background-color:#0a0a0fb3;border-bottom:1px solid #0000;grid-area:header;align-items:center;width:100%;height:70px;padding:0 1.5rem;transition:border-color .3s,background-color .3s,box-shadow .3s;display:flex;position:fixed}.container__header.scrolled{background-color:#0a0a0feb;border-bottom-color:#6366f12e;box-shadow:0 4px 32px #0000004d}.container__header .header__content{justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;display:flex}.container__header .header__content .content__logo-container{cursor:pointer;justify-content:center;align-items:center;gap:.6rem;text-decoration:none;transition:opacity .3s;display:flex}.container__header .header__content .content__logo-container:hover{opacity:.8}.container__header .header__content .content__logo-container .logo-container__icon{fill:#6366f1;filter:drop-shadow(0 0 6px #6366f180);width:2rem;animation:6s linear infinite spin}.container__header .header__content .content__logo-container .logo-container__text{color:#f1f5f9;letter-spacing:-.02em;font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:600}.container__header .header__content .content__logo-container .logo-container__text span{color:#6366f1}.container__header .header__content .content__nav{background-color:#0000}.container__header .header__content .content__nav .nav__links{gap:.25rem;padding:0 1rem;display:none}.container__header .header__content .content__nav .nav__links .links__link{cursor:pointer}.container__header .header__content .content__nav .nav__links .links__link a{color:#cbd5e1;border-radius:var(--radius-sm);letter-spacing:.01em;padding:.5rem .875rem;font-size:.95rem;font-weight:500;transition:color .3s,background-color .3s;display:block;position:relative}.container__header .header__content .content__nav .nav__links .links__link a:after{content:"";background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border-radius:1px;width:0;height:2px;transition:width .3s;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.container__header .header__content .content__nav .nav__links .links__link a:hover,.container__header .header__content .content__nav .nav__links .links__link a.active{color:#f1f5f9}.container__header .header__content .content__nav .nav__links .links__link a:hover:after,.container__header .header__content .content__nav .nav__links .links__link a.active:after{width:calc(100% - 1.75rem)}.container__header .header__content .content__nav .nav__links .links__link a.active{color:#818cf8}@media (width>=992px){.container__header .header__content .content__nav{display:block}.container__header .header__content .content__nav .nav__links{justify-content:flex-end;align-items:center;display:flex}}.container__header .header__content .content__nav.active-menu-responsive{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:99;background-color:#0a0a0ffa;justify-content:center;align-items:center;width:100%;height:calc(100vh - 70px);display:flex;position:fixed;top:70px;left:0}.container__header .header__content .content__nav.active-menu-responsive .nav__links{flex-direction:column;align-items:center;gap:.5rem;display:flex}.container__header .header__content .content__nav.active-menu-responsive .nav__links .links__link a{text-align:center;padding:.75rem 2rem;font-size:1.6rem}@media (width>=992px){.container__header .header__content .content__nav.active-menu-responsive{position:inherit;-webkit-backdrop-filter:none;backdrop-filter:none;background-color:#0000;height:auto}.container__header .header__content .content__nav.active-menu-responsive .nav__links{flex-direction:row;gap:.25rem;font-size:.95rem}.container__header .header__content .content__nav.active-menu-responsive .nav__links .links__link a{padding:.5rem .875rem;font-size:.95rem}}.container__header .header__content .content__resposive-nav{display:block}.container__header .header__content .content__resposive-nav .menu__button{cursor:pointer;border-radius:var(--radius-sm);background-color:#0000;padding:.5rem;transition:background-color .3s}.container__header .header__content .content__resposive-nav .menu__button:hover{background-color:var(--glass-bg)}.container__header .header__content .content__resposive-nav .menu__button .icon{color:#f1f5f9;font-size:1.75rem;display:block}@media (width>=992px){.container__header .header__content .content__resposive-nav{display:none}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.container__footer{background-color:#0d0d18;grid-area:footer;width:100%;padding:2.5rem 1.5rem;position:relative}.container__footer:before{content:"";background:linear-gradient(90deg,#0000 0%,#6366f180 30%,#8b5cf680 70%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}.container__footer .footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;max-width:1100px;margin:0 auto;display:flex}@media (width<=600px){.container__footer .footer__inner{text-align:center;flex-direction:column;align-items:center}}.container__footer .footer__row--bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.container__footer .footer__row--bottom .row--bottom__copyright .copyright__text{color:#64748b;font-family:JetBrains Mono,monospace;font-size:.82rem}.container__footer .footer__row--bottom .row--bottom__copyright .copyright__text strong{color:#cbd5e1;font-weight:500}.container__footer .footer__row--bottom .row--bottom__social-media .social-media__container{gap:.625rem;display:flex}.container__footer .footer__row--bottom .row--bottom__social-media .social-media__container .container__icon{border-radius:var(--radius-sm);background:var(--glass-bg);border:1px solid var(--glass-border);justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:all .25s;display:flex}.container__footer .footer__row--bottom .row--bottom__social-media .social-media__container .container__icon .icon{color:#64748b;font-size:1.05rem;transition:color .25s}.container__footer .footer__row--bottom .row--bottom__social-media .social-media__container .container__icon:hover{background:#6366f11a;border-color:#6366f166;transform:translateY(-3px)}.container__footer .footer__row--bottom .row--bottom__social-media .social-media__container .container__icon:hover .icon{color:#818cf8}@media (width<=600px){.container__footer .footer__row--bottom{flex-direction:column-reverse;align-items:center}}.container__footer .footer__row--top{display:none}.timeline{text-align:center;justify-content:center;margin-top:48px;padding:0 1rem;display:flex}.timeline__content{text-align:left;width:min(90%,720px);padding:48px 0 48px 2.5rem;list-style:none;position:relative}.timeline__content:before{content:"";background:linear-gradient(#0000 0%,#6366f1 15%,#8b5cf6 70%,#0000 100%);border-radius:1px;width:2px;height:100%;position:absolute;top:0;left:0}.timeline__content .event{background:#111116;border:1px solid #ffffff0d;border-radius:16px;gap:1rem;margin-bottom:2rem;padding:2rem;transition:transform .3s,box-shadow .3s,border-color .3s;display:grid;position:relative}.timeline__content .event:last-of-type{margin-bottom:0}.timeline__content .event:hover{border-color:#6366f133;transform:translate(6px);box-shadow:0 10px 30px #0006}.timeline__content .event:after{content:"";z-index:1;background:#6366f1;border:3px solid #0a0a0f;border-radius:50%;width:12px;height:12px;animation:3s ease-in-out infinite dot-pulse;position:absolute;top:2.2rem;left:calc(-2.5rem - 5px);box-shadow:0 0 0 3px #6366f14d,0 0 12px #6366f166}@keyframes dot-pulse{0%,to{box-shadow:0 0 0 3px #6366f14d,0 0 12px #6366f166}50%{box-shadow:0 0 0 6px #6366f11a,0 0 20px #6366f199}}.timeline__content .event.__year-container,.timeline__content .event__year-container{align-items:center;gap:.5rem;display:inline-flex}.timeline__content .event.__year-container h3,.timeline__content .event__year-container h3{color:#6366f1;letter-spacing:.05em;background:#6366f11a;border:1px solid #6366f140;border-radius:100px;padding:.25rem .75rem;font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:600}.timeline__content .event.__year-container .year-container__icon,.timeline__content .event__year-container .year-container__icon{color:#6366f1;font-size:1.1rem}.timeline__content .event__title-container{align-items:center;gap:.6rem;display:flex}.timeline__content .event__title-container h2{color:#f1f5f9;letter-spacing:-.01em;font-size:1.5rem;font-weight:700}.timeline__content .event__title-container .title-container__icon{color:#8b5cf6;font-size:1.2rem}.timeline__content .event p,.timeline__content .event .event__about{color:#64748b;max-width:600px;font-size:1.05rem;line-height:1.7}.timeline__content .event__skills-container{flex-wrap:wrap;align-items:center;gap:.75rem;display:inline-flex}.timeline__content .event__skills-container .skill{object-fit:contain;filter:grayscale(15%);width:1.6rem;height:1.6rem;transition:filter .2s,transform .2s}.timeline__content .event__skills-container .skill:hover{filter:none;transform:scale(1.15)translateY(-2px)}.timeline__content .event__skills-info-container{color:#64748b;border-top:1px solid #ffffff0d;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:1rem;font-size:.95rem;display:flex}.timeline__content .event__skills-info-container .skills-info-container__icon{color:#8b5cf6;font-size:1rem}.projects__filter-container{justify-content:center;margin:1rem 0 2rem;padding:0 1rem;display:flex}.projects__filters{-webkit-backdrop-filter:blur(14px);background:#0e101cd9;border:1px solid #ffffff14;border-radius:100px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;padding:.35rem;display:inline-flex;box-shadow:0 8px 24px #0000004d}.projects__filter-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:100px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-family:JetBrains Mono,monospace;font-size:.88rem;font-weight:600;transition:all .25s;display:inline-flex}.projects__filter-btn .filter-count{color:#f1f5f9b3;background:#ffffff0f;border-radius:100px;padding:.15rem .5rem;font-size:.75rem;transition:all .25s}.projects__filter-btn:hover{color:#f1f5f9;background:#ffffff0a}.projects__filter-btn.is-active{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border-color:#fff3;box-shadow:0 0 20px #6366f173}.projects__filter-btn.is-active .filter-count{color:#fff;background:#00000040}.card{justify-items:center;gap:2rem;width:100%;max-width:1180px;padding:1rem 0 2.5rem;display:grid}.card .section__card-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:2rem;width:100%;padding:0 1rem;display:grid}.card__wrapper{border-radius:var(--radius-lg);cursor:pointer;-webkit-backdrop-filter:blur(16px);background:#0e101cc7;border:1px solid #ffffff14;flex-direction:column;height:100%;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .35s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000040}.card__wrapper:hover,.card__wrapper:focus-within{border-color:#6366f173;outline:none;transform:translateY(-8px);box-shadow:0 24px 48px -12px #000000d9,0 0 30px #6366f138}.card__wrapper:hover .card__banner-img,.card__wrapper:focus-within .card__banner-img{transform:scale(1.06)}.card__wrapper:hover .title,.card__wrapper:focus-within .title{color:#818cf8}.card__wrapper:hover .button--details,.card__wrapper:focus-within .button--details{color:#fff;background:#6366f140;border-color:#6366f18c}.card__wrapper:hover .button--details:after,.card__wrapper:focus-within .button--details:after{transform:translate(4px)}.card__banner{background-color:#080912;border-bottom:1px solid #ffffff0f;width:100%;height:205px;position:relative;overflow:hidden}.card__banner-img{object-fit:cover;object-position:center center;will-change:transform;width:100%;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1);display:block}.card__banner-overlay{pointer-events:none;background:linear-gradient(#0000 0%,#0e101c1a 60%,#0e101cd9 100%);position:absolute;inset:0}.card__category-badge{z-index:2;position:absolute;top:.85rem;left:.85rem}.badge-pill{letter-spacing:.05em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);border-radius:100px;align-items:center;padding:.25rem .65rem;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #00000059}.badge-pill.badge--platform{color:#d8b4fe;background:#8b5cf638;border:1px solid #8b5cf673}.badge-pill.badge--api{color:#67e8f9;background:#06b6d438;border:1px solid #06b6d473}.badge-pill.badge--landing_page{color:#fde047;background:#f59e0b38;border:1px solid #f59e0b73}.card__header-info{z-index:2;position:absolute;top:.85rem;right:.85rem}.card__header-info .date{color:#f1f5f9e6;-webkit-backdrop-filter:blur(10px);text-transform:capitalize;letter-spacing:.02em;background:#0a0a12bf;border:1px solid #ffffff24;border-radius:100px;padding:.3rem .7rem;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:500;box-shadow:0 4px 12px #0006}.card__body-content{z-index:1;flex-direction:column;flex:1;padding:1.5rem 1.6rem 1.6rem;display:flex}.card__body-content .author{color:#6366f1;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.45rem;font-family:JetBrains Mono,monospace;font-size:.78rem;font-weight:600;display:block}.card__body-content .title{letter-spacing:-.01em;color:#f1f5f9;margin-bottom:.65rem;font-size:1.25rem;font-weight:700;line-height:1.35;transition:color .2s}.card__body-content .text{color:#64748b;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;margin-bottom:1.25rem;font-size:.92rem;line-height:1.6;display:-webkit-box;overflow:hidden}.card__footer{border-top:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:1.1rem;display:flex}.card__footer .skills{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.card__footer .skills__item{border-radius:var(--radius-sm);background:#ffffff0a;border:1px solid #ffffff14;justify-content:center;align-items:center;width:2.15rem;height:2.15rem;transition:transform .2s,background-color .2s,border-color .2s;display:flex}.card__footer .skills__item:hover{background:#6366f12e;border-color:#6366f166;transform:translateY(-2px)}.card__footer .skills__skill{object-fit:contain;width:1.25rem;height:1.25rem}.card__footer .button--details{color:#818cf8;border-radius:var(--radius-sm);cursor:pointer;letter-spacing:.02em;background:#6366f11a;border:1px solid #6366f14d;align-items:center;gap:.45rem;padding:.45rem .95rem;font-family:JetBrains Mono,monospace;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.card__footer .button--details:after{content:"→";transition:transform .2s;display:inline-block}.card__footer .button--details:hover{color:#fff;background:#6366f140;border-color:#6366f18c}.project-modal__backdrop{z-index:9999;-webkit-backdrop-filter:blur(18px);background:#03040ad6;justify-content:center;align-items:center;padding:1.5rem;animation:.22s ease-out modalFadeIn;display:flex;position:fixed;inset:0}.project-modal__content{background:#0b0d1b;border:1px solid #ffffff1a;border-radius:22px;flex-direction:column;gap:1.85rem;width:100%;max-width:920px;max-height:88vh;padding:2.25rem 2.25rem 2.75rem;animation:.25s cubic-bezier(.16,1,.3,1) modalScaleUp;display:flex;position:relative;overflow:hidden auto;box-shadow:0 30px 90px #000000e6,0 0 50px #6366f11f}.project-modal__content::-webkit-scrollbar{width:6px}.project-modal__content::-webkit-scrollbar-track{background:#ffffff05}.project-modal__content::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.project-modal__close{color:#cbd5e1;cursor:pointer;z-index:20;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;font-size:1.05rem;transition:all .2s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.project-modal__close:hover{color:#ef4444;background:#ef444433;border-color:#ef444480;transform:scale(1.08)}.project-modal__header{flex-direction:column;gap:.65rem;padding-right:3rem;display:flex}.project-modal__meta{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.project-modal__category{text-transform:uppercase;letter-spacing:.08em;border-radius:100px;align-items:center;gap:.45rem;padding:.28rem .75rem;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:700;display:inline-flex}.project-modal__category-icon{font-size:.75rem;display:inline-flex}.project-modal__category.badge--platform{color:#c084fc;background:#8b5cf626;border:1px solid #8b5cf659}.project-modal__category.badge--api{color:#38bdf8;background:#06b6d426;border:1px solid #06b6d459}.project-modal__category.badge--landing_page{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b59}.project-modal__date{color:#94a3b8;text-transform:capitalize;align-items:center;gap:.45rem;font-family:JetBrains Mono,monospace;font-size:.8rem;display:inline-flex}.project-modal__date svg{color:#94a3b8b3;font-size:.78rem}.project-modal__author{color:#818cf8;letter-spacing:.04em;background:#6366f114;border:1px solid #6366f133;border-radius:6px;align-items:center;gap:.35rem;padding:.22rem .65rem;font-family:JetBrains Mono,monospace;font-size:.78rem;font-weight:600;display:inline-flex}.project-modal__title{letter-spacing:-.025em;color:#fff;margin:0;font-size:1.85rem;font-weight:700;line-height:1.25}.project-modal__gallery{flex-direction:column;gap:.85rem;display:flex}.project-modal__viewer{background:#05060c;border:1px solid #ffffff14;border-radius:14px;justify-content:center;align-items:center;width:100%;min-height:280px;max-height:480px;display:flex;position:relative;overflow:hidden}.project-modal__main-image{object-fit:contain!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:480px!important;display:block!important}.project-modal__nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;z-index:5;background:#0a0a12cc;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;font-size:.95rem;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.project-modal__nav:hover{background:#6366f1;border-color:#6366f1;transform:translateY(-50%)scale(1.08)}.project-modal__nav--prev{left:.85rem}.project-modal__nav--next{right:.85rem}.project-modal__caption{color:#f1f5f9f2;background:linear-gradient(#0000 0%,#06070e80 30%,#06070ef2 100%);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;font-size:.86rem;display:flex;position:absolute;bottom:0;left:0;right:0}.project-modal__counter{color:#818cf8;white-space:nowrap;background:#00000080;border:1px solid #ffffff1a;border-radius:6px;padding:.2rem .55rem;font-family:JetBrains Mono,monospace;font-size:.76rem}.project-modal__thumbnails{align-items:center;gap:.65rem;padding:.25rem 0;display:flex;overflow-x:auto}.project-modal__thumbnails::-webkit-scrollbar{height:4px}.project-modal__thumbnails::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.project-modal__thumb{cursor:pointer;opacity:.55;background:#05060c;border:2px solid #0000;border-radius:8px;flex-shrink:0;width:86px;height:52px;padding:0;transition:all .2s;overflow:hidden}.project-modal__thumb img{object-fit:cover!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;display:block!important}.project-modal__thumb:hover{opacity:.9;transform:translateY(-2px)}.project-modal__thumb.is-active{opacity:1;border-color:#6366f1;box-shadow:0 0 12px #6366f173}.project-modal__cover{background:#05060c;border:1px solid #ffffff14;border-radius:14px;justify-content:center;align-items:center;width:100%;min-height:220px;max-height:380px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #00000059}.project-modal__cover-img{object-fit:cover!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:380px!important;display:block!important}.project-modal__cover-overlay{pointer-events:none;background:linear-gradient(#0000 40%,#0b0d1b80 100%);position:absolute;inset:0}.project-modal__metrics{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:.95rem;width:100%;display:grid}.project-modal__metric-card,.project-modal .metric-box{background:linear-gradient(135deg,#ffffff0b 0%,#ffffff04 100%);border:1px solid #ffffff14;border-radius:14px;flex-direction:column;gap:.45rem;padding:1.1rem 1.25rem;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.project-modal__metric-card:before,.project-modal .metric-box:before{content:"";opacity:0;background:linear-gradient(90deg,#6366f1 0%,#0000 100%);height:2px;transition:opacity .25s;position:absolute;top:0;left:0;right:0}.project-modal__metric-card:hover,.project-modal .metric-box:hover{border-color:#6366f166;transform:translateY(-2px);box-shadow:0 8px 24px -4px #6366f133}.project-modal__metric-card:hover:before,.project-modal .metric-box:hover:before{opacity:1}.project-modal__metric-top{align-items:center;gap:.5rem;display:flex}.project-modal__metric-icon{color:#818cf8;background:#6366f126;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;display:flex}.project-modal__metric-label,.project-modal .metric-box__label{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:.74rem;font-weight:600}.project-modal__metric-value,.project-modal .metric-box__value{color:#fff;letter-spacing:-.02em;margin-top:.1rem;font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:700;line-height:1.25}.project-modal__body{flex-direction:column;gap:1.85rem;display:flex}.project-modal__section{flex-direction:column;gap:.85rem;display:flex}.project-modal__section-header{align-items:center;gap:.65rem;display:flex}.project-modal__section-icon{color:#818cf8;background:#6366f126;border:1px solid #6366f14d;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;font-size:.8rem;display:flex}.project-modal__section-title,.project-modal__section .section-heading{color:#fff;letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700}.project-modal__text{color:#f1f5f9e0;margin:0;font-size:.95rem;line-height:1.7}.project-modal__features{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.project-modal__feature-item,.project-modal .feature-item{background:#ffffff05;border:1px solid #ffffff0a;border-radius:10px;align-items:flex-start;gap:.85rem;padding:.75rem 1rem;transition:all .2s;display:flex}.project-modal__feature-item:hover,.project-modal .feature-item:hover{background:#ffffff0a;border-color:#6366f140;transform:translate(3px)}.project-modal__feature-icon,.project-modal .feature-item__icon{color:#34d399;background:#10b98126;border:1px solid #10b98159;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;margin-top:.15rem;font-size:.68rem;display:flex}.project-modal__feature-text,.project-modal .feature-item__text{color:#cbd5e1;flex:1;font-size:.92rem;line-height:1.55}.project-modal__techs{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.2rem;display:flex}.project-modal__tech-badge,.project-modal .tech-badge{background:#ffffff0a;border:1px solid #ffffff17;border-radius:10px;align-items:center;gap:.6rem;padding:.48rem .95rem;transition:all .2s;display:inline-flex}.project-modal__tech-badge:hover,.project-modal .tech-badge:hover{background:#6366f124;border-color:#6366f173;transform:translateY(-2px);box-shadow:0 6px 18px -3px #6366f14d}.project-modal__tech-badge .project-modal__tech-icon-box,.project-modal .tech-badge .project-modal__tech-icon-box{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.project-modal__tech-badge img,.project-modal__tech-badge .project-modal__tech-icon,.project-modal__tech-badge .tech-badge__icon,.project-modal .tech-badge img,.project-modal .tech-badge .project-modal__tech-icon,.project-modal .tech-badge .tech-badge__icon{object-fit:contain!important;flex-shrink:0!important;width:20px!important;max-width:20px!important;height:20px!important;max-height:20px!important;display:block!important}.project-modal__tech-badge .project-modal__tech-name,.project-modal__tech-badge .tech-badge__name,.project-modal .tech-badge .project-modal__tech-name,.project-modal .tech-badge .tech-badge__name{color:#f1f5f9;white-space:nowrap;font-size:.88rem;font-weight:600}.project-modal__footer{border-top:1px solid #ffffff0f;justify-content:flex-end;align-items:center;gap:.85rem;margin-top:.5rem;padding-top:1.25rem;display:flex}.project-modal__btn{cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.project-modal__btn--primary{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border:1px solid #ffffff26}.project-modal__btn--primary:hover{transform:translateY(-2px);box-shadow:0 4px 20px #6366f173}.project-modal__btn--ghost{color:#94a3b8;background:#ffffff0a;border:1px solid #ffffff14}.project-modal__btn--ghost:hover{color:#fff;background:#ffffff14;border-color:#ffffff26}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=768px){.project-modal__backdrop{padding:.75rem}.project-modal__content{border-radius:16px;gap:1.35rem;padding:1.5rem 1.25rem 2rem}.project-modal__title{font-size:1.4rem}.project-modal__metrics{grid-template-columns:1fr}.project-modal__footer{flex-direction:column-reverse;width:100%}.project-modal__footer .project-modal__btn{justify-content:center;width:100%}}.main__apresentation{flex-direction:column;grid-area:section-initial;justify-content:center;align-items:center;min-height:100vh;padding-top:70px;display:flex;position:relative;overflow-x:hidden}.main__apresentation:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#6366f109 1px,#0000 1px),linear-gradient(90deg,#6366f109 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 45%,#000 20%,#0000 80%);mask-image:radial-gradient(70% 60% at 50% 45%,#000 20%,#0000 80%)}.main__apresentation .apresentation__section{z-index:1;flex-direction:row;justify-content:space-between;align-items:center;gap:5rem;width:min(92%,1100px);padding:3rem 0 2rem;display:flex;position:relative}.main__apresentation .apresentation__section>.reveal-component:last-child{flex-shrink:0}@media (width<=900px){.main__apresentation .apresentation__section{flex-direction:column;gap:3rem;padding-top:2.5rem}.main__apresentation .apresentation__section>.reveal-component:last-child{width:100%}}.main__apresentation .section__my-apresentation{flex-direction:column;flex:1;gap:1.5rem;min-width:0;display:flex}.main__apresentation .section__my-apresentation .reveal-component{width:100%}@media (width<=900px){.main__apresentation .section__my-apresentation{text-align:center;align-items:center}}.main__apresentation .hero__badge{color:#10b981;letter-spacing:.02em;background:#10b98114;border:1px solid #10b98138;border-radius:100px;align-items:center;gap:.5rem;width:fit-content;padding:.35rem .875rem;font-size:.78rem;font-weight:500;display:inline-flex}.main__apresentation .hero__badge .badge__dot{background:#10b981;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{box-shadow:0 0 #10b98180}50%{box-shadow:0 0 0 5px #10b98100}}.main__apresentation .hero__greeting{color:#64748b;letter-spacing:.02em;margin-bottom:.2rem;font-family:JetBrains Mono,monospace;font-size:1.1rem;font-weight:400}.main__apresentation .my-apresentation__name{letter-spacing:-.03em;color:#f1f5f9;width:100%;font-size:clamp(2.6rem,5.5vw,4.2rem);font-weight:800;line-height:1.05}.main__apresentation .my-apresentation__role{color:#cbd5e1;letter-spacing:-.01em;width:100%;font-size:clamp(1rem,2.2vw,1.3rem);font-weight:500}.main__apresentation .my-apresentation__role .role__separator{color:#64748b;margin:0 .1rem}.main__apresentation .my-apresentation__role .role__accent{color:#818cf8;font-weight:600}.main__apresentation .my-apresentation__about{color:#cbd5e1;width:100%;max-width:500px;font-size:1rem;line-height:1.8}.main__apresentation .my-apresentation__about strong{color:#f1f5f9;font-weight:600}@media (width<=900px){.main__apresentation .my-apresentation__about{max-width:100%}}.main__apresentation .hero__cta-row{flex-wrap:wrap;gap:.875rem;width:100%;display:flex}@media (width<=900px){.main__apresentation .hero__cta-row{justify-content:center}}.main__apresentation .cta-btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;align-items:center;gap:.5rem;padding:.7rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.main__apresentation .cta-btn .btn-icon{font-size:.85em;transition:transform .25s}.main__apresentation .cta-btn .btn-icon-left{font-size:.95em}.main__apresentation .cta-btn--primary{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);box-shadow:0 4px 20px #6366f14d}.main__apresentation .cta-btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px #6366f173}.main__apresentation .cta-btn--primary:hover .btn-icon{transform:translate(4px)}.main__apresentation .cta-btn--secondary{background:var(--glass-bg);color:#f1f5f9;border:1px solid var(--glass-border)}.main__apresentation .cta-btn--secondary:hover{background:#ffffff14;border-color:#6366f14d;transform:translateY(-2px)}.main__apresentation .hero__social-row{width:100%}.main__apresentation .social-link{color:#64748b;align-items:center;gap:.5rem;font-family:JetBrains Mono,monospace;font-size:.85rem;transition:color .2s;display:inline-flex}.main__apresentation .social-link svg{font-size:1.1rem}.main__apresentation .social-link:hover{color:#f1f5f9}.main__apresentation .hero__terminal{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0a14d9;border:1px solid #ffffff14;flex-shrink:0;width:clamp(280px,38vw,420px);font-family:JetBrains Mono,monospace;overflow:hidden;box-shadow:0 24px 48px #0006,0 0 0 1px #6366f11a,inset 0 1px #ffffff0d}@media (width<=900px){.main__apresentation .hero__terminal{width:100%}}.main__apresentation .terminal__topbar{background:#ffffff0a;border-bottom:1px solid #ffffff0f;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.main__apresentation .terminal__dots{gap:6px;display:flex}.main__apresentation .terminal__dots span{border-radius:50%;width:11px;height:11px}.main__apresentation .terminal__dots .dot--red{background:#ff5f57}.main__apresentation .terminal__dots .dot--yellow{background:#febc2e}.main__apresentation .terminal__dots .dot--green{background:#28c840}.main__apresentation .terminal__title{text-align:center;color:#ffffff4d;letter-spacing:.05em;flex:1;margin-right:40px;font-size:.73rem}.main__apresentation .terminal__body{flex-direction:column;gap:.1rem;padding:1.25rem 1.5rem 1.5rem;font-size:.85rem;display:flex}.main__apresentation .t-line{color:#fff3;align-items:center;gap:.35rem;display:flex}.main__apresentation .t-line.t-gap{margin-top:.85rem}.main__apresentation .t-prompt{color:#6366f1;-webkit-user-select:none;user-select:none;font-weight:600}.main__apresentation .t-cmd{color:#cbd5e1}.main__apresentation .t-output{color:#ffffff80;padding-left:1.1rem;line-height:1.7}.main__apresentation .t-output.t-name{color:#f1f5f9;font-size:.95rem;font-weight:600}.main__apresentation .t-output.t-status{color:#10b981;align-items:center;gap:.5rem;display:flex}.main__apresentation .t-tag{color:#818cf8;background:#6366f11f;border:1px solid #6366f133;border-radius:4px;margin:.15rem .25rem .15rem 0;padding:.1rem .5rem;font-size:.78rem;font-weight:500;display:inline-block}.main__apresentation .t-dot-green{background:#10b981;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2s ease-in-out infinite pulse-dot;display:inline-block}.main__apresentation .t-cursor-line{margin-top:.85rem}.main__apresentation .t-cursor{color:#6366f1;font-weight:400;animation:1.2s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.main__apresentation .scroll-indicator{opacity:.3;z-index:1;flex-direction:column;align-items:center;gap:.5rem;padding-bottom:2.5rem;animation:2.5s ease-in-out infinite fade-bounce;display:flex}.main__apresentation .scroll-indicator .scroll-indicator__line{background:linear-gradient(#6366f1,#0000);width:1px;height:40px}.main__apresentation .scroll-indicator span{letter-spacing:.2em;text-transform:uppercase;color:#64748b;font-family:JetBrains Mono,monospace;font-size:.6rem}@media (width<=600px){.main__apresentation .scroll-indicator{display:none}}@keyframes fade-bounce{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:.5;transform:translateY(8px)}}.main__about-me{grid-area:section-about-me;width:100%;min-height:100vh;display:grid}.main__about-me .about-me__content{justify-items:center;width:40%}.main__skills{flex-direction:column;grid-area:section-skills;align-items:center;padding:6rem 0 8rem;display:flex;position:relative}.main__skills .section__content{text-align:center;flex-direction:column;align-items:center;margin-bottom:4rem;display:flex}.main__skills .section-title{color:#f1f5f9;margin-bottom:1rem;font-size:2.5rem;font-weight:700;display:inline-block;position:relative}.main__skills .section-title:after{content:"";background:#6366f1;border-radius:2px;width:40px;height:3px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.main__skills .skills__grid{flex-wrap:wrap;justify-content:center;gap:1.5rem;width:100%;max-width:1050px;margin:0 auto;padding:0 1rem;display:flex}.main__skills .skill-category{background:#111116;border:1px solid #ffffff0d;border-radius:16px;flex-direction:column;flex:300px;max-width:320px;padding:1.5rem;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex}.main__skills .skill-category:hover{border-color:#6366f133;transform:translateY(-4px);box-shadow:0 10px 30px #0006}.main__skills .skill-category__header{border-bottom:1px solid #ffffff0d;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.main__skills .skill-category__icon{color:#6366f1;flex-shrink:0;align-items:center;font-size:1.1rem;display:flex}.main__skills .skill-category__label{letter-spacing:.08em;text-transform:uppercase;color:#818cf8;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600}.main__skills .skill-category__chips{flex-wrap:wrap;gap:.75rem;display:flex}.main__skills .tech-chip{cursor:default;background:#ffffff05;border:1px solid #ffffff14;border-radius:100px;align-items:center;gap:.6rem;padding:.45rem .9rem;transition:background .3s,transform .3s,border-color .3s;display:inline-flex}.main__skills .tech-chip:hover{background:#ffffff0f;border-color:#fff3;transform:translateY(-2px)}.main__skills .tech-chip:hover .tech-chip__icon{filter:none}.main__skills .tech-chip:hover .tech-chip__name{color:#f1f5f9}.main__skills .tech-chip__icon{object-fit:contain;filter:grayscale()contrast(1.2)opacity(.7);flex-shrink:0;width:18px;height:18px;transition:filter .3s}.main__skills .tech-chip__name{color:#cbd5e1;letter-spacing:.02em;white-space:nowrap;font-size:.9rem;font-weight:500;transition:color .3s}.main__experiences{flex-direction:column;grid-area:section-experiences;align-items:center;min-height:60vh;padding:6rem 0 8rem;display:flex;position:relative}.main__projects{grid-area:section-projects;padding:5rem 0}.main__projects .section__projects{justify-content:center;width:100%;padding:0 1rem;display:flex}.main__projects .more-projects-button{background:var(--glass-bg);color:#cbd5e1;border-radius:var(--radius-md);cursor:pointer;letter-spacing:.01em;border:1px solid #6366f12e;align-items:center;gap:.5rem;margin-top:2.5rem;padding:.7rem 1.75rem;font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:500;transition:all .25s;display:inline-flex}.main__projects .more-projects-button:hover{color:#818cf8;background:#6366f11a;border-color:#6366f1;transform:translateY(-2px)}.container__main{grid-area:main;grid-template-areas:"section-initial""section-about-me""section-skills""section-experiences""section-projects";display:grid}.container__main .section .section-title{text-align:center;letter-spacing:-.03em;color:#f1f5f9;font-size:clamp(2rem,4vw,3rem);font-weight:700;display:inline-block;position:relative}.container__main .section .section-title:after{content:"";background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border-radius:2px;width:48px;height:3px;position:absolute;bottom:-12px;left:50%;transform:translate(-50%)}.container__main .section__content{justify-content:center;margin-top:0;margin-bottom:3rem;display:flex}.scroll-to-top{z-index:200;cursor:pointer;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#64748b;background:#0d0d18e6;border:1px solid #6366f12e;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:1.2rem;transition:all .25s;display:flex;position:fixed;bottom:2rem;right:1.5rem;box-shadow:0 4px 16px #0000004d}.scroll-to-top:hover{color:#818cf8;background:#6366f11f;border-color:#6366f1;transform:translateY(-3px);box-shadow:0 8px 24px #6366f140}.scroll-to-top:active{transform:scale(.95)}body{color:#f1f5f9;background-color:#0a0a0f;background-image:radial-gradient(80% 50% at 50% -10%,#6366f11a,#0000),radial-gradient(50% 40% at 90% 90%,#8b5cf60f,#0000)}.container{background-color:#0000;grid-area:main;grid-template-rows:auto 1fr auto;grid-template-areas:"header""main""footer";min-height:100dvh;display:grid}
