.section{width:100%;max-width:1080px;min-height:100vh;margin:0 auto;padding:80px 0}@media (width<=768px){.section{width:100%;max-width:100vw;margin:0;padding:40px 25px}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body,#root{min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#e5e7eb;background:linear-gradient(270deg,#050507,#0a0a12,#111827,#020617,#0f172a) 0 0/600% 600%;font-family:Space Mono,monospace;animation:20s infinite gradientMove;overflow-x:hidden}@keyframes gradientMove{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}body:before{content:"";filter:blur(100px);z-index:-1;pointer-events:none;background:radial-gradient(circle at 25% 30%,#3b82f614,#0000 40%),radial-gradient(circle at 75% 70%,#8b5cf60f,#0000 40%);position:fixed;inset:0}@media (width<=768px){body{background-size:400% 400%;font-size:14px}body:before{opacity:.8;filter:blur(60px)}}.hero{margin-bottom:80px;display:flex}.hero .avatar{flex-direction:column;align-items:center;display:flex}.hero .avatar .avatar-image{border:2px solid #374151;border-radius:50%;width:150px;height:150px}.hero .avatar .hero-circle{animation:1.5s step-end infinite blink;display:inline-block}.hero .avatar .avatar-title{color:#3b82f6;align-items:center;gap:6px;margin-top:15px;font-size:16px;display:flex}.hero .description{width:600px;margin-left:40px}.hero .description h1{margin:15px 0}.hero .description h1 .hero-title{color:#fff;font-size:38px;display:inline-block;position:relative}.hero .description h1 .hero-title:before{color:#777;content:"Ricardo Cardoso";background:0 0;animation:.3s cubic-bezier(.25,.46,.45,.94) infinite both glitch;position:absolute;top:0;left:0}.hero .description h1 .hero-title:after{content:"Ricardo Cardoso";background:0 0;animation:.3s cubic-bezier(.25,.46,.45,.94) infinite reverse both glitch;position:absolute;top:0;left:0}.hero .description h1 .cursor{color:#3b82f6;margin-left:5px;font-size:30px;animation:1.1s step-end infinite blink;display:inline-block}.hero .description p{color:#6b7280;margin-bottom:15px;font-size:18px}.hero .description span{color:#9ca3af;align-items:center;gap:6px;font-size:14px;display:flex}@keyframes glitch{0%{transform:translate(0)}25%{transform:translate(-1px,1px)}50%{transform:translate(-1px,-1px)}75%{transform:translate(1px,1px)}to{transform:translate(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media (width<=768px){.hero{text-align:center;flex-direction:column;align-items:center;gap:20px;margin-bottom:40px}.hero .avatar .avatar-image{width:120px;height:120px}.hero .description{width:100%;margin-left:0;padding:0 10px}.hero .description h1{justify-content:center;width:100%;margin:10px 0;display:flex}.hero .description h1 .hero-title{white-space:nowrap;font-size:clamp(20px,6vw,24px);display:inline-block}.hero .description h1 .hero-title:before,.hero .description h1 .hero-title:after{width:100%;font-size:inherit;left:0}.hero .description h1 .cursor{margin-left:2px;font-size:1.2rem}.hero .description p{font-size:16px}.hero .description span{justify-content:center}}.projects .projects-title{color:#fff;border-bottom:1px solid #374151;padding-bottom:10px;font-size:21px;font-weight:700;display:inline-block}.projects .projects-menus{cursor:pointer;justify-content:center;gap:10px;width:100%;margin:30px 0;display:flex}.projects .projects-menus span{color:#fff;border:1px solid #374151;border-radius:5px;padding:5px 10px;font-size:16px;font-weight:700;transition:all .3s ease-in-out}.projects .projects-menus span:hover,.projects .projects-menus span.active{color:#fff;background-color:#3b82f6}.projects .projects-list{grid-template-columns:repeat(3,1fr);align-items:start;gap:20px;display:grid}.projects .projects-buttons{cursor:pointer;justify-content:end;gap:10px;width:100%;margin:30px 0;display:flex}.projects .projects-buttons span{color:#fff;border:1px solid #374151;border-radius:5px;padding:5px 10px;font-size:16px;font-weight:700;transition:all .3s ease-in-out}.projects .projects-buttons span:hover{color:#fff;background-color:#3b82f6}@media (width<=768px){.projects .projects-title{text-align:center;font-size:18px;display:block}.projects .projects-menus{flex-wrap:wrap;gap:8px;margin:20px 0}.projects .projects-menus span{padding:8px 12px;font-size:14px}.projects .projects-list{grid-template-columns:1fr;gap:15px}.projects .projects-buttons{justify-content:center;margin-top:20px}}@media (width>=481px) and (width<=768px){.projects .projects-list{grid-template-columns:repeat(2,1fr)}}.card{background-color:#11182780;border:2px solid #374151;border-radius:10px;padding:20px;text-decoration:none;transition:all .3s ease-in-out}.card:hover{border-color:#3b82f6;transform:translateY(-5px);box-shadow:0 0 20px #3b82f633}.card:hover .card-title{color:#3b82f6;transition:color .3s}.card .card-title{color:#fff;font-size:19px;font-weight:600}.card .card-image{aspect-ratio:16/9;object-fit:cover;object-position:top;image-rendering:auto;border-radius:5px;width:100%;max-height:180px;margin-top:10px}.card p{color:#6b7280;-webkit-line-clamp:4;text-overflow:ellipsis;margin-top:10px;font-size:14px;line-height:1.5rem;overflow:hidden;-webkit-box-orient:vertical!important;display:-webkit-box!important}@media (width<=768px){.card{margin-bottom:10px;padding:15px}.card:hover{transform:none;box-shadow:0 4px 12px #3b82f61a}.card .card-title{font-size:17px}.card .card-image{max-height:200px;margin-top:15px}.card p{-webkit-line-clamp:4;text-overflow:ellipsis;font-size:13px;line-height:1.5;overflow:hidden;-webkit-box-orient:vertical!important;display:-webkit-box!important}}.contacts .contacts-title{color:#fff;border-bottom:1px solid #374151;margin:30px 0;padding-bottom:10px;font-size:21px;font-weight:700;display:inline-block}.contacts .contacts-container{flex-direction:column;gap:15px;width:fit-content;display:flex}.contacts .contacts-container a{color:#6b7280;font-size:16px;text-decoration:none;transition:color .3s}.contacts .contacts-container a:hover{color:#3b82f6}@media (width<=768px){.contacts{text-align:center}.contacts .contacts-title{margin:20px 0;font-size:18px;display:inline-block}.contacts .contacts-container{align-items:center;gap:20px}.contacts .contacts-container a{word-break:break-all;max-width:100%;font-size:14px;display:block}}.footer{color:#6b7280;text-align:center;background-color:#030712;border-top:1px solid #1f2937;padding:30px}.footer-text{font-size:14px}@media (width<=768px){.footer{margin-top:20px;padding:20px 15px}.footer-text{opacity:.8;font-size:12px;line-height:1.6}}
