@keyframes waveRise{0%{opacity:0;top:20px}to{opacity:1;top:0}}:root{--bg-base:#fff8f0;--text-base:#332d2d;--card-bg:#fff;--accent-color:#ff9248;--glass-surface:#ffffff59;--glass-border:#ffffff4d;--cookie-radius:28px}.gallery-section{max-width:100%;margin-bottom:4rem;padding:0}.section-title{text-align:center;color:var(--accent-orange);margin-bottom:2rem;font-size:2rem}*{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--bg-base);min-height:100vh;transition:background-color .3s}html,body{background-color:var(--bg-base);color:var(--text-base);min-height:100vh;transition:background-color .3s,color .3s}body{color:var(--text-base);background-color:#0000;min-height:100vh;padding-top:1.5rem;font-family:Rubik,sans-serif;overflow-x:hidden}#particles-js{z-index:0;pointer-events:none;opacity:.6;width:100%;height:100%;position:fixed;top:0;left:0}.hero-container,.gallery-section,.projects-section,footer{z-index:1;position:relative}.hero-container{z-index:2;justify-content:space-between;align-items:center;gap:4rem;width:90%;max-width:1200px;margin:auto;padding:4rem 2rem;display:flex}.hero-content{flex:1}.bouncy-name{color:var(--text-base);flex-wrap:wrap;margin-bottom:1rem;font-size:3.5rem;font-weight:800;line-height:1.1;display:flex}.bouncy-letter{opacity:0;animation:.8s cubic-bezier(.25,.46,.45,.94) forwards waveRise;display:inline-block;position:relative;top:20px}.bouncy-letter.loaded{transition:transform .25s cubic-bezier(.175,.885,.32,1.275),color .2s;animation:none;opacity:1!important;top:0!important}.bouncy-letter.up{transform:translateY(-14px)scale(1.12);color:var(--accent-color)!important}.subtitle{color:var(--accent-orange);margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.intro-text{opacity:.8;max-width:500px;margin-bottom:2.5rem;font-size:1.1rem;line-height:1.6}.skills-bar{gap:1.5rem;margin-bottom:3rem;display:flex}.skill-icon-wrapper{width:60px;height:60px;box-shadow:var(--soft-shadow);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:1.8rem;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative}.skill-icon-wrapper:hover{transform:scale(1.15)rotate(5deg);box-shadow:0 15px 35px #ff924840}.html{color:#e34f26}.css{color:#1572b6}.js{color:#f7df1e}.photo{color:var(--accent-orange)}.skill-icon-wrapper:after{content:attr(data-tooltip);background-color:var(--text-dark);color:var(--bg-cream);white-space:nowrap;opacity:0;pointer-events:none;border-radius:15px;padding:.5rem 1rem;font-size:.9rem;transition:all .3s;position:absolute;bottom:-40px;left:50%;transform:translate(-50%)scale(0)}.skill-icon-wrapper:hover:after{opacity:1;bottom:-50px;transform:translate(-50%)scale(1)}.cta-button{background-color:var(--accent-orange);color:#fff;border-radius:var(--cookie-radius);box-shadow:var(--soft-shadow);padding:1rem 2.5rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.cta-button,.contact-pill{background-color:var(--accent-color)!important}.cta-button:hover{background-color:#ff8431;transform:translateY(-5px);box-shadow:0 15px 30px #ff92484d}.hero-image-container{border-radius:var(--cookie-radius);max-width:500px;height:600px;box-shadow:var(--soft-shadow);perspective:1000px;flex:1;overflow:hidden}.hero-img{object-fit:cover;border-radius:var(--cookie-radius);width:100%;height:100%;transition:transform .1s ease-out;transform:rotateY(-5deg)rotateX(5deg)}.navbar{z-index:100;background:var(--glass-surface);-webkit-backdrop-filter:blur(24px)saturate(200%);border:1px solid var(--glass-border);border-radius:50px;justify-content:space-between;align-items:center;width:90%;max-width:1200px;margin:0 auto;padding:.9rem 2rem;display:flex;position:relative;box-shadow:inset 0 1px 1px #fff6,inset 0 -1px 1px #00000014,0 12px 32px #0000001f}.logo{color:var(--text-base);letter-spacing:-.5px;font-size:1.2rem;font-weight:800}.dot{color:var(--accent-color)}.nav-links{align-items:center;gap:1.5rem;display:flex}.nav-item{color:var(--text-base);font-size:.95rem;font-weight:600;text-decoration:none;transition:color .2s}.nav-item:hover{color:var(--accent-color)}.contact-pill{background-color:var(--accent-orange);border-radius:30px;padding:.5rem 1.2rem;transition:transform .2s,box-shadow .2s;color:#fff!important}.contact-pill:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff924866}@media (width<=600px){.nav-item:not(.contact-pill){display:none}}footer{text-align:center;color:var(--text-dark);opacity:.8;border-top:1px solid #0000000d;margin-top:4rem;padding:4rem 2rem}.footer-stack{margin-top:.5rem;font-family:monospace;font-size:.9rem}.footer-stack span{color:var(--accent-orange)}@media (width<=900px){.hero-container{text-align:center;flex-direction:column-reverse;padding-top:2rem}.bouncy-name{justify-content:center;font-size:3rem}.skills-bar{justify-content:center}.hero-image-container{width:100%;height:400px}}.projects-section{max-width:1000px;margin:4rem auto 6rem;padding:0 2rem}.section-title{text-align:center;color:var(--text-dark);margin-bottom:3rem;font-size:2.5rem;font-weight:800}.section-title,.subtitle,.dot{color:var(--accent-color)}.project-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem;display:grid}.project-card{border-radius:var(--cookie-radius);background:var(--card-bg);height:100%;color:var(--text-base);border:1px solid var(--glass-border);flex-direction:column;padding:2.5rem;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;position:relative;box-shadow:0 10px 30px #0000000f}.project-card:hover{border-color:var(--accent-color);box-shadow:0 18px 38px -10px color-mix(in srgb, var(--accent-color) 25%, transparent), 0 0 0 1px color-mix(in srgb, var(--accent-color) 35%, transparent);transform:translateY(-6px)}.project-title{color:var(--text-base);margin-bottom:.5rem;font-size:1.5rem;font-weight:800}.project-desc{color:#666;flex-grow:1;margin-bottom:1.5rem;font-size:1rem;line-height:1.6}.tech-stack{flex-wrap:wrap;gap:.5rem;margin-top:auto;display:flex}.tech-tag{background:var(--bg-cream);color:var(--text-dark);border:1px solid #0000000d;border-radius:20px;padding:.4rem 1rem;font-size:.85rem;font-weight:600}.status-pill{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:.3rem .8rem;font-size:.7rem;font-weight:800;position:absolute;top:2rem;right:2rem}.status-private{color:#888;background:#f3f3f3}.status-public{color:#07c;background:#e6f7ff}.project-link{color:var(--accent-color);margin-top:1.5rem;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-block}.project-link:hover{text-decoration:underline}
