:root{--bg-color:#fff;--text-color:#1a1a1a;--text-secondary:#666;--accent-color:#dd7f48;--accent-hover:#e07334;--card-bg:#fff;--card-border:#e5e7eb;--hero-bg:#f8fafc;--section-bg:#fafbfc;--shadow-sm:0 1px 3px rgba(0,0,0,.05);--shadow-md:0 4px 12px rgba(0,0,0,.08);--shadow-lg:0 10px 30px rgba(0,0,0,.1);--transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}[data-theme=dark]{--bg-color:#0a0a0a;--text-color:#f5f5f5;--text-secondary:#a0a0a0;--accent-color:#dd7f48;--accent-hover:#e07334;--card-bg:#1a1a1a;--card-border:#2a2a2a;--hero-bg:#111;--section-bg:#0f0f0f;--shadow-sm:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.4);--shadow-lg:0 10px 30px rgba(0,0,0,.5)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.7;transition:var(--transition);-webkit-font-smoothing:antialiased}body,h1,h2,h3,h4{color:var(--text-color)}h1,h2,h3,h4{font-weight:700;line-height:1.2}p{color:var(--text-secondary);margin-bottom:1rem}a{color:var(--accent-color);text-decoration:none;transition:var(--transition)}a:hover{color:var(--accent-hover)}section{scroll-margin-top:80px}.navigation{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.8);border-bottom:1px solid var(--card-border);left:0;position:fixed;right:0;top:0;transition:var(--transition);z-index:1000}[data-theme=dark] .navigation{background:hsla(0,0%,4%,.8)}.nav-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 2rem}.nav-logo{color:var(--text-color);font-size:1.25rem;font-weight:700}.nav-links{align-items:center;display:flex;gap:2rem;list-style:none}.nav-links a{color:var(--text-color);font-size:.95rem;font-weight:500;position:relative}.nav-links a:after{background:var(--accent-color);bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-links a:hover:after{width:100%}.mobile-menu-toggle{background:none;border:none;cursor:pointer;display:none;padding:.5rem}.mobile-menu-toggle span{background:var(--text-color);display:block;height:2px;margin:5px 0;transition:var(--transition);width:24px}.theme-switch{align-items:center;display:flex;margin-left:auto;margin-right:1rem}.switch{display:inline-block;height:28px;position:relative;width:52px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#cbd5e1;border-radius:28px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:var(--transition)}.slider:before{background-color:#fff;border-radius:50%;bottom:3px;box-shadow:0 2px 4px rgba(0,0,0,.2);content:"";height:22px;left:3px;width:22px}input:checked+.slider{background-color:var(--accent-color)}input:checked+.slider:before{transform:translateX(24px)}.slider:hover{opacity:.9}.hero{align-items:center;background:var(--bg-color);display:flex;justify-content:center;min-height:100vh;padding:5rem 2rem 4rem;position:relative}.hero-content{animation:fadeInUp .8s ease-out;max-width:1200px;width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-photo-container{aspect-ratio:21/9;border-radius:24px;box-shadow:var(--shadow-lg);margin-bottom:3rem;max-height:550px;min-height:400px;overflow:hidden;position:relative}.hero-photo-container:before{background:linear-gradient(267deg,rgba(0,0,0,.7),rgba(0,0,0,.5) 40%,rgba(0,0,0,.2) 70%,transparent);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}[data-theme=dark] .hero-photo-container:before{background:linear-gradient(267deg,rgba(0,0,0,.8),rgba(0,0,0,.6) 40%,rgba(0,0,0,.3) 70%,transparent)}.hero-photo{display:block;height:100%;object-fit:cover;transition:var(--transition);width:100%}.hero-photo-container:hover .hero-photo{transform:scale(1.02)}.hero-text{left:4rem;max-width:600px;position:absolute;top:50%;transform:translateY(-50%);z-index:2}.hero-greeting{color:hsla(0,0%,100%,.95);font-size:1.2rem;font-weight:600;margin-bottom:1rem;text-shadow:0 2px 10px rgba(0,0,0,.3)}.hero-title{color:#fff;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.1;margin-bottom:1.5rem;text-shadow:0 2px 20px rgba(0,0,0,.4)}.hero-subtitle{color:hsla(0,0%,100%,.95);font-size:clamp(1rem,2vw,1.25rem);line-height:1.7;max-width:550px;text-shadow:0 2px 10px rgba(0,0,0,.3)}.hero-subtitle strong{color:#fff;font-weight:700}.hero-badges{align-items:flex-end;bottom:2rem;display:flex;flex-wrap:wrap;gap:1rem;position:absolute;right:2rem;z-index:2}.hero-photo-circle{border:4px solid hsla(0,0%,100%,.9);border-radius:50%;box-shadow:0 8px 24px rgba(0,0,0,.3);flex-shrink:0;height:180px;overflow:hidden;width:180px}.hero-photo-circle img{height:100%;object-fit:cover;width:100%}.hero-badges-list{display:flex;flex-direction:column;gap:1rem}.hero-badge{align-items:center;backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border-radius:12px;box-shadow:var(--shadow-md);display:flex;gap:.75rem;padding:.875rem 1.25rem;transition:var(--transition)}.hero-badge:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}[data-theme=dark] .hero-badge{background:rgba(26,26,26,.95)}.hero-badge-icon{font-size:1.5rem;line-height:1}.hero-badge-text{display:flex;flex-direction:column}.hero-badge-title{color:var(--text-secondary);font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.hero-badge-value{color:var(--text-color);font-size:.95rem;font-weight:700}.hero-stats{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center;margin-bottom:3rem}.stat-item{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-number{color:var(--accent-color);font-size:2.5rem;font-weight:800;line-height:1;margin-bottom:.5rem}.stat-label{color:var(--text-secondary);font-size:.95rem;font-weight:500}.cta{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:.95rem;font-weight:600;padding:.875rem 2rem;transition:var(--transition)}.btn.primary{background:var(--accent-color);box-shadow:var(--shadow-md);color:#fff}.btn.primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-lg);box-shadow:0 8px 20px #9b4e07;transform:translateY(-2px)}.btn.secondary{background:transparent;border:2px solid var(--accent-color);color:var(--accent-color)}.btn.secondary:hover{background:var(--accent-color);box-shadow:0 8px 20px #9b4e07;color:#fff;transform:translateY(-2px)}.btn.action{background:#636161;box-shadow:var(--shadow-md);color:#fff}.btn.action:hover{background:#242424}.about{margin:0 auto;max-width:1200px;padding:6rem 2rem}.about-grid{align-items:start;display:grid;gap:4rem;grid-template-columns:1.2fr 1fr}.about-content h2{font-size:2.5rem;margin-bottom:1.5rem}.about-content p{font-size:1.05rem;margin-bottom:1.25rem}.skills-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;box-shadow:var(--shadow-md);padding:2rem;position:sticky;top:100px}.skills-card h2{font-size:1.75rem;margin-bottom:1rem}.skills-card h3{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:2rem 0 .75rem;text-transform:uppercase}.skills-card h3:first-of-type{margin-top:1.5rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background:var(--section-bg);border:1px solid var(--card-border);border-radius:6px;color:var(--text-color);font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:var(--transition)}.tech-tag:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff;transform:translateY(-2px)}.experience{background:var(--section-bg);padding:6rem 2rem}.experience-container{margin:0 auto;max-width:1000px}.section-title{font-size:2.5rem;margin-bottom:.5rem;text-align:center}.section-subtitle{color:var(--text-secondary);font-size:1.1rem;margin-bottom:3rem;text-align:center}.experience-timeline{display:flex;flex-direction:column;gap:1.5rem}.experience-item{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden;transition:var(--transition)}.experience-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.experience-item summary{align-items:center;cursor:pointer;display:flex;gap:1.5rem;list-style:none;padding:1.75rem;transition:var(--transition)}.experience-item summary::-webkit-details-marker{display:none}.experience-item summary:hover{background:var(--section-bg)}.company-logo{background:#fff;border-radius:8px;flex-shrink:0;height:56px;object-fit:contain;padding:8px;width:56px}.experience-header{flex:1}.experience-header h3{color:var(--text-color);font-size:1.25rem;margin-bottom:.25rem}.company{color:var(--text-secondary);font-size:.95rem}.experience-item ul{list-style:none;padding:0 2rem 2rem 5.5rem}.experience-item li{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem;padding-left:1.5rem;position:relative}.experience-item li:before{color:var(--accent-color);content:"→";font-weight:700;left:0;position:absolute}.projects{margin:0 auto;max-width:1200px;padding:6rem 2rem}.projects h2{font-size:2.5rem;margin-bottom:1rem}.projects>p{font-size:1.05rem;margin-bottom:3rem;max-width:700px}.project-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:3rem}.project-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;transition:var(--transition)}.project-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px)}.project-preview{background:var(--section-bg);border-bottom:1px solid var(--card-border);height:200px;overflow:hidden;width:100%}.preview-image{height:100%;object-fit:cover;transition:var(--transition);width:100%}.project-card:hover .preview-image{transform:scale(1.05)}.project-card-content{padding:1.75rem}.project-card h3{font-size:1.35rem;margin-bottom:.5rem}.project-year{color:var(--text-secondary);font-size:.875rem;font-weight:500;margin-bottom:1rem}.project-card p{font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.project-link{align-items:center;align-self:flex-end;border-top:1px solid var(--card-border);color:var(--accent-color);display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;margin-left:auto;margin-top:auto;padding:.75rem 0;position:relative;text-decoration:none;transition:var(--transition)}.project-link:hover{color:var(--accent-hover);gap:.75rem}.project-link:after{content:"→ ";font-size:1.1rem;font-weight:700;transition:var(--transition)}.project-link:hover:after{transform:translateX(3px)}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag,.tag:hover{background:var(--accent-color);border:1px solid var(--card-border);border-color:var(--accent-color);border-radius:6px;color:var(---accent-color);font-size:.875rem;font-weight:500;padding:.5rem 1rem;transform:translateY(-2px);transition:var(--transition)}.blog,.tag{background:var(--section-bg)}.blog{padding:6rem 2rem;text-align:center}.blog-container{margin:0 auto;max-width:800px}.blog h2{font-size:2.5rem;margin-bottom:1rem}.coming-soon{background:var(--card-bg);border:2px dashed var(--card-border);border-radius:8px;color:var(--text-secondary);display:inline-block;font-size:1.1rem;margin-top:2rem;padding:1rem 2rem}.contact{margin:0 auto;max-width:800px;padding:6rem 2rem}.contact h2{font-size:2.5rem;margin-bottom:1rem;text-align:center}.contact>p{font-size:1.05rem;margin-bottom:3rem;text-align:center}.contact-form{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.contact-form input,.contact-form textarea{background:var(--card-bg);border:2px solid var(--card-border);border-radius:8px;color:var(--text-color);font-family:inherit;font-size:1rem;padding:1rem 1.25rem;transition:var(--transition)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(37,99,235,.1);outline:none}.contact-form textarea{min-height:150px;resize:vertical}.contact-form button{align-self:flex-start}.contact-email{background:var(--section-bg);border-radius:8px;font-size:1rem;padding:1.5rem;text-align:center}.contact-email a{font-weight:600}footer{background:var(--section-bg);border-top:1px solid var(--card-border);color:var(--text-secondary);font-size:.9rem;padding:2rem;text-align:center}@media (max-width:968px){.about-grid{gap:3rem;grid-template-columns:1fr}.skills-card{position:static}.project-grid{grid-template-columns:1fr}.hero-photo-container{aspect-ratio:16/9;min-height:350px}.hero-text{left:2rem;max-width:calc(60% - 2rem);right:2rem}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1rem}.hero-badges{bottom:1.5rem;gap:.75rem;right:1.5rem}.hero-photo-circle{height:140px;width:140px}.hero-badge{padding:.75rem 1rem}.hero-badge-icon{font-size:1.25rem}.hero-badge-title{font-size:.7rem}.hero-badge-value{font-size:.85rem}}@media (max-width:768px){.nav-links{background:var(--card-bg);border-bottom:1px solid var(--card-border);box-shadow:var(--shadow-lg);display:none;flex-direction:column;gap:0;left:0;padding:1rem 0;position:fixed;right:0;top:70px}.nav-links.active{display:flex}.nav-links li{text-align:center;width:100%}.nav-links a{padding:1rem}.mobile-menu-toggle,.nav-links a{display:block}.hero{overflow-x:hidden;padding:6rem 0 4rem}.hero-content{padding:0 1rem}.hero-photo-container{aspect-ratio:4/3;border-radius:16px;margin-bottom:2rem;max-height:none;min-height:500px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.hero-photo-container:before{background:linear-gradient(180deg,transparent,rgba(0,0,0,.3) 40%,rgba(0,0,0,.7))}.hero-photo{height:auto;object-fit:cover;object-position:left center;width:100%}.hero-text{bottom:200px;left:1.5rem;margin-top:1rem;max-width:100%;padding:0 1rem;position:absolute;right:1.5rem;text-align:left!important;top:auto;transform:none}.hero-greeting{font-size:1rem;margin-bottom:.75rem}.hero-title{font-size:1.8rem;margin-bottom:.75rem}.hero-subtitle{font-size:1rem;line-height:1.6;margin-bottom:1rem;max-width:50%;overflow:visible;white-space:normal}.hero-badges{align-items:flex-end;bottom:1.5rem;flex-direction:row;gap:1rem;justify-content:space-between;left:1.5rem;position:absolute;right:1.5rem}.hero-photo-circle{border-width:3px;height:100px;margin-right:10%;width:100px}.hero-badges-list{flex:1;gap:.75rem}.hero-stats{gap:2rem;margin-bottom:2rem}.stat-number{font-size:2rem}.stat-label{font-size:.85rem}.section-title{font-size:2rem}.about,.contact,.experience,.projects{padding:4rem 1.5rem}.experience-item summary{align-items:flex-start;flex-direction:column}.experience-item ul{padding-left:2rem}.theme-switch{margin-right:.5rem;order:1}.mobile-menu-toggle{order:2}}@media (max-width:480px){.nav-container{padding:1rem}.hero{padding:5rem 0 3rem}.hero-content{padding:0 .75rem}.hero-photo-container{border-radius:12px;margin-bottom:1.5rem;min-height:550px}.hero-text{bottom:180px;left:1rem;max-width:calc(100% - 2rem);right:1rem}.hero-greeting{font-size:.9rem;margin-bottom:.5rem}.hero-title{font-size:1.75rem;margin-bottom:.75rem}.hero-subtitle{font-size:.875rem;line-height:1.5}.hero-badges{align-items:center;bottom:1rem;flex-direction:column;gap:.75rem;left:1rem;right:1rem}.hero-photo-circle{height:90px;width:90px}.hero-badges-list{gap:.5rem;width:100%}.hero-badge{gap:.5rem;padding:.65rem .875rem}.hero-badge-icon{font-size:1.1rem}.hero-badge-title{font-size:.65rem}.hero-badge-value{font-size:.8rem}.hero-stats{gap:1.5rem;margin-bottom:1.5rem}.stat-number{font-size:1.75rem}.stat-label{font-size:.8rem}.cta{flex-direction:column;gap:.75rem}.btn{padding:.75rem 1.5rem;text-align:center;width:100%}}.social-links{display:flex;gap:1rem;justify-content:center;margin-top:1rem;a{text-decoration:none;transition:transform .3s ease;&:hover{transform:scale(1.1)}}img{height:24px;object-fit:contain;transition:var(--transition);width:24px;&:hover{transform:scale(1.1)}}}.blog .btn.primary{align-items:center;display:inline-flex;font-size:1.1rem;gap:12px;justify-content:center;padding:1rem 2rem}.blog .btn.primary svg{flex-shrink:0;height:28px;width:28px}.blog .btn.primary span{line-height:1}.blog .btn.primary:hover{box-shadow:0 8px 20px #9b4e07;transform:translateY(-3px)}@media (max-width:768px){.blog .btn.primary{font-size:1rem;padding:.875rem 1.75rem}.blog .btn.primary svg{height:24px;width:24px}}@media (max-width:480px){.blog .btn.primary{font-size:.95rem;padding:.75rem 1.5rem}}