@import"https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Josefin+Sans:wght@300;400;600;700&display=swap";.welcome-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.welcome-content{max-width:900px;background:#fff;border-radius:20px;padding:60px 40px;box-shadow:0 20px 60px #0000004d;animation:fadeInUp .6s ease-out}.welcome-header{text-align:center;margin-bottom:40px}.welcome-header h1{font-size:3rem;color:var(--secondary-color);margin-bottom:10px;font-weight:700}.welcome-header .subtitle{font-size:1.5rem;color:var(--primary-color);font-weight:300}.welcome-description{text-align:center;margin-bottom:50px;color:var(--light-text);font-size:1.1rem;line-height:1.8}.welcome-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-bottom:40px}.nav-card{background:var(--bg-light);border-radius:12px;padding:30px;transition:transform .3s ease,box-shadow .3s ease;border:2px solid transparent}.nav-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000001a;border-color:var(--primary-color)}.nav-card.placeholder{opacity:.6}.nav-card h2{font-size:1.5rem;margin-bottom:15px;color:var(--secondary-color)}.nav-card p{color:var(--light-text);margin-bottom:20px;line-height:1.6}.nav-link{display:inline-block;padding:12px 24px;background:var(--primary-color);color:#fff;border-radius:6px;font-weight:600;transition:background .3s ease}.nav-link:hover{background:#e03e3b;opacity:1}.nav-card.secondary{opacity:.75;font-size:.95rem}.nav-card.secondary h2{font-size:1.25rem}.welcome-footer{text-align:center;padding-top:30px;border-top:1px solid #e0e0e0;color:var(--light-text);font-size:.9rem}.footer-links{margin-top:8px;display:flex;justify-content:center;gap:16px}.footer-links a{color:var(--light-text);text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:var(--primary-color)}@media(max-width:768px){.welcome-content{padding:40px 30px}.welcome-header h1{font-size:2rem}.welcome-header .subtitle{font-size:1.2rem}.welcome-nav{grid-template-columns:1fr}}.about-container{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:40px 20px}.about-content{max-width:760px;width:100%;background:#fff;border-radius:20px;padding:50px 50px 40px;box-shadow:0 20px 60px #0000004d;animation:fadeInUp .6s ease-out}.about-nav{margin-bottom:30px}.about-nav .back-link{color:var(--light-text);font-weight:600;text-decoration:none;transition:color .2s ease}.about-nav .back-link:hover{color:var(--primary-color)}.about-header{margin-bottom:40px;border-bottom:1px solid #e0e0e0;padding-bottom:24px}.about-header h1{font-size:2.75rem;color:var(--secondary-color);font-weight:700;margin-bottom:6px}.about-header .about-title{font-size:1.35rem;color:var(--primary-color);font-weight:300}.about-header .about-location{margin-top:6px;font-size:.95rem;color:var(--light-text)}.about-section{margin-bottom:36px}.about-section h2{font-size:1.4rem;color:var(--secondary-color);margin-bottom:16px}.about-section p{color:var(--text-color);line-height:1.8;margin-bottom:14px}.about-lead{font-size:1.2rem;color:var(--secondary-color)!important}.expertise-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}.expertise-item{background:var(--bg-light);color:var(--secondary-color);border-radius:20px;padding:8px 16px;font-size:.95rem;font-weight:600}.about-timeline{list-style:none;padding:0;margin:0}.timeline-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:10px 0;border-bottom:1px solid #eee}.timeline-item:last-child{border-bottom:none}.timeline-role{font-weight:700;color:var(--secondary-color)}.timeline-org{color:var(--text-color)}.timeline-period{margin-left:auto;color:var(--light-text);font-size:.9rem;white-space:nowrap}.about-links{list-style:none;padding:0;margin:0}.about-links li{margin-bottom:14px;line-height:1.6}.about-links a{color:var(--primary-color);font-weight:600;text-decoration:none}.about-links a:hover{text-decoration:underline}.about-links span{color:var(--light-text);display:block;font-size:.95rem}.about-footer{margin-top:40px;padding-top:28px;border-top:1px solid #e0e0e0;text-align:center}.about-social{display:flex;justify-content:center;gap:20px;margin-bottom:14px}.about-social a{color:var(--light-text);font-weight:600;text-decoration:none;transition:color .2s ease}.about-social a:hover{color:var(--primary-color)}.about-copyright{color:var(--light-text);font-size:.9rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.about-content{padding:36px 26px 30px}.about-header h1{font-size:2.1rem}.about-header .about-title{font-size:1.15rem}.about-lead{font-size:1.1rem}}.bio-container{min-height:100vh}.archive-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;background:#2b2b2b;color:#f0f0f0;padding:12px 20px;text-align:center;font-size:.95rem}.archive-banner p{margin:0;line-height:1.5}.archive-badge{background:var(--primary-color);color:#fff;font-weight:700;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase;padding:4px 10px;border-radius:12px;white-space:nowrap}.archive-banner a{color:#fff;font-weight:600;text-decoration:underline}.archive-banner a:hover{color:var(--primary-color)}.bio-nav{position:sticky;top:0;left:0;right:0;background:#fffffffa;padding:15px 30px;box-shadow:0 2px 10px #0000001a;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-container{max-width:var(--container-max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center}.back-link{color:var(--primary-color);font-weight:600;transition:transform .3s ease;display:inline-block}.back-link:hover{transform:translate(-5px)}.bio-nav-links{display:flex;gap:20px}.bio-nav-links button{background:none;border:none;color:var(--text-color);font-size:1rem;font-weight:500;cursor:pointer;padding:8px 12px;transition:color .3s ease;font-family:var(--font-primary)}.bio-nav-links button:hover,.bio-nav-links button.active{color:var(--primary-color)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(#00000080,#00000080),url(/code_simple_blur.jpg) center/cover no-repeat fixed;color:#fff;text-align:center;position:relative}.hero-content h1{font-size:4.5rem;margin-bottom:20px;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5);letter-spacing:2px}.hero-content .tagline{font-size:2rem;font-weight:300;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.bio-container .section{padding:100px 20px;scroll-margin-top:60px}.bio-container .section:nth-of-type(2n){background:var(--bg-light)}.section-title{font-size:2.5rem;text-align:center;margin-bottom:50px;color:var(--secondary-color);position:relative;padding-bottom:20px}.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:3px;background:var(--primary-color)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:900px;margin:0 auto}.about-col p{line-height:1.8;color:var(--light-text);font-size:1.05rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;max-width:1200px;margin:0 auto}.project-container{position:relative;overflow:hidden;border-radius:8px;box-shadow:0 4px 15px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.project-container:hover{transform:translateY(-10px);box-shadow:0 10px 30px #0003}.project-box{display:block;position:relative;overflow:hidden}.project-image{width:100%;height:auto;display:block;transition:transform .3s ease}.project-container:hover .project-image{transform:scale(1.05)}.project-box-caption{position:absolute;top:0;left:0;right:0;bottom:0;background:#fa4542f2;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;color:#fff;padding:20px}.project-container:hover .project-box-caption{opacity:1}.project-box-caption-content{text-align:center}.project-name{font-size:1.5rem;font-weight:600;margin-bottom:10px}.project-detail{font-size:1rem;line-height:1.5}.experience-content{max-width:900px;margin:0 auto;text-align:center}.experience-content h3{font-size:1.5rem;margin:30px 0 15px;color:var(--secondary-color)}.clients-list,.skills-list{line-height:1.8;color:var(--light-text);font-size:1.05rem;margin-bottom:30px}.resume-section{margin-top:50px}.resume-section p{margin-bottom:15px;color:var(--light-text)}.btn{background:none;border:2px solid var(--primary-color);color:var(--primary-color);padding:12px 40px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border-radius:4px;font-family:var(--font-heading);letter-spacing:1px}.btn:hover{background:var(--primary-color);color:#fff}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;max-width:1200px;margin:0 auto}.testimonial{text-align:center;padding:30px 20px;background:#fff;border-radius:8px;box-shadow:0 4px 15px #0000001a;transition:transform .3s ease}.testimonial:hover{transform:translateY(-5px)}.testimonial-image{width:100px;height:100px;border-radius:50%;margin:0 auto 20px;display:block;border:3px solid var(--primary-color)}.testimonial h3{font-size:1.3rem;margin-bottom:5px;color:var(--secondary-color)}.testimonial h4{font-size:.95rem;color:var(--light-text);font-weight:400;margin-bottom:20px}.testimonial-quote{font-style:italic;line-height:1.6;color:var(--light-text);font-size:.95rem}.contact-content{max-width:600px;margin:0 auto;text-align:center}.profile-image-wrapper{margin-bottom:40px}.profile-image{width:200px;height:200px;border-radius:50%;border:5px solid var(--primary-color);display:block;margin:0 auto}.social-links{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}.social-icon{display:inline-block;width:60px;height:60px;border-radius:50%;border:2px solid var(--secondary-color);display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:all .3s ease;color:var(--secondary-color)}.social-links a:hover .social-icon{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:scale(1.1)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal-content{background:#fff;border-radius:8px;width:100%;max-width:900px;max-height:90vh;position:relative;box-shadow:0 10px 50px #0000004d}.modal-close{position:absolute;top:10px;right:15px;background:none;border:none;font-size:2rem;cursor:pointer;color:var(--secondary-color);z-index:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.modal-close:hover{color:var(--primary-color)}.modal-body{padding:20px;max-height:calc(90vh - 40px);overflow:auto}.resume-iframe{width:100%;height:600px;border:none;border-radius:4px}.bio-footer{background:var(--secondary-color);color:#fff;text-align:center;padding:30px 20px}@media(max-width:768px){.bio-nav{padding:15px 20px}.nav-container{flex-direction:column;gap:15px}.bio-nav-links{flex-wrap:wrap;justify-content:center;gap:10px}.bio-nav-links button{font-size:.9rem;padding:6px 10px}.hero-content h1{font-size:2.5rem}.hero-content .tagline{font-size:1.3rem}.section-title{font-size:2rem}.about-content{grid-template-columns:1fr;gap:20px}.projects-grid,.testimonials-grid{grid-template-columns:1fr}.social-links{gap:20px}.resume-iframe{height:400px}}@media(max-width:480px){.bio-container .section{padding:60px 15px}.hero-content h1{font-size:2rem}.hero-content .tagline{font-size:1.1rem}}.app{min-height:100vh;display:flex;flex-direction:column}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.2rem;color:var(--light-text)}.error{display:flex;justify-content:center;align-items:center;min-height:100vh;flex-direction:column;padding:20px;text-align:center}.error h2{color:var(--primary-color);margin-bottom:1rem}.error p{color:var(--light-text);margin-bottom:1.5rem}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #fa4542;--secondary-color: #333;--text-color: #333;--light-text: #777;--bg-color: #fff;--bg-light: #f8f8f8;--font-primary: "Lato", sans-serif;--font-heading: "Josefin Sans", sans-serif;--section-padding: 80px 20px;--container-max-width: 1170px}body{font-family:var(--font-primary);font-size:16px;line-height:1.6;color:var(--text-color);background-color:var(--bg-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2}a{text-decoration:none;color:var(--primary-color);transition:opacity .3s ease}a:hover{opacity:.8}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 20px}.section{padding:var(--section-padding)}html{scroll-behavior:smooth}
