*{box-sizing:border-box;margin:0;padding:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{background-color:#FFFFFF;overscroll-behavior-y:none}.dark-mode:root{background-color:#181817}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#F9FAFB;border-left:1px solid rgba(0,0,0,0.05)}::-webkit-scrollbar-thumb{background:#3B82F6;border-radius:6px;border:3px solid #F9FAFB}::-webkit-scrollbar-thumb:hover{background:#2563EB}.dark-mode ::-webkit-scrollbar-track{background:#1A1A19;border-left:1px solid rgba(255,255,255,0.05)}.dark-mode ::-webkit-scrollbar-thumb{background:#4A5568;border:3px solid #1A1A19}.dark-mode ::-webkit-scrollbar-thumb:hover{background:#3B82F6}@supports (-webkit-touch-callout: none){html,body{position:relative;width:100%;height:100%;overflow-x:hidden}body{position:fixed;width:100%;height:100%;overflow-y:scroll;-webkit-overflow-scrolling:touch}}html{font-size:16px;scroll-behavior:smooth;background-color:#FFFFFF;overscroll-behavior-y:none;-webkit-overflow-scrolling:auto}.dark-mode html{background-color:#181817}body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,sans-serif;font-size:16px;line-height:1.6;color:#1A202C;background-color:#FFFFFF;font-weight:400;letter-spacing:-0.011em;overscroll-behavior-y:none}body.dark-mode{color:#ECECEC;background-color:#181817}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}h1,h2,h3,h4,h5,h6{font-family:"Urbanist",sans-serif;line-height:1.2;font-weight:400;margin-top:2.5rem;margin-bottom:1rem;letter-spacing:normal;color:#0F172A}.dark-mode h1,.dark-mode h2,.dark-mode h3,.dark-mode h4,.dark-mode h5,.dark-mode h6{color:#ECECEC}h1{font-size:3.5rem;font-weight:400;letter-spacing:normal;line-height:1.2}@media (max-width: 768px){h1{font-size:2.75rem}}@media (max-width: 576px){h1{font-size:2.25rem}}h2{font-size:2.25rem;font-weight:400;letter-spacing:normal}@media (max-width: 768px){h2{font-size:1.875rem}}@media (max-width: 576px){h2{font-size:1.5rem}}h3{font-size:1.75rem;font-weight:400;letter-spacing:normal}@media (max-width: 768px){h3{font-size:1.5rem}}@media (max-width: 576px){h3{font-size:1.25rem}}h4{font-size:1.25rem;font-weight:400;letter-spacing:normal}h5{font-size:1.125rem;font-weight:400}h6{font-size:1rem;font-weight:400;letter-spacing:normal}p{margin-bottom:1.5rem;max-width:70ch;font-size:1rem;line-height:1.65;color:#4A5568}.dark-mode p{color:#979897}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}.section-title{font-size:2rem;font-weight:400;font-family:"Urbanist",sans-serif;letter-spacing:normal;margin-bottom:2rem;position:relative;color:#0F172A}@media (max-width: 768px){.section-title{font-size:1.75rem}}a{color:#3B82F6;text-decoration:none;transition:color 0.2s ease;font-weight:400;font-family:"Urbanist",sans-serif}a:hover{color:#2563EB}.light-mode a{color:#3B82F6}.light-mode a:hover{color:#1D4ED8}.btn,.button{display:inline-block;padding:0.75rem 1.5rem;border-radius:0.5rem;font-weight:400;font-family:"Urbanist",sans-serif;text-decoration:none;text-align:center;transition:all 0.2s ease;font-size:0.95rem;cursor:pointer;line-height:1.2;letter-spacing:normal}.btn:hover,.button:hover{transform:translateY(-2px)}.btn-primary,.button-primary{background:#3B82F6;color:white}.btn-primary:hover,.button-primary:hover{background:#2563EB;box-shadow:0 4px 12px rgba(37,99,235,0.25)}.btn-secondary,.button-secondary{background-color:rgba(255,255,255,0.1);color:white;border:1px solid rgba(255,255,255,0.2)}.btn-secondary:hover,.button-secondary:hover{background-color:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.3)}.light-mode .btn-secondary,.light-mode .button-secondary{background-color:rgba(0,0,0,0.05);color:#1A202C;border-color:rgba(0,0,0,0.1)}.light-mode .btn-secondary:hover,.light-mode .button-secondary:hover{background-color:rgba(0,0,0,0.08);border-color:rgba(0,0,0,0.2)}.btn-outline,.button-outline{background-color:transparent;color:#3B82F6;border:1px solid #3B82F6}.btn-outline:hover,.button-outline:hover{background-color:rgba(59,130,246,0.1)}:focus{outline:2px solid #3B82F6;outline-offset:2px}.skip-link{position:absolute;top:-40px;left:0;background:#3B82F6;color:white;padding:8px;z-index:100}.skip-link:focus{top:0}img{max-width:100%;height:auto}ul,ol{margin-bottom:1.5rem;padding-left:1.5rem}ul li,ol li{margin-bottom:0.5rem;line-height:1.6;color:rgba(255,255,255,0.9)}.light-mode ul li,.light-mode ol li{color:#4A5568}blockquote{border-left:4px solid #3B82F6;padding:1rem 0 1rem 1.5rem;margin-left:0;margin-bottom:1.5rem;font-style:italic;color:rgba(255,255,255,0.8)}blockquote p{margin-bottom:0}.light-mode blockquote{color:#4A5568}code{font-family:'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;background-color:rgba(255,255,255,0.1);padding:0.2em 0.4em;border-radius:0.25rem;font-size:0.9em}.light-mode code{background-color:rgba(0,0,0,0.05)}pre{background-color:rgba(255,255,255,0.05);padding:1rem;border-radius:0.5rem;overflow-x:auto;margin-bottom:1.5rem}pre code{background-color:transparent;padding:0;border-radius:0}.light-mode pre{background-color:rgba(0,0,0,0.05)}.container{max-width:1200px;margin:0 auto;padding:0 1rem}@media (min-width: 992px){.container{padding:0 1.5rem}}.site-header{background-color:#FFFFFF;padding:2rem 0;position:relative}.site-header .header-content{position:relative;z-index:2}.dark-mode .site-header{background-color:#181817}header.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background-color:#FFFFFF;transition:background-color 0.3s ease, box-shadow 0.3s ease;height:4rem}.dark-mode header.site-header{background-color:#181817}header.site-header.scrolled{box-shadow:0 2px 4px rgba(0,0,0,0.1)}header.site-header .container{max-width:1200px;margin:0 auto;padding:0 2rem;height:100%;display:flex;align-items:center;justify-content:space-between}header.site-header .header-left{display:flex;align-items:center;gap:0.5rem}header.site-header .logo{font-family:'Urbanist', sans-serif;font-size:1.125rem;font-weight:400;color:#0F172A;text-decoration:none;text-transform:uppercase;transition:opacity 0.3s ease;opacity:1}.dark-mode header.site-header .logo{color:#ECECEC}header.site-header .logo.hidden{opacity:0}header.site-header .dynamic-name{font-family:'Urbanist', sans-serif;font-size:1.125rem;font-weight:400;color:#0F172A;text-transform:uppercase;transition:opacity 0.3s ease;opacity:0}.dark-mode header.site-header .dynamic-name{color:#ECECEC}header.site-header .dynamic-name.visible{opacity:1}header.site-header nav ul{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0;align-items:center}header.site-header nav ul li a{color:#334155;text-decoration:none;transition:color 0.3s ease;font-size:1.125rem;font-weight:400}header.site-header nav ul li a:hover{color:#2563EB}header.site-header nav ul li a.active{color:#2563EB}.dark-mode header.site-header nav ul li a{color:#ECECEC}.dark-mode header.site-header nav ul li a:hover,.dark-mode header.site-header nav ul li a.active{color:#60A5FA}header.site-header nav ul li .theme-toggle{background:none;border:none;padding:0;cursor:pointer;color:#334155;transition:color 0.3s ease;display:flex;align-items:center}header.site-header nav ul li .theme-toggle:hover{color:#2563EB}.dark-mode header.site-header nav ul li .theme-toggle{color:#ECECEC}.dark-mode header.site-header nav ul li .theme-toggle:hover{color:#60A5FA}header.site-header nav ul li .theme-toggle svg{width:18px;height:18px}.hero{position:relative;height:100vh;background-color:#FFFFFF;display:flex;align-items:center;overflow:hidden;padding:0;margin:0;box-sizing:border-box}.dark-mode .hero{background-color:#181817}@media (max-width: 768px){.hero{height:100vh}}.hero .container{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:4rem 3rem 0}@media (max-width: 768px){.hero .container{padding:4rem 1.5rem 0}}.hero .hero-content{max-width:700px;margin-left:0}@media (max-width: 768px){.hero .hero-content{max-width:100%}}.hero .hero-name{position:relative}.hero .hero-name .name-wrapper{display:block;position:relative}.hero .hero-name .first-name,.hero .hero-name .last-name{display:block;font-size:72px;line-height:1.2;letter-spacing:normal;font-weight:400;font-family:'Urbanist', sans-serif;color:#0F172A;text-transform:uppercase}.dark-mode .hero .hero-name .first-name,.dark-mode .hero .hero-name .last-name{color:#ECECEC}@media (max-width: 768px){.hero .hero-name .first-name,.hero .hero-name .last-name{font-size:56px}}@media (max-width: 480px){.hero .hero-name .first-name,.hero .hero-name .last-name{font-size:42px}}.hero .hero-name .first-name{margin-bottom:0}.hero .hero-name .last-name{transform:translateX(0);margin-left:0;padding-left:0}.hero .tagline-wrapper{width:100%;padding-left:0}.hero .tagline{display:block;margin:1.5rem 0 2rem;font-size:14px;font-family:'Urbanist', sans-serif;font-weight:500;letter-spacing:0.13em;line-height:1.2;color:rgba(51,65,85,0.91);text-transform:uppercase;width:max-content}.dark-mode .hero .tagline{color:#979897}@media (max-width: 768px){.hero .tagline{margin:1rem 0 1.5rem;font-size:12px}}.hero .hero-contact{margin-bottom:2.5rem}.hero .hero-contact .website,.hero .hero-contact .email{display:block;margin-bottom:0.5rem;font-size:1rem;font-weight:400;color:#334155;letter-spacing:0.01em}.dark-mode .hero .hero-contact .website,.dark-mode .hero .hero-contact .email{color:#979897}.hero .hero-contact .website a,.hero .hero-contact .email a{color:#2563EB;text-decoration:none;transition:color 0.2s ease}.hero .hero-contact .website a:hover,.hero .hero-contact .email a:hover{color:#1D4ED8;text-decoration:underline}.dark-mode .hero .hero-contact .website a,.dark-mode .hero .hero-contact .email a{color:#60A5FA}.dark-mode .hero .hero-contact .website a:hover,.dark-mode .hero .hero-contact .email a:hover{color:#93C5FD}.hero .hero-contact .website{font-weight:500}.hero-bg{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;opacity:0.02}.data-viz{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;opacity:0.3}.data-viz svg{width:100%;height:100%}main{min-height:calc(100vh - 200px)}.main-content{padding:3rem 0}section{padding:5rem 0;background-color:#FFFFFF}.dark-mode section{background-color:#181817}section.bg-light{background-color:#F9FAFB}.dark-mode section.bg-light{background-color:#1A1A19}section .section-header{text-align:center;margin-bottom:3.5rem}section .section-header h2{margin-bottom:1.25rem;font-size:2.25rem;font-weight:700;letter-spacing:-0.025em;color:#0F172A;line-height:1.2}.dark-mode section .section-header h2{color:#ECECEC}@media (max-width: 768px){section .section-header h2{font-size:1.875rem}}section .section-header p{max-width:600px;margin:0 auto;font-size:1.125rem;color:#334155;line-height:1.65}.dark-mode section .section-header p{color:#979897}.section-title{font-size:2.25rem;font-weight:400;font-family:"Urbanist",sans-serif;margin-bottom:2.5rem;letter-spacing:normal;line-height:1.2;color:#0F172A;position:relative}.dark-mode .section-title{color:#ECECEC}@media (max-width: 768px){.section-title{font-size:1.875rem;margin-bottom:2rem}}@media (max-width: 576px){.section-title{font-size:1.5rem;margin-bottom:1.5rem}}.content{font-size:1.125rem;line-height:1.7;color:#334155}.dark-mode .content{color:#979897}.content p{margin-bottom:1.5rem}.content a{color:#2563EB;text-decoration:none;transition:color 0.2s ease}.content a:hover{color:#1D4ED8;text-decoration:underline}.dark-mode .content a{color:#60A5FA}.dark-mode .content a:hover{color:#93C5FD}.grid{display:grid;gap:2rem}.grid.grid-2{grid-template-columns:repeat(2, 1fr)}@media (max-width: 768px){.grid.grid-2{grid-template-columns:1fr}}.grid.grid-3{grid-template-columns:repeat(3, 1fr)}@media (max-width: 992px){.grid.grid-3{grid-template-columns:repeat(2, 1fr)}}@media (max-width: 768px){.grid.grid-3{grid-template-columns:1fr}}.card,.project-card{background:#FFFFFF;border-radius:12px;padding:1.5rem;border:1px solid rgba(0,0,0,0.05);box-shadow:0 4px 15px rgba(0,0,0,0.05);transition:transform 0.3s ease, box-shadow 0.3s ease}.dark-mode .card,.dark-mode .project-card{background:rgba(30,30,30,0.5);border:1px solid rgba(255,255,255,0.05);box-shadow:0 4px 15px rgba(0,0,0,0.25)}.card:hover,.project-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,0.08);border-color:rgba(59,130,246,0.2)}.dark-mode .card:hover,.dark-mode .project-card:hover{box-shadow:0 8px 25px rgba(0,0,0,0.3)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:1.5rem}.project-card{overflow:hidden;display:flex;flex-direction:column;border-radius:0.75rem;transition:transform 0.2s ease, box-shadow 0.2s ease}.project-card .project-image{height:200px;overflow:hidden;margin:-1.5rem;margin-bottom:1.5rem}.project-card .project-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease}.project-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,0.1)}.project-card:hover .project-image img{transform:scale(1.05)}.project-card .project-content{flex-grow:1;display:flex;flex-direction:column;padding:1.5rem}.project-card .project-title{font-size:1.25rem;margin-bottom:0.75rem;font-weight:600;letter-spacing:-0.015em;line-height:1.3;color:#1A202C}.dark-mode .project-card .project-title{color:#ECECEC}.project-card .project-description{margin-bottom:1.5rem;color:#4A5568;font-size:1rem;line-height:1.6}.dark-mode .project-card .project-description{color:#979897}.project-card .project-technologies{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.5rem}.project-card .project-technologies .tech-tag{font-size:0.75rem;background-color:rgba(0,0,0,0.05);color:#4A5568;padding:0.25rem 0.5rem;border-radius:0.25rem;font-weight:500}.dark-mode .project-card .project-technologies .tech-tag{background-color:rgba(255,255,255,0.1);color:#979897}.project-card .project-links{margin-top:auto;display:flex;gap:1rem}.project-card .project-links a{font-size:0.875rem;font-weight:500;color:#3B82F6;transition:color 0.2s ease}.project-card .project-links a:hover{color:#2563EB}.light-mode .project-card .project-links a{color:#3B82F6}.light-mode .project-card .project-links a:hover{color:#2563EB}.articles-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.5rem}@media (max-width: 1100px){.articles-grid{grid-template-columns:repeat(2, 1fr)}}@media (max-width: 767px){.articles-grid{grid-template-columns:1fr}}.contact-form{margin:1.5rem 0}.contact-form .form-group{margin-bottom:1rem}.contact-form label{display:block;margin-bottom:.25rem}.contact-form input,.contact-form textarea{width:100%;padding:.5rem;border:1px solid rgba(255,255,255,0.1);border-radius:4px;background-color:rgba(255,255,255,0.03);color:#fff;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,sans-serif}.light-mode .contact-form input,.light-mode .contact-form textarea{border-color:rgba(15,23,42,0.1);background-color:white;color:#1A202C}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#3B82F6}.contact-form textarea{resize:vertical;min-height:120px}.social-links{margin-top:1.5rem}.social-links a{margin-right:1rem;font-weight:500}.social-links a:last-child{margin-right:0}footer{background-color:#F9FAFB;padding:3rem 0;color:#4A5568}.dark-mode footer{background-color:#1A1A19;color:#979897}footer .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem}@media (max-width: 768px){footer .container{flex-direction:column;align-items:flex-start}}footer .footer-left{max-width:400px}footer .footer-logo{font-size:1.5rem;font-weight:700;color:#0F172A;margin-bottom:1rem;text-transform:uppercase;letter-spacing:1px}.dark-mode footer .footer-logo{color:#ECECEC}footer .footer-tagline{margin-bottom:1.5rem;opacity:0.8}footer .social-links{display:flex;gap:1rem}footer .social-links a{color:#0F172A;opacity:0.7;transition:opacity 0.3s ease}.dark-mode footer .social-links a{color:#ECECEC}footer .social-links a:hover{opacity:1}footer .footer-nav{display:flex;gap:3rem}@media (max-width: 768px){footer .footer-nav{flex-direction:column;gap:1.5rem}}footer .footer-nav .nav-section h4{color:#0F172A;margin-bottom:1rem;font-size:1rem}.dark-mode footer .footer-nav .nav-section h4{color:#ECECEC}footer .footer-nav .nav-section ul{list-style:none;padding:0;margin:0}footer .footer-nav .nav-section ul li{margin-bottom:0.5rem}footer .footer-nav .nav-section ul li a{color:#4A5568;text-decoration:none;transition:color 0.3s ease}.dark-mode footer .footer-nav .nav-section ul li a{color:#979897}footer .footer-nav .nav-section ul li a:hover{color:#2563EB}footer .copyright{width:100%;text-align:center;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,0.1);font-size:0.85rem;color:#4A5568}.dark-mode footer .copyright{border-top-color:rgba(255,255,255,0.1);color:#979897}.insights-section{padding:5rem 0;background-color:#F9FAFB}.dark-mode .insights-section{background-color:#1A1A19}.insights-section .articles-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:2rem;margin-bottom:3rem}@media (max-width: 768px){.insights-section .articles-grid{grid-template-columns:1fr}}.insights-section .insight-card{display:flex;flex-direction:column;height:100%}.insights-section .insight-card .card-meta{display:flex;justify-content:space-between;margin-bottom:0.75rem;font-size:0.875rem;color:#4A5568}.dark-mode .insights-section .insight-card .card-meta{color:#979897}.insights-section .insight-card .post-title{font-size:1.5rem;margin-bottom:1rem;line-height:1.3}.insights-section .insight-card .post-title a{color:#0F172A;text-decoration:none;transition:color 0.3s ease}.dark-mode .insights-section .insight-card .post-title a{color:#ECECEC}.insights-section .insight-card .post-title a:hover{color:#3B82F6}.insights-section .insight-card .post-excerpt{margin-bottom:1.5rem;flex-grow:1}.insights-section .insight-card .read-more{align-self:flex-start;color:#3B82F6;text-decoration:none;font-weight:500;transition:color 0.3s ease;display:inline-flex;align-items:center}.insights-section .insight-card .read-more:hover{color:#6ca1f8}.insights-section .insight-card .read-more:after{content:"→";margin-left:0.5rem;transition:transform 0.3s ease}.insights-section .insight-card .read-more:hover:after{transform:translateX(3px)}.insights-section .view-all-insights{text-align:center;margin-top:3rem}.about-section{background-color:#FFFFFF}.dark-mode .about-section{background-color:#181817}.about-section .about-content{max-width:800px;margin:0 auto;font-size:1.1rem;line-height:1.7}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2;animation:bounce 2s infinite}.scroll-indicator a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,0.1);color:#0F172A;transition:background-color .3s,transform .3s}.dark-mode .scroll-indicator a{background:rgba(255,255,255,0.1);color:#ECECEC}.scroll-indicator a:hover{background:rgba(0,0,0,0.2);transform:translateY(5px)}.dark-mode .scroll-indicator a:hover{background:rgba(255,255,255,0.2)}@keyframes bounce{0%, 20%, 50%, 80%, 100%{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-10px)}60%{transform:translateX(-50%) translateY(-5px)}}.theme-toggle{background:none;border:none;cursor:pointer;padding:0.5rem;color:rgba(255,255,255,0.8);display:flex;align-items:center;justify-content:center;transition:color 0.3s ease, transform 0.4s ease;outline:none}.theme-toggle:focus{outline:none}.theme-toggle:hover{color:white;transform:rotate(30deg)}.theme-toggle:active{transform:rotate(180deg)}.theme-toggle svg{width:20px;height:20px}.dark-mode .theme-toggle{color:rgba(0,0,0,0.7)}.dark-mode .theme-toggle:hover{color:black}.timeline{position:relative;max-width:800px;margin:0 auto;padding-left:2rem}.timeline:before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background-color:rgba(0,0,0,0.1)}.dark-mode .timeline:before{background-color:rgba(255,255,255,0.1)}.timeline .timeline-item{position:relative;margin-bottom:3rem}.timeline .timeline-item:last-child{margin-bottom:0}.timeline .timeline-marker{position:absolute;left:-2rem;top:0.5rem;width:1rem;height:1rem;border-radius:50%;background-color:#3B82F6}.timeline .timeline-marker:before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);width:0.5rem;height:0.5rem;border-radius:50%;background-color:#FFFFFF}.timeline .timeline-content{padding-bottom:1.5rem;border-bottom:1px solid rgba(0,0,0,0.1)}.dark-mode .timeline .timeline-content{border-bottom-color:rgba(255,255,255,0.1)}.timeline .job-header{margin-bottom:1rem}.timeline .job-title{font-size:1.25rem;font-weight:600;letter-spacing:-0.015em;margin-bottom:0.25rem;color:#0F172A}.dark-mode .timeline .job-title{color:#ECECEC}.timeline .job-company{font-size:1.125rem;font-weight:500;color:#3B82F6;margin-bottom:0.25rem}.timeline .job-period{font-size:0.875rem;color:#4A5568}.dark-mode .timeline .job-period{color:#979897}.timeline .job-description{font-size:1rem;line-height:1.6;color:#4A5568}.dark-mode .timeline .job-description{color:#979897}.timeline .job-description p{margin-bottom:1rem}.timeline .job-description p:last-child{margin-bottom:0}.timeline .job-description ul{margin-top:0.5rem;margin-bottom:1rem}.contact-content{max-width:700px;margin:0 auto}.contact-content p{font-size:1.125rem;margin-bottom:2rem;text-align:center;color:#4A5568}.dark-mode .contact-content p{color:#979897}.contact-content .contact-methods{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:2rem}.contact-content .contact-methods .contact-method{display:flex;flex-direction:column;align-items:center;text-align:center}.contact-content .contact-methods .contact-method .method-icon{width:3rem;height:3rem;border-radius:50%;background-color:rgba(59,130,246,0.1);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:#3B82F6;font-size:1.5rem}.contact-content .contact-methods .contact-method a{font-size:1rem;font-weight:500;color:#4A5568;transition:color 0.2s ease}.dark-mode .contact-content .contact-methods .contact-method a{color:#979897}.contact-content .contact-methods .contact-method a:hover{color:#3B82F6}.data-line{stroke-dasharray:1000;stroke-dashoffset:1000;animation:dash 3s linear forwards}@keyframes dash{to{stroke-dashoffset:0}}.particle{opacity:0.6;animation:fadeInOut 3s infinite}@keyframes fadeInOut{0%{opacity:0}50%{opacity:0.8}100%{opacity:0}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1);opacity:0.7}50%{transform:scale(1.05);opacity:0.8}100%{transform:scale(1);opacity:0.7}}.fade-in{animation:fadeIn 0.6s ease forwards}.fade-in-up{animation:fadeInUp 0.8s ease forwards}.fade-in-down{animation:fadeInDown 0.8s ease forwards}.data-visualization svg{opacity:0.5}.data-line{animation:fadeIn 1.5s ease forwards;animation-delay:var(--delay, 0s)}.page-enter{opacity:0;animation:fadeIn 0.6s forwards}.page-transition{transition:opacity 0.4s ease}.page-transition.is-exiting{opacity:0}.btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,0.1)}.card,.project-card{transition:transform 0.3s ease, box-shadow 0.3s ease}.card:hover,.project-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,0.1)}.hero-content{opacity:0;transform:translateY(20px);animation:heroFadeIn 1s forwards 0.5s}@keyframes heroFadeIn{to{opacity:1;transform:translateY(0)}}.section-header{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease, transform 0.6s ease}.section-header.in-view{opacity:1;transform:translateY(0)}nav a::after{transition:width 0.3s ease}.hero-bg{opacity:0.4;animation:pulse 8s infinite ease-in-out}.highlight{background:#f8f8f8;border-radius:3px;padding:1rem;margin-bottom:1rem;overflow:auto}.highlight pre{margin-bottom:0;overflow-x:auto}.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k{color:#0086b3;font-weight:bold}.highlight .o{font-weight:bold}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:bold}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-weight:bold;font-style:italic}.highlight .gd{color:#000;background-color:#fdd}.highlight .gd .x{color:#000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000;background-color:#dfd}.highlight .gi .x{color:#000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc{color:#0086b3;font-weight:bold}.highlight .kd{color:#0086b3;font-weight:bold}.highlight .kp{color:#0086b3;font-weight:bold}.highlight .kr{color:#0086b3;font-weight:bold}.highlight .kt{color:#458;font-weight:bold}.highlight .m{color:#099}.highlight .s{color:#d14}.highlight .na{color:teal}.highlight .nb{color:#0086B3}.highlight .nc{color:#458;font-weight:bold}.highlight .no{color:teal}.highlight .ni{color:purple}.highlight .ne{color:#900;font-weight:bold}.highlight .nf{color:#900;font-weight:bold}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.highlight .ow{font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#d14}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}code.highlighter-rouge{background:#f8f8f8;padding:0.2em 0.4em;border-radius:3px;font-size:0.9em;color:#e01e5a}@media (max-width: 768px){html{font-size:15px}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}.container{padding:0 1rem}nav{display:none}.mobile-menu-toggle{display:block}.portfolio-grid,.articles-grid,.expertise-grid{grid-template-columns:1fr;gap:1rem}.hero{height:auto;min-height:80vh;padding-top:calc(64px + 1.5rem);padding-bottom:1.5rem}section{padding:1.5rem 0}.section-header{margin-bottom:1.5rem}.contact-form .form-group{margin-bottom:.5rem}}@media (min-width: 768px) and (max-width: 992px){.container{max-width:720px}.portfolio-grid,.articles-grid{grid-template-columns:repeat(2, 1fr)}}@media (min-width: 992px) and (max-width: 1200px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1200px}}@media (prefers-color-scheme: dark){body:not(.light-mode){background-color:#181817;color:#fff}}@media (prefers-reduced-motion: reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}@media print{body{background-color:white !important;color:black !important}header,.theme-toggle,.hero-bg,.data-viz,.btn,footer{display:none !important}.container{max-width:100% !important;padding:0 !important}h1,h2,h3,h4,h5,h6{page-break-after:avoid}p,li{page-break-inside:avoid}img{max-width:100% !important}}
