:root{--primary-color: #007bff;--primary-dark: #003366;--accent-color: #f0a500;--bg-dark: #0d0d0d;--bg-secondary: #1a1a1a;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--border-color: #2a2a2a;--shadow-lg: 0 4px 15px rgba(0, 0, 0, .2);--shadow-hover: 0 12px 30px rgba(0, 123, 255, .4);--transition: all .4s ease-out}body{background-color:var(--bg-dark);color:var(--text-primary);font-family:Roboto,sans-serif;line-height:1.6;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 15px;position:relative;z-index:1}.row{display:flex;flex-wrap:wrap;margin:-15px}.col-lg-4,.col-lg-8,.col-md-6,.col-sm-6,.col-6,.col-md-3{flex:1;padding:15px}.col-lg-4{flex-basis:33.333%;max-width:33.333%}.col-lg-8{flex-basis:66.667%;max-width:66.667%}.col-md-6,.col-sm-6,.col-6{flex-basis:50%;max-width:50%}.col-md-3{flex-basis:25%;max-width:25%}@media (max-width: 768px){.col-lg-4,.col-lg-8,.col-md-6,.col-sm-6,.col-6{flex-basis:100%;max-width:100%}.col-md-3{flex-basis:50%;max-width:50%}}.about-hero{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-color) 100%);color:var(--text-primary);padding:5rem 0;position:relative;overflow:hidden;z-index:0}#particle-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:.5}.about-hero:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="%23ffffff" fill-opacity="0.05" d="M0,96L48,112C96,128,192,160,288,160C384,160,480,128,576,112C672,96,768,96,864,112C960,128,1056,160,1152,160C1248,160,1344,128,1392,112L1440,96L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>');background-size:cover;animation:wave 15s linear infinite;will-change:transform;opacity:.1}@keyframes wave{0%{transform:translate(0)}to{transform:translate(-1440px)}}.page-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;margin-bottom:1.5rem;color:var(--text-primary);text-shadow:0 0 10px rgba(0,123,255,.3)}.page-subtitle{font-size:1.2rem;margin-bottom:2.5rem;color:var(--text-secondary);max-width:650px;text-shadow:0 0 5px rgba(0,0,0,.3)}.profile-section{padding:5rem 0;background:var(--bg-secondary);position:relative}.profile-img{border-radius:50%;border:4px solid var(--primary-color);transition:var(--transition)}.profile-name{font-size:2rem;font-weight:700;color:var(--text-primary);margin-top:1.5rem}.profile-title{font-size:1.25rem;color:var(--text-secondary);margin-bottom:1.5rem}.btn-outline-custom{border-color:var(--primary-color);color:var(--primary-color);background:transparent;padding:.75rem 1.5rem;border-radius:20px;transition:var(--transition)}.btn-outline-custom:hover{background-color:var(--primary-color);color:var(--text-primary)}.about-content{padding:2rem;background:var(--bg-dark);border-radius:15px;border:2px solid var(--border-color)}.about-greeting{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem}.about-text{color:var(--text-secondary);margin-bottom:1.5rem}.info-list{list-style:none;padding:0}.info-list li{color:var(--text-primary);margin-bottom:1rem}.skills-section{padding:5rem 0;background:var(--bg-dark);position:relative}.section-title{font-size:3rem;font-weight:800;margin-bottom:3rem;color:var(--text-primary);text-align:center;text-shadow:0 0 10px rgba(0,123,255,.2)}.skill-category{padding:2rem;border:2px solid var(--border-color);background:var(--bg-secondary);border-radius:15px;transition:var(--transition)}.skill-category:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}.skill-category-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem}.skill-item{margin-bottom:1.5rem}.skill-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.skill-name{color:var(--text-primary)}.skill-percentage{color:var(--text-secondary)}.skill-bar{height:10px;background-color:var(--border-color);border-radius:5px;overflow:hidden}.skill-progress{height:100%;background-color:var(--primary-color);transition:width 1s ease-in-out}.interests-section{padding:5rem 0;background:var(--bg-secondary);position:relative}.interest-item{padding:1.5rem;border:2px solid var(--border-color);background:var(--bg-dark);border-radius:15px;transition:var(--transition)}.interest-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}.interest-icon{font-size:2.5rem;color:var(--primary-color);margin-bottom:1rem;transition:var(--transition)}.interest-icon:hover{color:var(--accent-color)}.interest-name{font-size:1.25rem;color:var(--text-primary)}.education-section{padding:5rem 0;background:var(--bg-dark);position:relative}.timeline{position:relative;padding-left:2rem}.timeline-item{margin-bottom:3rem;position:relative}.timeline-marker{position:absolute;left:-2rem;top:0;width:1rem;height:1rem;background-color:var(--primary-color);border:2px solid var(--bg-secondary);border-radius:50%;z-index:1}.timeline-content{padding:1.5rem;border:2px solid var(--border-color);background:var(--bg-secondary);border-radius:15px;transition:var(--transition);position:relative}.timeline-content:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}.timeline-header{margin-bottom:1rem}.timeline-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.timeline-period{font-size:1rem;color:var(--text-secondary);display:block}.timeline-institution{font-size:1.25rem;color:var(--accent-color);margin-bottom:1rem}.timeline-description{color:var(--text-secondary)}@media (max-width: 768px){.page-title{font-size:clamp(1.8rem,5vw,2.5rem)}.page-subtitle{font-size:clamp(1rem,3vw,1.2rem)}.section-title{font-size:2.5rem}.profile-section .row{flex-direction:column-reverse}.profile-img{margin-bottom:2rem}.about-content{padding:1.5rem}.timeline-item{margin-left:0;padding-left:0}.timeline-marker{left:0}.timeline-content{margin-left:1.5rem}}.fade-in-initial{opacity:0}.fade-in{animation:fadeIn .8s cubic-bezier(.4,0,.2,1) forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}section{opacity:0;transform:translateY(30px) scale(.95);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}section.visible{opacity:1;transform:translateY(0) scale(1)}
