*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-dark: #121010;--bg-card: #1c1917;--bg-card-hover: #231f1c;--accent: #c8956c;--accent-light: #dbb99a;--accent-dim: #8b6844;--text: #e8e0d8;--text-muted: #9a8e82;--text-dim: #6b6058;--border: #2e2924;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Playfair Display", Georgia, serif;--featured-bg: linear-gradient(135deg, rgba(200, 149, 108, .06) 0%, transparent 60%), var(--bg-card);--featured-bg-edu: linear-gradient(135deg, rgba(108, 160, 200, .06) 0%, transparent 60%), var(--bg-card)}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:var(--font-body);background-color:var(--bg-dark);color:var(--text);line-height:1.7;overflow-x:hidden}a{color:var(--accent);text-decoration:none;transition:color .3s}a:hover{color:var(--accent-light)}img{max-width:100%;display:block}#navbar{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:64px;background:#121010d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .4s,background .4s}#navbar.scrolled{border-bottom-color:var(--border);background:#121010f2}.nav-logo{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--accent)!important;letter-spacing:.02em}.nav-links{display:flex;gap:2rem}.nav-link{color:var(--text-muted)!important;font-size:.875rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase;position:relative;padding:.25rem 0;transition:color .3s}.nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent);transition:width .3s ease}.nav-link:hover,.nav-link.active{color:var(--text)!important}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--text);transition:transform .3s,opacity .3s}#hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6rem 2rem 4rem;position:relative;background:radial-gradient(ellipse 60% 50% at 50% 40%,rgba(200,149,108,.06) 0%,transparent 70%),var(--bg-dark)}.hero-content{max-width:680px}.hero-image-wrapper{width:200px;height:200px;margin:0 auto 2.5rem;border-radius:50%;overflow:hidden;border:3px solid var(--accent-dim);box-shadow:0 0 40px #c8956c26;transition:box-shadow .5s}.hero-image-wrapper:hover{box-shadow:0 0 60px #c8956c40}.hero-image{width:100%;height:100%;object-fit:cover}.hero-title{margin-bottom:1rem}.hero-greeting{display:block;font-family:var(--font-body);font-size:1rem;font-weight:400;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem}.hero-name{display:block;font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4rem);font-weight:700;color:var(--text);line-height:1.1}.hero-subtitle{font-size:1.05rem;color:var(--accent);font-weight:500;margin-bottom:1.5rem;letter-spacing:.02em}.hero-description{color:var(--text-muted);font-size:1.05rem;max-width:500px;margin:0 auto 2.5rem;line-height:1.8}.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem}.btn{display:inline-flex;align-items:center;padding:.75rem 1.75rem;border-radius:6px;font-size:.9rem;font-weight:600;letter-spacing:.02em;transition:all .3s ease;cursor:pointer;border:none}.btn-primary{background:var(--accent);color:var(--bg-dark)}.btn-primary:hover{background:var(--accent-light);color:var(--bg-dark);transform:translateY(-2px);box-shadow:0 8px 24px #c8956c40}.btn-outline{background:transparent;color:var(--accent);border:1.5px solid var(--accent-dim)}.btn-outline:hover{border-color:var(--accent);color:var(--accent-light);transform:translateY(-2px)}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,var(--accent-dim),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(.7)}50%{opacity:1;transform:scaleY(1)}}section{padding:6rem 2rem;max-width:1100px;margin:0 auto}.section-header{text-align:center;margin-bottom:3.5rem}.section-header h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.5rem);font-weight:600;margin-bottom:1rem}.section-line{width:48px;height:3px;background:var(--accent);margin:0 auto;border-radius:2px}.about-grid{display:grid;grid-template-columns:1fr .7fr;gap:3rem;align-items:center}.about-text{color:var(--text-muted);margin-bottom:1.5rem;font-size:1.02rem}.about-interests-title{font-family:var(--font-display);font-size:1.25rem;margin-bottom:1rem}.interest-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{padding:.4rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:100px;font-size:.85rem;color:var(--text-muted);transition:all .3s}.tag:hover{border-color:var(--accent-dim);color:var(--accent)}.about-image-wrapper{border-radius:12px;overflow:hidden;border:1px solid var(--border)}.about-image-wrapper img{width:100%;height:auto;object-fit:contain;transition:transform .6s ease}.about-image-wrapper:hover img{transform:scale(1.03)}#skills{position:relative}#skills:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:100vw;height:100%;background:var(--bg-card);z-index:-1}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.skill-category{background:var(--bg-dark);border:1px solid var(--border);border-radius:12px;padding:1.75rem;transition:border-color .3s,transform .3s}.skill-category:hover{border-color:var(--accent-dim);transform:translateY(-4px)}.skills-section-label{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.skills-section-label h3{font-family:var(--font-display);font-size:1.3rem;color:var(--text)}.skills-label-icon{font-size:1.2rem;color:var(--accent)}.skills-divider{width:100%;height:1px;background:var(--border);margin:2.5rem 0}.skill-category h4{font-family:var(--font-display);font-size:1.05rem;margin-bottom:1rem;color:var(--accent)}.skill-category.soft{border-color:#6ca0c833}.skill-category.soft:hover{border-color:#6ca0c866}.skill-category.soft h4{color:#6ca0c8}.skill-tag.soft{border-color:#6ca0c833;color:#8bb8d8}.skill-tag.soft:hover{border-color:#6ca0c866;color:#a8cce4;background:#6ca0c814}.skill-detail{margin-top:.75rem;font-size:.85rem;color:var(--text-dim);line-height:1.6}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;font-size:.82rem;color:var(--text-muted);transition:all .3s}.skill-tag:hover{border-color:var(--accent-dim);color:var(--text);background:var(--bg-card-hover)}.skill-tag img{width:18px;height:18px;object-fit:contain;border-radius:3px}.skill-tag img[src*="astro.svg"],.skill-tag img[src*="androidstudio.svg"],.skill-tag img[src*="gradle.svg"],.skill-tag img[src*="maven.svg"],.skill-tag img[src*="reactnative.svg"],.skill-tag img[src*="expo.svg"],.skill-tag img[src*="xml.svg"],.card-tags span img[src*="astro.svg"],.card-tags span img[src*="maven.svg"],.card-tags span img[src*="xml.svg"]{filter:brightness(0) invert(1)}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:2rem;transition:border-color .3s,transform .3s}.project-card:hover{border-color:var(--accent-dim);transform:translateY(-4px)}.featured-badge{display:inline-block;padding:.25rem .75rem;background:#c8956c26;border:1px solid var(--accent-dim);border-radius:100px;font-size:.72rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem}.projects-container{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.projects-container>.project-card:first-child{grid-column:1 / -1;position:relative;padding:2.5rem;border-color:var(--accent-dim);background:var(--featured-bg)}.projects-container>.project-card:first-child .card-header h3{font-size:1.6rem}#projects .section-header{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.sort-controls{display:flex;gap:.4rem;margin-left:auto}.sort-btn{padding:.25rem .75rem;border-radius:100px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.75rem;font-weight:500;cursor:pointer;transition:border-color .2s,color .2s,background .2s;font-family:var(--font-body)}.sort-btn:hover{border-color:var(--accent-dim);color:var(--text)}.sort-btn.active{border-color:var(--accent-dim);background:#c8956c1f;color:var(--accent)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.card-date{font-size:.75rem;color:var(--text-muted);font-weight:500;white-space:nowrap;margin-left:.75rem}.card-header h3{font-family:var(--font-display);font-size:1.25rem;font-weight:600}.card-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}.card-tags span{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .7rem;background:#c8956c1a;border:1px solid rgba(200,149,108,.2);border-radius:4px;font-size:.78rem;color:var(--accent);font-weight:500}.card-tags span img{width:16px;height:16px;object-fit:contain;border-radius:2px}.project-card p{color:var(--text-muted);font-size:.92rem;margin-bottom:1rem;line-height:1.7}.card-collaborators{font-size:.85rem;color:var(--text-dim)}.card-action{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.6rem 1.4rem;background:#c8956c1f;border:1.5px solid var(--accent-dim);border-radius:8px;color:var(--accent);font-size:.88rem;font-weight:600;letter-spacing:.02em;transition:all .3s ease}.card-action:hover{background:var(--accent);border-color:var(--accent);color:var(--bg-dark);transform:translateY(-2px);box-shadow:0 6px 20px #c8956c40}.card-action .card-action-arrow{transition:transform .3s}.card-action:hover .card-action-arrow{transform:translate(3px)}.timeline{position:relative;padding-left:3rem}.timeline:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--accent-dim),var(--border),transparent)}.timeline-item{position:relative;margin-bottom:2.5rem}.timeline-item:last-child{margin-bottom:0}.timeline-marker{position:absolute;left:-3rem;top:.5rem;width:16px;height:16px;border-radius:50%;background:var(--bg-dark);border:2px solid var(--accent-dim);transition:all .3s;z-index:1}.timeline-marker.edu{border-color:#6ca0c880}.timeline-item:hover .timeline-marker,.timeline-item.featured .timeline-marker{border-color:var(--accent);box-shadow:0 0 12px #c8956c4d}.timeline-item:hover .timeline-marker.edu,.timeline-item.featured .timeline-marker.edu{border-color:#6ca0c8;box-shadow:0 0 12px #6ca0c84d}#education .timeline:before{background:linear-gradient(to bottom,rgba(108,160,200,.5),var(--border),transparent)}.timeline-content{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem 2rem;transition:border-color .3s,transform .3s}.timeline-item:hover .timeline-content{border-color:var(--accent-dim);transform:translate(4px)}.timeline-badge{display:inline-block;padding:.2rem .7rem;border-radius:4px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.timeline-badge.work{background:#c8956c26;color:var(--accent)}.timeline-badge.edu{background:#6ca0c826;color:#6ca0c8}.timeline-badge.current{background:#4caf5026;color:#66bb6a;border:1px solid rgba(76,175,80,.3)}.timeline-item.featured .timeline-content{border-color:var(--accent-dim);background:var(--featured-bg)}#education .timeline-item.featured .timeline-content{border-color:#6ca0c866;background:var(--featured-bg-edu)}.timeline-content h3{font-family:var(--font-display);font-size:1.15rem;margin-bottom:.3rem}.timeline-date{font-size:.85rem;color:var(--text-dim);display:block;margin-bottom:.75rem}.timeline-content .card-tags{margin-bottom:.75rem}.timeline-content p{color:var(--text-muted);font-size:.92rem}#contact{text-align:center}.contact-grid{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.contact-card{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 2.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;transition:all .3s;color:var(--text-muted)!important;min-width:180px}.contact-card:hover{border-color:var(--accent-dim);transform:translateY(-4px);color:var(--text)!important;box-shadow:0 12px 32px #0000004d}.contact-card img{width:40px;height:40px;object-fit:contain;opacity:.8;transition:opacity .3s}.contact-card img[src$=".svg"]{filter:brightness(0) invert(1)}.contact-card:hover img{opacity:1}.contact-card span{font-size:.9rem;font-weight:500}footer{text-align:center;padding:2rem;border-top:1px solid var(--border)}footer p{color:var(--text-dim);font-size:.82rem}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal:nth-child(2){transition-delay:.1s}.reveal:nth-child(3){transition-delay:.2s}.reveal:nth-child(4){transition-delay:.3s}#hero .reveal:nth-child(1){transition-delay:0s}#hero .reveal:nth-child(2){transition-delay:.15s}#hero .reveal:nth-child(3){transition-delay:.3s}#hero .reveal:nth-child(4){transition-delay:.45s}#hero .reveal:nth-child(5){transition-delay:.6s}@media(max-width:768px){.nav-links{position:fixed;top:64px;left:0;right:0;background:#121010f7;backdrop-filter:blur(12px);flex-direction:column;align-items:center;padding:2rem 0;gap:1.5rem;transform:translateY(-120%);transition:transform .4s ease;border-bottom:1px solid var(--border)}.nav-links.open{transform:translateY(0)}.nav-toggle{display:flex}.nav-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.about-grid{grid-template-columns:1fr}section{padding:4rem 1.25rem}.projects-container{grid-template-columns:1fr}.projects-container>.project-card:first-child{padding:1.75rem}.project-card{padding:1.75rem}.timeline{padding-left:2.5rem}.timeline-marker{left:-2.5rem}.contact-card{padding:1.5rem 2rem}.skills-grid{grid-template-columns:1fr}}@media(max-width:480px){.hero-cta{flex-direction:column;align-items:center}.btn{width:100%;justify-content:center;max-width:260px}.contact-grid{flex-direction:column;align-items:center}}
