:root{--bg-primary:#FAFAFA;--bg-secondary:#F0F0F0;--bg-card:#FFFFFF;--text-primary:#1A1A1A;--text-secondary:#6B6B6B;--text-muted:#9A9A9A;--accent-primary:#4A5568;--accent-hover:#2D3748;--accent-warm:#B87333;--metallic-light:#E8E8E8;--metallic-mid:#C0C0C0;--metallic-border:#D4D4D4;--success:#48BB78;--shadow:rgba(0, 0, 0, 0.08);--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--space-32:8rem;--max-width:1200px;--border-radius:4px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:"source sans 3",-apple-system,BlinkMacSystemFont,segoe ui,Roboto,sans-serif;font-size:var(--text-base);line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:"source serif 4",Georgia,serif;font-weight:600;line-height:1.2}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}p{margin-bottom:var(--space-4)}a{color:var(--accent-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-hover)}code,pre{font-family:jetbrains mono,monospace}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6)}section{padding:var(--space-24)0}section.alt-bg{background-color:var(--bg-secondary)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background-color:rgba(250,250,250,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--metallic-light)}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4)var(--space-6);max-width:var(--max-width);margin:0 auto}.nav-logo{font-family:"source serif 4",Georgia,serif;font-size:var(--text-xl);font-weight:600;color:var(--text-primary)}.nav-links{display:flex;align-items:center;gap:var(--space-8)}.nav-link{font-size:var(--text-sm);color:var(--text-secondary);transition:color .2s ease}.nav-link:hover{color:var(--text-primary)}.nav-cta{font-size:var(--text-sm);padding:var(--space-2)var(--space-4);background-color:var(--accent-primary);color:#fff!important;border-radius:var(--border-radius);transition:background-color .2s ease}.nav-cta:hover{background-color:var(--accent-hover)}.nav-toggle{display:none;background:0 0;border:none;cursor:pointer;padding:var(--space-2)}.nav-toggle span{display:block;width:24px;height:2px;background-color:var(--text-primary);margin:5px 0;transition:all .3s ease}.btn{display:inline-block;padding:var(--space-3)var(--space-6);font-size:var(--text-base);font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;border:none;text-align:center}.btn-primary{background-color:var(--accent-primary);color:#fff}.btn-primary:hover{background-color:var(--accent-hover);color:#fff}.btn-secondary{background-color:initial;color:var(--accent-primary);border:1px solid var(--metallic-border)}.btn-secondary:hover{border-color:var(--accent-primary)}.hero{padding-top:calc(var(--space-32) + 60px);padding-bottom:var(--space-24)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}.hero-eyebrow{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--space-4)}.hero h1{margin-bottom:var(--space-6)}.hero-text{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.8;margin-bottom:var(--space-8)}.hero-buttons{display:flex;gap:var(--space-4);flex-wrap:wrap}.hero-photo{display:flex;justify-content:center}.photo-frame{width:320px;height:320px;border-radius:50%;background:linear-gradient(135deg,var(--metallic-light) 0%,var(--metallic-border) 100%);padding:4px}.photo-frame img{width:100%;height:100%;border-radius:50%;object-fit:cover}.section-eyebrow{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--space-4)}.section-title{margin-bottom:var(--space-8)}.about-content{max-width:800px}.about-content p{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.8;margin-bottom:var(--space-6)}.pullquote{margin:var(--space-12)0;padding-left:var(--space-6);border-left:3px solid var(--accent-warm);max-width:800px}.pullquote p{font-family:"source serif 4",Georgia,serif;font-size:var(--text-2xl);font-style:italic;color:var(--accent-primary);line-height:1.6;margin-bottom:0}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);max-width:600px;margin-top:var(--space-16)}.stat{text-align:center}.stat-number{font-family:"source serif 4",Georgia,serif;font-size:var(--text-5xl);font-weight:600;color:var(--accent-primary)}.stat-label{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.process-intro{text-align:center;max-width:700px;margin:0 auto var(--space-16)}.process-intro p{font-size:var(--text-lg);color:var(--text-secondary)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);margin-bottom:var(--space-12)}.process-card{background-color:var(--bg-card);border:1px solid var(--metallic-light);border-radius:var(--border-radius);padding:var(--space-6)}.process-number{font-family:jetbrains mono,monospace;font-size:var(--text-sm);color:var(--accent-warm);margin-bottom:var(--space-3)}.process-card h3{font-size:var(--text-xl);margin-bottom:var(--space-2)}.process-card p{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:0}.process-cta{text-align:center}.process-cta a{font-size:var(--text-sm);font-weight:500}.portfolio-card{background-color:var(--bg-card);border:1px solid var(--metallic-light);border-radius:var(--border-radius);padding:var(--space-8);margin-bottom:var(--space-8)}.portfolio-grid{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-8)}.portfolio-logo{background-color:var(--text-primary);border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;padding:var(--space-8);min-height:150px}.portfolio-logo span{font-family:"source serif 4",Georgia,serif;font-size:var(--text-2xl);font-weight:600;color:var(--bg-primary)}.portfolio-content h3{margin-bottom:var(--space-4)}.portfolio-content p{color:var(--text-secondary);margin-bottom:var(--space-4)}.portfolio-content strong{color:var(--text-primary)}.tech-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}.tech-tag{font-size:var(--text-sm);padding:var(--space-1)var(--space-3);background-color:var(--bg-secondary);color:var(--text-secondary);border-radius:var(--border-radius)}.portfolio-links{display:flex;gap:var(--space-6)}.portfolio-links a{font-size:var(--text-sm);font-weight:500}.other-links{display:flex;gap:var(--space-6)}.other-links a{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.other-links a:hover{color:var(--accent-primary)}.cv-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-12)}.cv-header>div{flex:1}.timeline{display:flex;flex-direction:column;gap:var(--space-8)}.timeline-item{display:grid;grid-template-columns:200px 1fr;gap:var(--space-4);padding-bottom:var(--space-8);border-bottom:1px solid var(--metallic-light)}.timeline-item:last-child{border-bottom:none}.timeline-period{font-size:var(--text-sm);color:var(--text-muted)}.timeline-role{font-weight:600;margin-bottom:var(--space-1)}.timeline-company{font-size:var(--text-sm);color:var(--accent-primary);margin-bottom:var(--space-2)}.timeline-desc{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:0}.cv-education{margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid var(--metallic-light)}.cv-education h3{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-family:"source sans 3",sans-serif;font-weight:400;margin-bottom:var(--space-4)}.contact-inner{max-width:600px;margin:0 auto;text-align:center}.contact-inner .section-title{margin-bottom:var(--space-4)}.contact-intro{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--space-8)}.calendly-box{background-color:var(--bg-card);border:1px solid var(--metallic-light);border-radius:var(--border-radius);padding:var(--space-12);margin-bottom:var(--space-8)}.contact-alt{font-size:var(--text-sm);color:var(--text-secondary)}.contact-alt a{color:var(--accent-primary)}.footer{padding:var(--space-8)0;border-top:1px solid var(--metallic-light)}.footer-inner{display:flex;align-items:center;justify-content:space-between}.footer-copy{font-size:var(--text-sm);color:var(--text-muted)}.footer-links{display:flex;gap:var(--space-6)}.footer-links a{font-size:var(--text-sm);color:var(--text-secondary)}.footer-links a:hover{color:var(--accent-primary)}@media(max-width:1024px){.hero-grid{grid-template-columns:1fr;text-align:center}.hero-photo{order:-1}.hero-buttons{justify-content:center}.photo-frame{width:250px;height:250px}.process-grid{grid-template-columns:repeat(2,1fr)}.portfolio-grid{grid-template-columns:1fr}.portfolio-logo{min-height:120px}}@media(max-width:768px){section{padding:var(--space-12)0}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background-color:var(--bg-primary);padding:var(--space-4)var(--space-6);border-bottom:1px solid var(--metallic-light);gap:var(--space-4)}.nav-links.active{display:flex}.nav-toggle{display:block}.nav-toggle.active span:nth-child(1){transform:rotate(45deg)translate(5px,5px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.hero{padding-top:calc(var(--space-24) + 60px)}.stats-row{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.stat-number{font-size:var(--text-4xl)}.process-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr;gap:var(--space-2)}.cv-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.footer-inner{flex-direction:column;gap:var(--space-4);text-align:center}.pullquote p{font-size:var(--text-xl)}}@media(max-width:480px){.container{padding:0 var(--space-4)}.photo-frame{width:200px;height:200px}.hero-buttons{flex-direction:column;width:100%}.hero-buttons .btn{width:100%}}