:root{--primary-color: #E54D2E;--primary-color-rgb: 229, 77, 46;--secondary-color: #D1BFA4;--secondary-color-rgb: 209, 191, 164;--text-color: #21201E;--text-color-light: #6E6C68;--bg-color: #F5F3EE;--card-bg: rgba(255, 255, 255, .7);--border-color: rgba(33, 32, 30, .08);--accent-color: #BD3C20;--accent-color-rgb: 189, 60, 32;--cursor-color: #0f766e;--cursor-color-rgb: 15, 118, 110;--grid-color: rgba(33, 32, 30, .05);--grid-size: 40px;--shadow-sm: 0 2px 4px rgba(33, 32, 30, .02);--shadow: 0 4px 12px rgba(33, 32, 30, .04), 0 2px 4px rgba(33, 32, 30, .02);--shadow-md: 0 12px 24px rgba(33, 32, 30, .06), 0 6px 12px rgba(33, 32, 30, .04);--shadow-lg: 0 24px 48px rgba(33, 32, 30, .08), 0 12px 24px rgba(33, 32, 30, .06);--transition-fast: .2s;--transition-normal: .3s;--transition-slow: .5s;--sheen-duration: 2s;--sheen-timing: cubic-bezier(.4, 0, .2, 1);--radius-sm: .5rem;--radius: .75rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--radius-2xl: 2.5rem;--radius-full: 9999px}[data-theme=dark]{--primary-color: #FF6A4D;--primary-color-rgb: 255, 106, 77;--secondary-color: #A08C70;--secondary-color-rgb: 160, 140, 112;--text-color: #F5F3EE;--text-color-light: #9C9993;--bg-color: #141312;--card-bg: rgba(33, 32, 30, .6);--border-color: rgba(245, 243, 238, .08);--accent-color: #FA8D75;--accent-color-rgb: 250, 141, 117;--cursor-color: #38bdf8;--cursor-color-rgb: 56, 189, 248;--grid-color: rgba(245, 243, 238, .03)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Plus Jakarta Sans,sans-serif;line-height:1.7;color:var(--text-color);background-color:var(--bg-color);background-image:linear-gradient(to right,var(--grid-color) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-color) 1px,transparent 1px),radial-gradient(at 70% 30%,rgba(var(--primary-color-rgb),.1) 0px,transparent 40%),radial-gradient(at 30% 70%,rgba(var(--accent-color-rgb),.1) 0px,transparent 40%);background-size:var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size),100% 100%,100% 100%;background-attachment:fixed;min-height:100vh;padding-bottom:4rem;overflow-x:hidden}.main-content{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem}@media(max-width:1024px){.main-content{grid-template-columns:repeat(8,1fr);gap:1.5rem}}@media(max-width:768px){.main-content{grid-template-columns:1fr;gap:1.25rem}}.container{max-width:1200px;margin:0 auto;padding:7rem 2rem 2rem}.animated-bg,.floating-shapes,.shape{display:none}.header{background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow);padding:3rem;margin-bottom:2rem;position:relative;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease}.header:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.profile{display:flex;gap:3rem;align-items:center;position:relative;z-index:1}.profile-img-container{position:relative;flex-shrink:0}.profile-img{width:160px;height:160px;border-radius:var(--radius-full);object-fit:cover;box-shadow:var(--shadow-md);border:4px solid rgba(255,255,255,.8);filter:contrast(1.05) saturate(1.1);transition:transform var(--transition-normal)}.profile-img:hover{transform:scale(1.03)}.profile-ring{position:absolute;inset:-10px;border-radius:var(--radius-full);border:2px solid var(--primary-color);opacity:.3;animation:pulse 4s infinite}.profile-info{flex:1}.name{font-size:2.75rem;font-weight:700;margin-bottom:.75rem;line-height:1.1;letter-spacing:-2px;color:var(--text-color)}.title{font-size:1.25rem;color:var(--primary-color);font-weight:500;margin-bottom:1rem}.title-container{margin-bottom:1.5rem}.title-main{font-size:1.5rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center}.title-animation{position:relative;color:var(--primary-color)}.cursor{display:inline-block;width:2px;height:1.5em;background-color:var(--cursor-color);margin-left:4px;animation:blink 1s infinite;vertical-align:text-top}.title-sub{display:flex;flex-direction:column;gap:.75rem}.learning-badge,.interest-badge{display:inline-flex;align-items:center;padding:.4rem 1rem;border-radius:var(--radius-full);font-size:.875rem;font-weight:500;max-width:fit-content;border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-sm);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);transition:all var(--transition-normal)}.learning-badge{background:rgba(var(--secondary-color-rgb),.1);color:var(--secondary-color)}.interest-badge{background:rgba(var(--accent-color-rgb),.1);color:var(--accent-color)}.learning-badge:hover,.interest-badge:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:.75rem;margin-top:1.5rem}.contact-item{display:flex;align-items:center;gap:.5rem;color:var(--text-color-light);transition:transform var(--transition-normal),color var(--transition-normal);padding:.5rem 0}.contact-item:hover{color:var(--primary-color);transform:translate(3px)}.contact-item i{color:var(--primary-color);font-size:.9rem;width:2rem;height:2rem;border-radius:.65rem;display:inline-flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,rgba(var(--primary-color-rgb),.18),rgba(var(--accent-color-rgb),.1));border:1px solid rgba(var(--primary-color-rgb),.28);box-shadow:0 6px 16px rgba(var(--primary-color-rgb),.14);transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal),background var(--transition-normal)}.contact-item:hover i{transform:translateY(-2px) scale(1.04);border-color:rgba(var(--primary-color-rgb),.5);box-shadow:0 10px 22px rgba(var(--primary-color-rgb),.22)}.contact-item a{color:inherit;text-decoration:none;transition:color var(--transition-normal)}.contact-item a:hover{color:var(--primary-color)}.navigation{position:fixed;top:0;left:0;right:0;background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:1000;padding:.75rem 0;box-shadow:var(--shadow)}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-size:1.5rem;font-weight:700;color:var(--primary-color);letter-spacing:-1px;text-decoration:none}.nav-menu{display:flex;list-style:none;gap:2.5rem}.nav-link{color:var(--text-color);text-decoration:none;font-weight:500;position:relative;transition:color var(--transition-fast);font-size:.95rem;padding:.5rem 0}.nav-link:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--primary-color);transition:width var(--transition-normal) ease;border-radius:var(--radius-full)}.nav-link:hover{color:var(--primary-color)}.nav-link:hover:after{width:100%}.nav-link.active{color:var(--primary-color)}.nav-link.active:after{width:100%}.nav-toggle{display:none;flex-direction:column;cursor:pointer;gap:5px;background:transparent;border:none;padding:0}.nav-toggle span{width:24px;height:2px;background:var(--text-color);transition:all var(--transition-fast);border-radius:var(--radius-full)}.nav-toggle.active span:nth-child(1){transform:translateY(9px) rotate(45deg)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}[data-theme=dark] .navigation{background:var(--card-bg);border-bottom:1px solid var(--border-color)}[data-theme=dark] .nav-menu{background:var(--card-bg)}[data-theme=dark] .nav-toggle span{background:var(--text-color)}.section{background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);padding:2.5rem;box-shadow:var(--shadow);border:1px solid var(--border-color);transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s ease;position:relative;overflow:hidden;display:flex;flex-direction:column;content-visibility:auto;contain-intrinsic-size:420px}@media(min-width:1025px){#about{grid-column:span 7}#experience{grid-column:span 5}#education,#skills{grid-column:span 6}#projects{grid-column:span 12}}@media(max-width:1024px)and (min-width:769px){#about,#experience{grid-column:span 8}#education,#skills{grid-column:span 4}#projects{grid-column:span 8}}.section:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.section-title{display:flex;align-items:center;gap:.9rem;font-size:clamp(1.75rem,1.4rem + 1vw,2.35rem);font-weight:700;line-height:.95;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2rem;color:var(--text-color);position:relative;padding:.1rem 0 .85rem .85rem}.section-title:after{content:"";position:absolute;left:.85rem;bottom:0;width:min(8rem,42%);height:4px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:var(--radius-full)}.section-title:before{content:"";position:absolute;left:0;top:.15rem;width:4px;height:calc(100% - .45rem);border-radius:var(--radius-full);background:linear-gradient(to bottom,rgba(var(--primary-color-rgb),.95),rgba(var(--secondary-color-rgb),.4))}.section-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;background:linear-gradient(145deg,rgba(var(--primary-color-rgb),.16),rgba(var(--secondary-color-rgb),.12));border-radius:1rem;color:var(--primary-color);font-size:1rem;border:1px solid rgba(var(--primary-color-rgb),.2);box-shadow:inset 0 1px #fff9,0 8px 18px rgba(var(--primary-color-rgb),.16);position:relative;overflow:hidden}.section-icon:before{content:"";position:absolute;inset:4px;border-radius:.8rem;border:1px solid rgba(255,255,255,.34);pointer-events:none}.about-text{font-size:1.125rem;line-height:1.8;color:var(--text-color-light)}.experience-item{position:relative;padding-left:2rem;padding-bottom:2.5rem;margin-bottom:2.5rem;border-bottom:1px solid var(--border-color)}.experience-item:last-child{padding-bottom:0;margin-bottom:0;border-bottom:none}.experience-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--primary-color),rgba(var(--primary-color-rgb),.1));border-radius:var(--radius-full)}.experience-item:after{content:"";position:absolute;left:-6px;top:0;width:14px;height:14px;background:var(--primary-color);border:3px solid var(--bg-color);border-radius:var(--radius-full);box-shadow:var(--shadow)}.experience-header{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem;align-items:center}.job-title{font-size:1.25rem;font-weight:600;color:var(--text-color)}.company{color:var(--primary-color);font-weight:500}.duration{color:var(--text-color-light);font-size:.875rem;margin-left:auto;background:rgba(var(--primary-color-rgb),.1);padding:.25rem .75rem;border-radius:var(--radius-full)}.job-description{list-style:none}.job-description li{position:relative;padding-left:1.5rem;margin-bottom:.75rem;color:var(--text-color-light)}.job-description li:before{content:"→";position:absolute;left:0;color:var(--primary-color);font-weight:700}.education-item{padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.education-item:last-child{padding-bottom:0;margin-bottom:0;border-bottom:none}.degree{font-size:1.25rem;font-weight:600;color:var(--text-color);margin-bottom:.5rem}.school{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;color:var(--primary-color);font-weight:500}.duration{background:rgba(var(--primary-color-rgb),.1);color:var(--primary-color);padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.875rem}.gpa{display:inline-block;color:var(--text-color-light);margin-top:.5rem;font-weight:500;padding:.25rem .75rem;background:rgba(var(--secondary-color-rgb),.1);border-radius:var(--radius-full)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1.5rem}.skill-category{background:var(--bg-color);padding:1.5rem;border-radius:var(--radius-md);border:1px solid var(--border-color);transition:transform .3s ease}.skill-category:hover{transform:translateY(-2px)}.skill-category h3{font-size:1.125rem;font-weight:600;color:var(--text-color);margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:2px solid rgba(var(--primary-color-rgb),.1)}.skill-tags{display:flex;flex-wrap:wrap;gap:.75rem}.skill-tag{padding:.6rem 1.25rem;border-radius:var(--radius-full);font-weight:500;font-size:.875rem;transition:all var(--transition-normal);background:rgba(var(--primary-color-rgb),.1);color:var(--primary-color);border:1px solid rgba(var(--primary-color-rgb),.2)}.skill-tag:hover{transform:translateY(-3px);box-shadow:var(--shadow);background:rgba(var(--primary-color-rgb),.15)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.5rem}.project-card{background:var(--bg-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease;height:100%;display:flex;flex-direction:column;border:1px solid var(--border-color);position:relative;cursor:pointer}.project-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--shadow-lg);border-color:rgba(var(--primary-color-rgb),.3)}.project-card.is-pressed{transform:translateY(-1px) scale(.995)}.project-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,rgba(var(--primary-color-rgb),.05),rgba(var(--accent-color-rgb),.05));opacity:0;transition:opacity var(--transition-normal) ease;pointer-events:none;z-index:1}.project-card:hover:before{opacity:1}.project-image-container{position:relative;overflow:hidden;aspect-ratio:16/9}.project-image{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.project-click-ripple{position:absolute;width:20px;height:20px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(var(--primary-color-rgb),.45),rgba(var(--primary-color-rgb),0) 70%);transform:translate(-50%,-50%) scale(0);animation:cardRipple .6s ease-out forwards;z-index:3}@keyframes cardRipple{to{transform:translate(-50%,-50%) scale(12);opacity:0}}.project-card:hover .project-image{transform:scale(1.05)}.project-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(var(--primary-color-rgb),.92),rgba(var(--accent-color-rgb),.85));display:flex;justify-content:center;align-items:center;opacity:0;transition:all var(--transition-normal);transform:translateY(10px);backdrop-filter:blur(3px)}.project-card:hover .project-overlay{opacity:1;transform:translateY(0)}.project-info{padding:1.5rem;flex:1;display:flex;flex-direction:column;min-width:0}.project-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:.75rem}.project-title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin-bottom:.25rem;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}.project-status,.project-repo-status{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.project-status.completed{background:#10b9811a;color:#059669}.project-repo-status.public{background:#3b82f61a;color:#2563eb}.project-repo-status.private{background:#f43f5e1a;color:#e11d48}.project-description{color:var(--text-color-light);margin-bottom:1.5rem;flex:1;line-height:1.7;word-wrap:break-word;overflow-wrap:break-word}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tech-tag{background:rgba(var(--accent-color-rgb),.1);color:var(--accent-color);padding:.3rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:500;transition:all var(--transition-normal);border:1px solid transparent;position:relative;z-index:1;overflow:hidden}.tech-tag:before{content:"";position:absolute;left:-2px;top:-2px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color),var(--secondary-color),var(--primary-color));background-size:400%;width:calc(100% + 4px);height:calc(100% + 4px);z-index:-1;animation:glowing 20s linear infinite;opacity:0;transition:opacity .3s;border-radius:var(--radius-full)}@keyframes glowing{0%{background-position:0 0}50%{background-position:400% 0}to{background-position:0 0}}.tech-tag:hover{background:transparent;color:var(--text-color);border-color:transparent;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.tech-tag:hover:before{opacity:1}.project-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;transform:translateY(10px);opacity:0;transition:all var(--transition-normal) .1s}.project-card:hover .project-links{transform:translateY(0);opacity:1}.project-link{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-weight:500;padding:.5rem 1.25rem;border-radius:var(--radius-full);background:#fff3;backdrop-filter:blur(5px);transition:all var(--transition-normal);border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}.project-link:after{content:"";position:absolute;inset:-50%;background:linear-gradient(to bottom,#fff0,#ffffff4d,#fff0);transform:rotate(60deg) translate(-5em,7.5em);animation:sheen var(--sheen-duration) var(--sheen-timing) infinite;pointer-events:none}.project-link:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 5px 15px #0003}@keyframes sheen{to{transform:rotate(60deg) translate(1em,-9em)}}.project-icon-container{display:flex;justify-content:center;align-items:center;height:100%;background:var(--bg-color);padding:2.5rem;border-radius:8px 8px 0 0;position:relative;overflow:hidden;transition:all var(--transition-normal) ease;border-bottom:1px solid var(--border-color)}.project-icon{font-size:3rem;color:var(--text-color);opacity:.9;transition:all var(--transition-normal) ease;z-index:1}.project-card:hover .project-icon{transform:translateY(-4px);color:var(--primary-color);opacity:1}.project-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:.5rem}.project-status-container{display:flex;flex-wrap:wrap;gap:.5rem}.project-status,.project-repo-status{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:1rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.project-status:before,.project-repo-status:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem}.project-status.completed{background-color:#22c55e26;color:#15803d;border:1px solid rgba(34,197,94,.3)}.project-status.completed:before{background-color:#16a34a;box-shadow:0 0 0 2px #16a34a33}.project-status.in-development{background-color:#eab30826;color:#854d0e;border:1px solid rgba(234,179,8,.3)}.project-status.in-development:before{background-color:#eab308;box-shadow:0 0 0 2px #eab30833}.project-status.archived{background-color:#64748b26;color:#475569;border:1px solid rgba(100,116,139,.3)}.project-status.archived:before{background-color:#64748b;box-shadow:0 0 0 2px #64748b33}.project-status.planned{background-color:#4f46e526;color:#4338ca;border:1px solid rgba(79,70,229,.3)}.project-status.planned:before{background-color:#4f46e5;box-shadow:0 0 0 2px #4f46e533}.project-repo-status.public{background-color:#4f46e526;color:#4338ca;border:1px solid rgba(79,70,229,.3)}.project-repo-status.public:before{background-color:#4f46e5;box-shadow:0 0 0 2px #4f46e533}.project-repo-status.private{background-color:#ef444426;color:#b91c1c;border:1px solid rgba(239,68,68,.3)}.project-repo-status.private:before{background-color:#ef4444;box-shadow:0 0 0 2px #ef444433}@media screen and (max-width:480px){.project-header{flex-direction:column}.project-status-container{margin-top:.5rem}}@media(hover:none){.project-overlay{opacity:1;background:linear-gradient(to top,#000000b3,#0000);transform:translateY(0);align-items:flex-end;padding-bottom:1rem;backdrop-filter:none}.project-links,.preview-gallery-btn{opacity:1;transform:translateY(0)}}@media screen and (max-width:992px){.profile{flex-direction:column;text-align:center;gap:2rem}.profile-info{display:flex;flex-direction:column;align-items:center}.section-title:after{left:50%;transform:translate(-50%)}.section-title:before{left:50%;transform:translate(-50%)}.contact{justify-content:center}.title-sub{align-items:center}.section-title{justify-content:center;padding-left:0}}@media screen and (max-width:768px){.container{padding:5rem 1rem 1rem}.header{padding:2rem}.projects-grid{grid-template-columns:1fr}.project-filters{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:.4rem;scrollbar-width:thin}.filter-btn{white-space:nowrap;flex-shrink:0}.skills-grid{grid-template-columns:1fr}.nav-menu{position:fixed;top:4rem;left:0;right:0;background:var(--card-bg);flex-direction:column;padding:1rem 2rem;gap:1rem;border-bottom:1px solid var(--border-color);box-shadow:var(--shadow);transform:translateY(-100%);opacity:0;pointer-events:none;transition:all var(--transition-normal);align-items:center}.nav-menu.active{transform:translateY(0);opacity:1;pointer-events:all}.nav-toggle{display:flex}.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.experience-header{flex-direction:column;align-items:flex-start}.duration{margin-left:0}}@media screen and (max-width:480px){.header{padding:1.5rem}.name{font-size:2rem}.section{padding:1.5rem}.profile-img{width:120px;height:120px}.project-header{flex-direction:column}.project-image-container{aspect-ratio:3/2}.section-icon,.contact-item i,.theme-toggle-btn{width:1.85rem;height:1.85rem}.project-title{font-size:1.1rem}.project-description{font-size:.95rem}}.preloader{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-color);display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .5s ease}.preloader-content{display:flex;flex-direction:column;align-items:center;justify-content:center}.scroll-to-top{position:fixed;bottom:2rem;right:2rem;background:var(--card-bg);color:var(--primary-color);width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transition:all .3s ease;backdrop-filter:blur(10px);box-shadow:var(--shadow);border:1px solid var(--border-color);z-index:999}.scroll-to-top.active{opacity:1;visibility:visible}.scroll-to-top:hover{transform:translateY(-5px);background:var(--primary-color);color:#fff}.section-hidden{opacity:0;transform:translateY(30px);transition:none}.section-visible{opacity:1;transform:translateY(0);transition:opacity .6s ease,transform .6s ease}.section-visible .skill-category,.section-visible .project-card,.section-visible .experience-item,.section-visible .education-item{opacity:0;animation:fadeInUp .6s ease forwards}.section-visible .skill-category:nth-child(1),.section-visible .project-card:nth-child(1),.section-visible .experience-item:nth-child(1),.section-visible .education-item:nth-child(1){animation-delay:.1s}.section-visible .skill-category:nth-child(2),.section-visible .project-card:nth-child(2),.section-visible .experience-item:nth-child(2),.section-visible .education-item:nth-child(2){animation-delay:.3s}.section-visible .skill-category:nth-child(3),.section-visible .project-card:nth-child(3),.section-visible .experience-item:nth-child(3),.section-visible .education-item:nth-child(3){animation-delay:.5s}.section-visible .skill-category:nth-child(4),.section-visible .project-card:nth-child(4),.section-visible .experience-item:nth-child(4),.section-visible .education-item:nth-child(4){animation-delay:.7s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.05);opacity:.6}}@keyframes sheen{0%{transform:translate(-100%) rotate(25deg);opacity:0}50%{opacity:.3}to{transform:translate(200%) rotate(25deg);opacity:0}}@keyframes gradient-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.theme-toggle{position:fixed;bottom:2rem;right:2rem;width:3rem;height:3rem;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border:none;color:#fff;font-size:1.2rem;cursor:pointer;display:flex;justify-content:center;align-items:center;box-shadow:var(--shadow-lg);transition:all .3s ease;z-index:1000;outline:none}.theme-toggle i{color:#fff;font-size:1.1rem;transition:transform .3s ease}.theme-toggle:hover{transform:translateY(-3px);box-shadow:0 15px 25px #0000001a}.theme-toggle:hover i{transform:rotate(30deg)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.profile-kump{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.cv-download{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;text-decoration:none;padding:.5rem 1.25rem;border-radius:var(--radius-full);font-weight:500;font-size:.875rem;display:inline-flex;align-items:center;gap:.5rem;transition:all var(--transition-normal);border:none;box-shadow:0 4px 15px rgba(var(--primary-color-rgb),.3);position:relative;overflow:hidden}.cv-download:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,#fff0,#ffffff4d,#fff0);transform:skew(-25deg);transition:all .75s}.cv-download:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.4);background:linear-gradient(135deg,var(--accent-color),var(--primary-color));color:#fff}.cv-download:hover:before{left:100%}.cv-download:active{transform:translateY(0)}.cv-download:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;margin-left:.5rem}.download-success{background:linear-gradient(135deg,#10b981,#059669)!important;box-shadow:0 4px 15px #10b98166!important;animation:pulse 1s ease}.download-success:after{content:""!important}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media(max-width:768px){.profile-kump{flex-direction:column;align-items:flex-start;gap:.75rem}.name{font-size:1.75rem;line-height:1.2}.cv-download{align-self:flex-start}.section-title{font-size:clamp(1.5rem,1.2rem + 1.1vw,1.9rem);letter-spacing:.05em}.section-title:before{display:none}.section-title:after{width:5.5rem}.project-info{padding:1.25rem}}@media(max-width:480px){.profile-kump{width:100%}.cv-download{padding:.4rem 1rem;font-size:.8rem}}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;z-index:9999;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.modal.active{display:flex;align-items:center;justify-content:center;animation:modalFadeIn .3s ease-out}.modal-content{position:relative;max-width:90vw;max-height:90vh;background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--border-color)}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--card-bg)}.modal-title{font-size:1.5rem;font-weight:600;color:var(--text-color)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-color-light);cursor:pointer;width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close:hover{background:rgba(var(--primary-color-rgb),.1);color:var(--primary-color);transform:rotate(90deg)}.carousel-container{position:relative;width:100%;height:70vh;min-height:400px;max-height:600px;background:var(--bg-color)}.carousel-wrapper{position:relative;width:100%;height:100%;overflow:hidden}.carousel-track{display:flex;height:100%;transition:transform .3s ease-in-out}.carousel-slide{min-width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-color)}.carousel-slide img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius);box-shadow:var(--shadow)}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#fff;border:none;width:50px;height:50px;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:all var(--transition-fast);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.carousel-nav:hover{background:rgba(var(--primary-color-rgb),.8);transform:translateY(-50%) scale(1.1)}.carousel-prev{left:1rem}.carousel-next{right:1rem}.carousel-indicators{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem}.carousel-indicator{width:10px;height:10px;border-radius:var(--radius-full);background:#ffffff80;cursor:pointer;transition:all var(--transition-fast);border:none}.carousel-indicator.active{background:var(--primary-color);transform:scale(1.2)}.carousel-indicator:hover{background:rgba(var(--primary-color-rgb),.8)}.preview-gallery-btn{position:absolute;top:.75rem;right:.75rem;background:#000000b3;color:#fff;border:none;padding:.5rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;display:flex;align-items:center;gap:.5rem;opacity:0;transform:translateY(-10px);transition:all var(--transition-normal);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:2}.project-card:hover .preview-gallery-btn{opacity:1;transform:translateY(0)}.preview-gallery-btn:hover{background:rgba(var(--primary-color-rgb),.8);transform:translateY(-2px)}.preview-gallery-btn i{font-size:1rem}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(max-width:768px){.modal-content{max-width:95vw;max-height:95vh}.carousel-container{height:60vh;min-height:300px}.carousel-nav{width:40px;height:40px;font-size:1rem}.carousel-prev{left:.5rem}.carousel-next{right:.5rem}.modal-header{padding:1rem}.modal-title{font-size:1.25rem}}.theme-toggle-btn{background:linear-gradient(145deg,rgba(var(--primary-color-rgb),.18),rgba(var(--accent-color-rgb),.12));border:1px solid rgba(var(--primary-color-rgb),.3);color:var(--text-color);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:.8rem;cursor:pointer;transition:transform .3s ease,background .3s ease,color .3s ease;box-shadow:0 8px 18px rgba(var(--primary-color-rgb),.12)}.theme-toggle-btn:hover{transform:scale(1.1) rotate(15deg);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;border-color:rgba(var(--primary-color-rgb),.65)}h1,h2,h3,h4,h5,h6,.nav-logo{font-family:Fraunces,serif;letter-spacing:-.01em}.name{font-family:Fraunces,serif;font-variation-settings:"opsz" 72}.title-main,.modal-title,.project-title,.job-title,.degree,.skill-category h3,.category-heading{font-family:Fraunces,serif}.title-main,.section-title,.modal-title,.category-heading,.project-title,.job-title,.degree,.skill-category h3{font-weight:600}.title-main{font-size:clamp(1.35rem,1rem + 1vw,1.85rem);letter-spacing:.02em}.project-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2.5rem;justify-content:center}.filter-btn{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-color);padding:.6rem 1.5rem;border-radius:var(--radius-full);font-family:Outfit,sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.filter-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.filter-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 15px -3px #6366f166}.project-item{transition:all .4s ease}.project-item.hide{display:none}:where(a,button,[role=button],input,textarea,select):focus-visible{outline:3px solid rgba(var(--primary-color-rgb),.55);outline-offset:3px;border-radius:.5rem}body.cursor-enhanced,body.cursor-enhanced a,body.cursor-enhanced button,body.cursor-enhanced .project-card,body.cursor-enhanced .filter-btn{cursor:none}.custom-cursor-dot,.custom-cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:20000;opacity:0;transition:opacity .2s ease}.custom-cursor-dot{width:8px;height:8px;border-radius:50%;background:var(--cursor-color);box-shadow:0 0 12px rgba(var(--cursor-color-rgb),.4);transform:translate(-50%,-50%)}.custom-cursor-ring{width:44px;height:44px;border-radius:.8rem;border:1px solid rgba(var(--cursor-color-rgb),.55);background:rgba(var(--cursor-color-rgb),.08);backdrop-filter:blur(4px);transform:translate(-50%,-50%);transition:width .2s ease,height .2s ease,background .2s ease,border-color .2s ease;display:flex;align-items:center;justify-content:center}.custom-cursor-label{color:var(--cursor-color);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:opacity .2s ease;user-select:none}body.cursor-enhanced.cursor-active .custom-cursor-dot,body.cursor-enhanced.cursor-active .custom-cursor-ring{opacity:1}body.cursor-enhanced.cursor-hover .custom-cursor-ring{width:66px;height:66px;background:rgba(var(--cursor-color-rgb),.16);border-color:rgba(var(--cursor-color-rgb),.75)}body.cursor-enhanced.cursor-hover .custom-cursor-label{opacity:1}@media(pointer:coarse),(prefers-reduced-motion:reduce){body,body a,body button,body .project-card,body .filter-btn{cursor:auto!important}.custom-cursor-dot,.custom-cursor-ring{display:none!important}}
