@import"https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@400;600&family=Inter:wght@400;500;600&family=Dancing+Script:wght@700&display=swap";:root{--bg-primary: #F0EEE6;--bg-secondary: #F0EEE6;--bg-footer: #141413;--bg-card: #ffffff;--bg-card-hover: #ffffff;--text-primary: #191919;--text-secondary: #5e5e5b;--text-on-footer: #e0e0e0;--accent-primary: #C6613F;--accent-secondary: #a34e32;--accent-gradient: linear-gradient(135deg, #C6613F, #a34e32);--nav-bg: rgba(250, 249, 245, .95);--border-color: rgba(0, 0, 0, .08);--input-bg: #ffffff;--shadow-primary: 0 2px 8px rgba(0, 0, 0, .04);--font-heading: "Crimson Pro", serif;--font-signature: "Dancing Script", cursive;--font-main: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem;--radius-md: 4px;--radius-lg: 8px;--radius-full: 9999px;--transition: all .2s ease}[data-theme=dark]{--bg-primary: #191919;--bg-secondary: #222222;--bg-footer: #000000;--bg-card: #222222;--bg-card-hover: #2a2a2a;--text-primary: #f0efe9;--text-secondary: #a1a1aa;--text-on-footer: #e0e0e0;--accent-primary: #e68a6d;--accent-secondary: #d97757;--nav-bg: rgba(25, 25, 25, .95);--border-color: rgba(255, 255, 255, .1);--input-bg: #222222;--shadow-primary: 0 4px 20px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit;transition:var(--transition)}ul{list-style:none}h1,h2,h3,h4{line-height:1.2;font-weight:700}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.section{padding:var(--spacing-xl) 0}.section-label{display:block;text-align:center;text-transform:uppercase;letter-spacing:3px;font-size:.8rem;color:var(--accent-primary);font-weight:600;margin-bottom:var(--spacing-sm)}.section-title{font-size:3rem;margin-bottom:var(--spacing-lg);text-align:center}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.1;font-weight:400}h1{letter-spacing:-.02em}.container{width:100%;max-width:1000px;margin:0 auto;padding:0 var(--spacing-lg)}.gradient-text{background:none;-webkit-background-clip:unset;background-clip:unset;color:var(--text-primary);display:inline-block}.navbar{position:fixed;top:0;left:0;width:100%;padding:var(--spacing-md) 0;z-index:1000;transition:var(--transition);background:transparent}.navbar.scrolled{background:var(--nav-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border-color);padding:var(--spacing-sm) 0}.nav-content{display:flex;justify-content:space-between;align-items:center}.logo{font-family:var(--font-signature);font-size:2rem;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.dot{color:var(--accent-primary)}.nav-links{display:flex;gap:var(--spacing-lg);align-items:center}.nav-links a{text-transform:uppercase;font-size:.9rem;letter-spacing:1px;color:var(--text-secondary)}.nav-links a:hover{text-decoration:underline;text-underline-offset:4px}.nav-links a.active-link:hover{text-decoration:none}.theme-toggle{background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:var(--transition);margin-left:var(--spacing-sm)}.theme-toggle:hover{background-color:var(--border-color);color:var(--text-primary);transform:none}.theme-toggle svg{display:block}.mobile-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:6px}.bar{width:25px;height:2px;background-color:var(--text-primary);transition:var(--transition)}.hero-section{height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding-top:0}.hero-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:center}.hero-content{text-align:center;z-index:10;order:2}.greeting{font-size:1.5rem;color:var(--accent-primary);margin-bottom:var(--spacing-sm);font-weight:600}.name{font-size:4.5rem;margin-bottom:var(--spacing-md);line-height:1.1}.role{font-size:1.5rem;color:var(--text-secondary);font-weight:400;margin-bottom:var(--spacing-lg)}.bio{font-size:1.1rem;color:var(--text-secondary);margin-bottom:var(--spacing-lg);max-width:90%;margin-left:auto;margin-right:auto}.cta-group{display:flex;gap:var(--spacing-md);justify-content:center}.home-footer{position:absolute;bottom:2rem;left:0;width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:var(--spacing-lg);z-index:10}.home-socials{display:flex;gap:var(--spacing-lg)}.home-social-icon{color:var(--text-secondary);transition:var(--transition);display:flex;align-items:center;justify-content:center}.home-social-icon svg{width:20px;height:20px}.home-social-icon:hover{color:var(--accent-primary);transform:translateY(-3px)}.home-footer-line{width:120px;height:2px;background-color:var(--accent-primary);opacity:.4;border-radius:var(--radius-full)}.btn{display:inline-block;padding:.8rem 1.5rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:var(--transition);border:1px solid transparent;font-family:var(--font-main);font-size:.95rem;text-decoration:none}.btn-primary{background:var(--text-primary);color:var(--bg-primary)}.btn-primary:hover{background:var(--accent-primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.btn-outline{border-color:var(--text-primary);color:var(--text-primary);background:transparent}.btn-outline:hover{background:var(--bg-secondary);border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-2px)}.hero-image{width:100%;max-width:450px;height:auto;object-fit:cover;border-radius:var(--radius-lg);transition:var(--transition);box-shadow:20px 20px 0 var(--accent-primary)}.hero-image:hover{transform:translate(-5px,-5px);box-shadow:25px 25px 0 var(--accent-primary)}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(30px,-30px)}}.about-section{background-color:var(--bg-secondary)}.about-header{text-align:center;margin-bottom:var(--spacing-xl);max-width:800px;margin-left:auto;margin-right:auto}.about-intro{font-size:1.25rem;color:var(--text-secondary);margin-bottom:var(--spacing-lg);display:flex;flex-direction:column;gap:.5rem}.about-intro p{margin:0;line-height:1.4}.resume-actions{display:flex;gap:var(--spacing-md);justify-content:center;align-items:center}.resume-download-btn{display:flex;align-items:center;justify-content:center;padding:.8rem}.education-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.education-card{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);border-left:3px solid var(--accent-primary);background:var(--bg-card);border-radius:0 var(--radius-md) var(--radius-md) 0}.education-details{display:flex;flex-direction:column}.education-degree{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.education-school{font-size:1rem;color:var(--text-secondary)}.education-year{font-size:.9rem;color:var(--accent-primary);font-family:var(--font-mono);font-weight:500}.about-block{margin-bottom:5rem}.about-block:last-child{margin-bottom:0}.block-title{font-size:2rem;font-weight:500;color:var(--text-primary);border-bottom:2px solid var(--border-color);padding-bottom:1rem;margin-bottom:2rem;font-family:var(--font-heading);letter-spacing:-.02em;display:flex;align-items:center}.block-title:before{content:"";display:inline-block;width:8px;height:32px;background-color:var(--accent-primary);margin-right:1rem;border-radius:2px}.skills-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg)}.skill-category{background:var(--bg-card);padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--border-color)}.category-title{font-size:1rem;color:var(--accent-primary);margin-bottom:var(--spacing-md);letter-spacing:.5px}.skill-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.skill-tag{background:#8b5cf60d;padding:.4rem .8rem;border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;border:1px solid var(--border-color)}.timeline{display:flex;flex-direction:column;gap:var(--spacing-lg);border-left:2px solid var(--border-color);padding-left:var(--spacing-lg);margin-left:var(--spacing-sm)}.timeline-item{position:relative}.timeline-marker{position:absolute;left:calc(-1 * var(--spacing-lg) - 6px);top:6px;width:10px;height:10px;background:var(--accent-primary);border-radius:50%;border:2px solid var(--bg-primary)}.timeline-header{margin-bottom:var(--spacing-sm)}.role-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.company-name{font-weight:500;color:var(--accent-primary);margin-right:var(--spacing-sm)}.period{color:var(--text-secondary);font-size:.9rem;font-family:var(--font-mono)}.job-description{color:var(--text-secondary);line-height:1.6}.job-description ul{list-style:none;padding-left:0;margin:0}.job-description li{position:relative;padding-left:1.5rem;margin-bottom:.5rem}.job-description li:before{content:"→";position:absolute;left:0;color:var(--accent-primary);font-weight:700}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.cert-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition)}.cert-card:hover{transform:translateY(-2px);border-color:var(--accent-primary)}.cert-icon{color:var(--accent-primary);flex-shrink:0}.cert-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.cert-issuer{font-size:.85rem;color:var(--text-secondary)}.projects-section{background-color:var(--bg-secondary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.project-card{background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-color);transition:var(--transition);box-shadow:0 4px 6px -1px var(--shadow-component, rgba(0, 0, 0, .1))}[data-theme=light] .project-card{border-color:#0000001a;box-shadow:0 4px 6px -1px #0000000d}.project-card:hover{transform:translateY(-5px);border-color:var(--accent-primary)}.project-image-placeholder{height:200px;background-color:var(--bg-primary);position:relative;overflow:hidden}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-card:hover .project-image{transform:scale(1.05)}.project-content{padding:var(--spacing-lg)}.project-content h3{margin-bottom:var(--spacing-sm)}.project-content p{color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:.95rem}.project-tags{display:flex;gap:.5rem;margin-bottom:var(--spacing-md);flex-wrap:wrap}.tag{font-size:.8rem;color:var(--accent-primary);background:#8b5cf61a;padding:.2rem .6rem;border-radius:4px}.project-link{color:var(--text-primary);font-weight:600;display:inline-block;margin-top:auto}.project-link:hover{text-decoration:underline}.writing-section{background-color:var(--bg-secondary)}.writing-list{display:flex;flex-direction:column;max-width:800px;margin:0 auto}.writing-item{display:flex;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--border-color);text-decoration:none;transition:var(--transition);color:var(--text-primary)}.writing-item:first-child{border-top:1px solid var(--border-color)}.writing-item:hover{background-color:var(--bg-secondary);padding-left:1rem;padding-right:1rem;border-radius:var(--radius-md);border-color:transparent}.post-date{font-family:var(--font-mono);color:var(--text-secondary);font-size:.9rem;width:120px;flex-shrink:0}.post-info{flex:1;display:flex;flex-direction:column;gap:.2rem}.post-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:500;margin:0;color:var(--text-primary)}.post-meta{font-size:.85rem;color:var(--text-secondary)}.post-arrow{color:var(--accent-primary);opacity:0;transform:translate(-10px);transition:var(--transition)}.writing-item:hover .post-arrow{opacity:1;transform:translate(0)}@media(max-width:600px){.writing-item{flex-direction:column;align-items:flex-start;gap:.5rem}.post-date{width:auto;font-size:.8rem}.post-arrow{display:none}}.contact-section{background-color:var(--bg-secondary)}.contact-container{text-align:center}.contact-subtitle,.contact-form,.contact-separator{max-width:600px;margin-left:auto;margin-right:auto}.contact-subtitle{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.contact-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.contact-socials{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-xl);justify-content:center}@media(min-width:900px){.contact-socials{flex-wrap:nowrap}}.form-group input,.form-group textarea{width:100%;padding:1rem;background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;transition:var(--transition)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);background:var(--bg-card)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-message{padding:1rem;border-radius:var(--radius-md);margin-top:var(--spacing-sm);font-weight:500;text-align:center}.form-message.success{background-color:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2)}.form-message.error{background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.contact-separator{display:flex;align-items:center;text-align:center;margin:var(--spacing-xl) auto;color:var(--text-secondary);font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:1px}.contact-separator:before,.contact-separator:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.contact-separator span{padding:0 var(--spacing-md)}.social-link{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);text-decoration:none;transition:var(--transition);font-size:.95rem}.social-link svg{width:18px;height:18px}.social-link:hover{border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}@media(max-width:768px){.nav-links{position:fixed;top:60px;right:-100%;width:70%;height:calc(100vh - 60px);background:var(--bg-secondary);flex-direction:column;padding:var(--spacing-xl);transition:var(--transition)}.nav-links.active{right:0}.mobile-toggle{display:flex}.name{font-size:2.5rem}.logo{font-size:1.5rem}}@media(max-width:1150px){.hero-section{padding-top:100px}.hero-container{gap:var(--spacing-lg)}.name{font-size:3.5rem}.hero-image{width:320px;max-width:100%;height:auto}}@media(max-width:900px){.navbar{background:var(--nav-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border-color)}.hero-section{display:block;padding-top:100px;height:auto;min-height:100vh;overflow-y:visible}.hero-container{display:flex;flex-direction:column;align-items:center;width:100%;padding:0 var(--spacing-md);gap:var(--spacing-lg)}.hero-container h1.name{font-size:2.1rem;line-height:1.2;word-break:normal}.hero-image-wrapper{width:100%;display:flex;justify-content:center;margin-bottom:var(--spacing-md);order:1}.hero-content{width:100%;text-align:center;order:2;padding:0}.hero-background{display:none}.home-footer{position:relative;bottom:auto;margin-top:var(--spacing-xl);padding-bottom:var(--spacing-lg)}}.active-link{color:var(--text-primary)!important;font-weight:600;border-bottom:2px solid var(--accent-primary)}.resume-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.resume-header .section-title{margin-bottom:0;text-align:left}.resume-container{width:100%;height:800px;background-color:#f5f5f5;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-primary)}.resume-iframe{width:100%;height:100%;border:none}.resume-download-btn-header{display:flex;align-items:center}.resume-section{background-color:var(--bg-secondary)}main>section:not(.hero-section),main>div>section:not(.hero-section){min-height:100vh;padding-top:100px!important}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-primary);display:flex;justify-content:center;align-items:center;z-index:9999}.loading-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.loading-logo{font-family:var(--font-signature);font-size:3rem;color:var(--text-primary)}.loading-bar-container{width:200px;height:2px;background-color:var(--border-color);border-radius:var(--radius-full);overflow:hidden}.loading-bar{height:100%;background-color:var(--accent-primary)}
