:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--popover:0 0% 100%;--popover-foreground:240 10% 3.9%;--primary:240 5.9% 10%;--primary-foreground:0 0% 98%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:240 5.9% 90%;--input:240 5.9% 90%;--ring:240 5.9% 10%;--header-height:80px;--color-background:hsl(var(--background));--color-foreground:hsl(var(--foreground));--color-primary:hsl(var(--primary));--color-secondary:hsl(var(--secondary));--color-accent:hsl(var(--accent));--color-muted:hsl(var(--muted));--color-border:hsl(var(--border));--color-card:hsl(var(--card));--color-card-foreground:hsl(var(--card-foreground));--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--font-mono:"Fira Code","Monaco","Consolas",monospace;--spacing-0:0rem;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--radius:0.5rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:var(--radius);--radius-lg:calc(var(--radius) + 4px);--radius-xl:1rem;--radius-2xl:1.5rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:300ms cubic-bezier(0.4,0,0.2,1);--transition-slow:500ms cubic-bezier(0.4,0,0.2,1)}.dark{--background:240 10% 3.9%;--foreground:0 0% 98%;--card:240 10% 3.9%;--card-foreground:0 0% 98%;--popover:240 10% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:240 5.9% 10%;--secondary:240 3.7% 15.9%;--secondary-foreground:0 0% 98%;--muted:240 3.7% 15.9%;--muted-foreground:240 5% 64.9%;--accent:240 3.7% 15.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:240 3.7% 15.9%;--input:240 3.7% 15.9%;--ring:240 4.9% 83.9%;--color-background:hsl(var(--background));--color-foreground:hsl(var(--foreground));--color-primary:hsl(var(--primary));--color-secondary:hsl(var(--secondary));--color-accent:hsl(var(--accent));--color-muted:hsl(var(--muted));--color-border:hsl(var(--border));--color-card:hsl(var(--card));--color-card-foreground:hsl(var(--card-foreground));--shadow-sm:0 1px 2px 0 #0000004d;--shadow:0 1px 3px 0 #0000004d,0 1px 2px -1px #0000004d;--shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #0000004d,0 4px 6px -4px #0000004d;--shadow-xl:0 20px 25px -5px #0000004d,0 8px 10px -6px #0000004d}*{border-color:#e4e4e7;border-color:hsl(var(--border));box-sizing:border-box;margin:0;padding:0}html{scroll-padding-top:80px;scroll-padding-top:var(--header-height)}body{font-feature-settings:"rlig" 1,"calt" 1;background-color:#fff;background-color:hsl(var(--background));color:#09090b;color:hsl(var(--foreground));font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);line-height:1.6;transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition-normal),color var(--transition-normal)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:1rem;margin-bottom:var(--spacing-4)}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{line-height:1.7}.container{margin:0 auto;max-width:80rem;padding:0 1rem;padding:0 var(--spacing-4)}.section{padding:0}.card{background-color:#fff;background-color:hsl(var(--card));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:calc(.5rem + 4px);border-radius:var(--radius-lg);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;box-shadow:var(--shadow);color:#09090b;color:hsl(var(--card-foreground));padding:1.5rem;padding:var(--spacing-6);transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal)}.btn{align-items:center;background-color:#fff;background-color:hsl(var(--background));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:.5rem;border-radius:var(--radius);color:#09090b;color:hsl(var(--foreground));cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;gap:var(--spacing-2);justify-content:center;padding:.5rem 1rem;padding:var(--spacing-2) var(--spacing-4);text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.btn:hover{background-color:#f4f4f5;background-color:hsl(var(--accent));color:#18181b;color:hsl(var(--accent-foreground));transform:translateY(-1px)}.btn:focus-visible{border-radius:.5rem;border-radius:var(--radius);outline:2px solid #18181b;outline:2px solid hsl(var(--primary));outline-offset:2px}.btn-primary{background-color:#18181b;background-color:hsl(var(--primary));border-color:#18181b;border-color:hsl(var(--primary));color:#fafafa;color:hsl(var(--primary-foreground))}.btn-primary:hover{background-color:#18181be6;background-color:hsl(var(--primary)/.9);border-color:#18181be6;border-color:hsl(var(--primary)/.9)}.btn-disabled,.btn:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.btn-disabled:hover,.btn:disabled:hover{background-color:#18181b;background-color:hsl(var(--primary));border-color:#18181b;border-color:hsl(var(--primary));transform:none}.header{-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:#fffc;background-color:hsl(var(--background)/.8);border-bottom:1px solid #e4e4e7;border-bottom:1px solid hsl(var(--border));left:0;position:fixed;right:0;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal);z-index:50}.nav{align-items:center;display:flex;justify-content:space-between;padding:1rem 0;padding:var(--spacing-4) 0}.logo{color:#18181b;color:hsl(var(--primary));font-family:Fira Code,Monaco,Consolas,monospace;font-family:var(--font-mono);font-size:1.5rem;font-weight:700;letter-spacing:-.025em;margin:0}.nav-menu{align-items:center;display:flex;gap:1.5rem;gap:var(--spacing-6)}.nav-link{background:none;border:none;color:#09090b;color:hsl(var(--foreground));cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:500;padding:.5rem 0;padding:var(--spacing-2) 0;position:relative;text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}.nav-link:hover{color:#18181b;color:hsl(var(--primary))}.nav-link:after{background-color:#18181b;background-color:hsl(var(--primary));bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .15s cubic-bezier(.4,0,.2,1);transition:width var(--transition-fast);width:0}.nav-link:hover:after{width:100%}.nav-link:focus-visible{border-radius:.5rem;border-radius:var(--radius);outline:2px solid #18181b;outline:2px solid hsl(var(--primary));outline-offset:2px}.nav-actions{gap:1rem;gap:var(--spacing-4)}.nav-actions,.theme-toggle{align-items:center;display:flex}.theme-toggle{background:none;border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:.5rem;border-radius:var(--radius);color:#71717a;color:hsl(var(--muted-foreground));cursor:pointer;justify-content:center;padding:.5rem;padding:var(--spacing-2);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.theme-toggle:hover{background-color:#f4f4f5;background-color:hsl(var(--accent));color:#18181b;color:hsl(var(--accent-foreground));transform:scale(1.05)}.theme-toggle:focus-visible{border-radius:.5rem;border-radius:var(--radius);outline:2px solid #18181b;outline:2px solid hsl(var(--primary));outline-offset:2px}.github-link{align-items:center;background:none;border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:.5rem;border-radius:var(--radius);color:#71717a;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;height:40px;justify-content:center;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:40px}.github-link:hover{background-color:#f4f4f5;background-color:hsl(var(--accent));color:#18181b;color:hsl(var(--accent-foreground));transform:scale(1.05)}.github-link:focus-visible{border-radius:.5rem;border-radius:var(--radius);outline:2px solid #18181b;outline:2px solid hsl(var(--primary));outline-offset:2px}.language-selector{display:inline-block;position:relative}.language-toggle{align-items:center;background:none;border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:.5rem;border-radius:var(--radius);color:#71717a;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;height:40px;justify-content:center;padding:.5rem;padding:var(--spacing-2);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:40px}.language-toggle:hover{background-color:#f4f4f5;background-color:hsl(var(--accent));color:#18181b;color:hsl(var(--accent-foreground));transform:scale(1.05)}.language-toggle:focus-visible{border-radius:.5rem;border-radius:var(--radius);outline:2px solid #18181b;outline:2px solid hsl(var(--primary));outline-offset:2px}.language-dropdown{animation:slideDown .2s ease-out;background-color:#fff;background-color:hsl(var(--popover));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:.5rem;border-radius:var(--radius);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);margin-top:.5rem;margin-top:var(--spacing-2);min-width:120px;padding:.5rem;padding:var(--spacing-2);position:absolute;right:0;top:100%;z-index:100}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.language-option{background:none;border:none;border-radius:calc(.5rem - 4px);border-radius:var(--radius-sm);color:#09090b;color:hsl(var(--popover-foreground));cursor:pointer;display:block;font-size:.875rem;margin-bottom:.25rem;margin-bottom:var(--spacing-1);padding:.5rem .75rem;padding:var(--spacing-2) var(--spacing-3);text-align:left;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.language-option:last-child{margin-bottom:0}.language-option:hover{background-color:#f4f4f5;background-color:hsl(var(--accent));color:#18181b;color:hsl(var(--accent-foreground))}.language-option.active{background-color:#18181b;background-color:hsl(var(--primary));color:#fafafa;color:hsl(var(--primary-foreground))}@media (max-width:768px){.language-dropdown{min-width:140px;right:-50px}.nav-menu{display:none}}.footer{background-color:#f4f4f5;background-color:hsl(var(--muted));border-top:1px solid #e4e4e7;border-top:1px solid hsl(var(--border));margin-top:auto;padding:2rem 0;padding:var(--spacing-8) 0}.footer-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;gap:var(--spacing-4);justify-content:space-between}.footer-info p{color:#71717a;color:hsl(var(--muted-foreground));font-size:.875rem;margin:0}.footer-links{display:flex;gap:1rem;gap:var(--spacing-4)}.footer-link{align-items:center;background-color:#f4f4f5;background-color:hsl(var(--accent));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:.5rem;border-radius:var(--radius);color:#18181b;color:hsl(var(--accent-foreground));display:flex;height:40px;justify-content:center;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:40px}.footer-link:hover{background-color:#18181b;background-color:hsl(var(--primary));box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);color:#fafafa;color:hsl(var(--primary-foreground));transform:translateY(-2px)}.footer-link:focus-visible{border-radius:.5rem;border-radius:var(--radius);outline:2px solid #18181b;outline:2px solid hsl(var(--primary));outline-offset:2px}.footer-link svg{height:20px;width:20px}@media (max-width:768px){.footer-content{flex-direction:column;text-align:center}.footer-links{justify-content:center}}.layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;padding-top:80px;padding-top:var(--header-height)}.hero,.main-content{min-height:calc(100vh - 80px);min-height:calc(100vh - var(--header-height))}.hero{align-items:center;display:flex;margin-bottom:-6rem;margin-bottom:calc(var(--spacing-12)*-2);margin-top:-3rem;margin-top:calc(var(--spacing-12)*-1);padding-top:0;position:relative}.hero-content{grid-gap:3rem;grid-gap:var(--spacing-12);align-items:center;display:grid;gap:3rem;gap:var(--spacing-12);grid-template-columns:1fr 1fr}.hero-title{font-size:3.75rem;font-weight:800;letter-spacing:-.025em;line-height:1.1;margin-bottom:1rem;margin-bottom:var(--spacing-4);margin-top:1rem;margin-top:var(--spacing-4)}.text-primary{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#18181b,#18181bcc);background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary)/.8));-webkit-background-clip:text;background-clip:text;color:#18181b;color:hsl(var(--primary))}.hero-subtitle{font-size:1.5rem;font-weight:400;margin-bottom:1.5rem;margin-bottom:var(--spacing-6)}.hero-description,.hero-subtitle{color:#71717a;color:hsl(var(--muted-foreground))}.hero-description{font-size:1.125rem;line-height:1.7;margin-bottom:2rem;margin-bottom:var(--spacing-8)}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;gap:var(--spacing-4)}.hero-stats{align-items:center;display:flex;justify-content:center;margin-left:-5%;min-height:400px;position:relative;width:100%}.github-stats-container{display:flex;flex-direction:column;gap:1rem;gap:var(--spacing-4);max-width:900px;min-height:380px;width:100%}.gitroll-badge{background:#fff;background:hsl(var(--card));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:calc(.5rem + 4px);border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);display:flex;height:400px;justify-content:center;min-height:120px;padding:1rem;padding:var(--spacing-4);transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal);width:110%}.gitroll-link{display:block;text-decoration:none;transition:transform .3s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-normal);width:100%}.gitroll-link:focus-visible{border-radius:.5rem;border-radius:var(--radius);outline:2px solid #18181b;outline:2px solid hsl(var(--primary));outline-offset:2px}.gitroll-image{border-radius:.5rem;border-radius:var(--radius);height:100%;max-width:100%;object-fit:cover;transition:opacity .3s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-normal);width:100%}.github-stats-grid{grid-gap:1rem;grid-gap:var(--spacing-4);display:grid;gap:1rem;gap:var(--spacing-4);grid-template-columns:1fr;width:100%}.github-languages-card{align-items:center;background:#fff;background:hsl(var(--card));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:calc(.5rem + 4px);border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);display:flex;height:220px;justify-content:center;min-height:220px;overflow:hidden;padding:1rem;padding:var(--spacing-4);transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal)}.github-languages-image,.github-stats-image{border-radius:.5rem;border-radius:var(--radius);display:block;height:auto;max-height:100%;max-width:100%;object-fit:contain;object-position:center;transition:transform .3s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-normal);width:100%}@media (max-width:768px){.hero-content{gap:2rem;gap:var(--spacing-8);grid-template-columns:1fr;text-align:center}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.25rem}.hero-actions{justify-content:center}.hero-stats{min-height:300px}.github-stats-container{gap:1rem;gap:var(--spacing-4);max-width:100%;min-height:300px}.github-stats-grid{gap:1rem;gap:var(--spacing-4);grid-template-columns:1fr}.gitroll-badge{height:100px;min-height:100px;padding:.75rem;padding:var(--spacing-3)}.github-languages-card,.github-stats-card{height:160px;min-height:160px;padding:.75rem;padding:var(--spacing-3)}.gitroll-image{height:100%;object-fit:cover}.github-languages-image,.github-stats-image{border-radius:calc(.5rem - 4px);border-radius:var(--radius-sm);height:auto;max-height:100%;object-fit:contain;object-position:center;width:100%}}.section-title{color:#09090b;color:hsl(var(--foreground));font-size:2.5rem;font-weight:700;letter-spacing:-.025em;margin-bottom:3rem;margin-bottom:var(--spacing-12);margin-top:3rem;margin-top:var(--spacing-12);text-align:center}.section-title:after{background:linear-gradient(135deg,#18181b,#18181bb3);background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary)/.7));border-radius:2px;content:"";display:block;height:4px;margin:1rem auto 0;margin:var(--spacing-4) auto 0;width:60px}.about-content{margin:0 auto;max-width:800px}.about-description{color:#71717a;color:hsl(var(--muted-foreground));font-size:1.125rem;line-height:1.7;margin-bottom:1.5rem;margin-bottom:var(--spacing-6)}.skills{margin-top:2rem;margin-top:var(--spacing-8)}.skills-title{color:#09090b;color:hsl(var(--foreground));font-size:1.5rem;font-weight:600;margin-bottom:1rem;margin-bottom:var(--spacing-4)}.skills-grid{display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-2)}.skill-tag{background-color:#f4f4f5;background-color:hsl(var(--accent));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:.5rem;border-radius:var(--radius);color:#18181b;color:hsl(var(--accent-foreground));font-size:.875rem;font-weight:500;padding:.5rem .75rem;padding:var(--spacing-2) var(--spacing-3);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.skill-tag:hover{background-color:#18181b;background-color:hsl(var(--primary));box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);color:#fafafa;color:hsl(var(--primary-foreground));transform:translateY(-2px)}.social-links{margin:2rem 0;margin:var(--spacing-8) 0}.socials-title{color:#18181b;color:hsl(var(--primary));font-size:1.25rem;font-weight:600;margin-bottom:1rem;margin-bottom:var(--spacing-4)}.socials-grid{display:flex;flex-wrap:wrap;gap:1rem;gap:var(--spacing-4)}.social-tag{align-items:center;background-color:#f4f4f5;background-color:hsl(var(--accent));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:.5rem;border-radius:var(--radius);color:#18181b;color:hsl(var(--accent-foreground));display:inline-flex;font-size:.875rem;font-weight:500;padding:.5rem .75rem;padding:var(--spacing-2) var(--spacing-3);text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.social-tag:hover{background-color:#18181b;background-color:hsl(var(--primary));box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);color:#fafafa;color:hsl(var(--primary-foreground));transform:translateY(-2px)}@media (max-width:768px){.socials-grid{justify-content:center}.social-link{font-size:.8rem;padding:.25rem .5rem;padding:var(--spacing-1) var(--spacing-2)}}.experience-content{margin:0 auto;max-width:800px}.experience-list{display:flex;flex-direction:column;gap:2rem;gap:var(--spacing-8)}.experience-item{background-color:#fff;background-color:hsl(var(--card));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:calc(.5rem + 4px);border-radius:var(--radius-lg);padding:1.5rem;padding:var(--spacing-6);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.experience-item:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.experience-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-2);justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--spacing-4)}.experience-company{color:#18181b;color:hsl(var(--primary));font-size:1.5rem;font-weight:600;margin:0}.experience-period{background-color:#f4f4f5;background-color:hsl(var(--accent));border-radius:.5rem;border-radius:var(--radius);color:#18181b;color:hsl(var(--accent-foreground));font-size:.875rem;font-weight:500;padding:.25rem .5rem;padding:var(--spacing-1) var(--spacing-2)}.experience-position{color:#09090b;color:hsl(var(--foreground));font-size:1.125rem;font-weight:500;margin-bottom:1rem;margin-bottom:var(--spacing-4)}.experience-description{list-style:none;margin-bottom:1.5rem;margin-bottom:var(--spacing-6);padding:0}.experience-description ol{list-style:none;margin:0;padding:0}.experience-description li{color:#71717a;color:hsl(var(--muted-foreground));margin-bottom:.5rem;margin-bottom:var(--spacing-2);padding-left:1.5rem;padding-left:var(--spacing-6);position:relative}.experience-description li:before{color:#18181b;color:hsl(var(--primary));content:"▸";font-weight:700;left:0;position:absolute}@media (max-width:768px){.experience-content{padding:0 .5rem;padding:0 var(--spacing-2)}.experience-item{padding:1rem;padding:var(--spacing-4)}.experience-header{align-items:flex-start;flex-direction:column;gap:.5rem;gap:var(--spacing-2)}.experience-company{font-size:1.25rem}.experience-position{font-size:1rem}}.experience-technologies{display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-2)}.tech-tag{background-color:#f4f4f5;background-color:hsl(var(--accent));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:.5rem;border-radius:var(--radius);color:#18181b;color:hsl(var(--accent-foreground));font-size:.75rem;font-weight:500;padding:.25rem .5rem;padding:var(--spacing-1) var(--spacing-2);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.tech-tag:hover{background-color:#18181b;background-color:hsl(var(--primary));color:#fafafa;color:hsl(var(--primary-foreground));transform:translateY(-1px)}.project-card{background-color:#fff;background-color:hsl(var(--card));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:calc(.5rem + 4px);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.project-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.project-image{align-items:center;display:flex;height:200px;justify-content:center;margin:-1px -1px 0;overflow:hidden;position:relative}.project-image:before{background:#18181b;content:"";left:0;position:absolute;top:0;z-index:1}.image-placeholder,.project-image:before{border-radius:calc(.5rem + 4px);border-radius:var(--radius-lg);height:100%;width:100%}.image-placeholder{align-items:center;display:flex;justify-content:center;position:relative;z-index:2}.project-content{display:flex;flex:1 1;flex-direction:column;gap:1rem;gap:var(--spacing-4);padding:1.5rem;padding:var(--spacing-6)}.project-title{color:#09090b;color:hsl(var(--foreground));font-size:1.5rem;font-weight:600;margin-bottom:.5rem;margin-bottom:var(--spacing-2)}.project-description{color:#71717a;color:hsl(var(--muted-foreground));flex:1 1;line-height:1.6}.project-technologies{margin-bottom:1rem;margin-bottom:var(--spacing-4)}.project-actions,.project-technologies{display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-2)}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}.project-actions{flex-direction:column}.project-actions .btn{flex:1 1;text-align:center}}.certification-card{background-color:#fff;background-color:hsl(var(--card));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:calc(.5rem + 4px);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.certification-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.certification-image{align-items:center;background:#18181b;border-radius:50%;display:flex;height:140px;justify-content:center;margin:0 auto;overflow:hidden;position:relative;width:140px}.certification-image:before{background:#18181b;border-radius:50%;content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.image-container{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%;z-index:2}.certification-badge{background:#fff;background:hsl(var(--card));border-radius:50%;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);max-height:90px;max-width:90px;object-fit:contain;padding:.5rem;padding:var(--spacing-2)}.certification-image .image-placeholder{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;position:relative;width:100%;z-index:2}.image-placeholder.hidden{display:none}.certification-content{display:flex;flex:1 1;flex-direction:column;gap:.75rem;gap:var(--spacing-3);padding:1rem;padding:var(--spacing-4)}.certification-header{margin-bottom:.5rem;margin-bottom:var(--spacing-2);text-align:center}.certification-title{color:#09090b;color:hsl(var(--foreground));font-size:1.125rem;font-weight:600}.certification-issuer,.certification-title{margin-bottom:.25rem;margin-bottom:var(--spacing-1)}.certification-issuer{color:#18181b;color:hsl(var(--primary));font-size:.875rem;font-weight:500}.certification-date{color:#71717a;color:hsl(var(--muted-foreground));font-size:.8125rem;text-align:center}.certification-skills{display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-2);justify-content:center;margin:.5rem 0;margin:var(--spacing-2) 0}.skill-bubble{background-color:#f4f4f5;background-color:hsl(var(--accent));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:9999px;color:#18181b;color:hsl(var(--accent-foreground));font-size:.6875rem;font-weight:500;padding:.25rem .5rem;padding:var(--spacing-1) var(--spacing-2);transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.skill-bubble:hover{background-color:#18181b;background-color:hsl(var(--primary));color:#fafafa;color:hsl(var(--primary-foreground));transform:translateY(-1px)}.certification-summary{color:#71717a;color:hsl(var(--muted-foreground));font-size:.8125rem;line-height:1.4;margin:.25rem 0;margin:var(--spacing-1) 0;text-align:center}.certification-actions{display:flex;justify-content:center;margin-top:auto;padding-top:.75rem;padding-top:var(--spacing-3)}.certification-actions .btn{font-size:.8125rem;min-width:120px;padding:.25rem .75rem;padding:var(--spacing-1) var(--spacing-3)}@media (max-width:768px){.certifications-grid{gap:1rem;gap:var(--spacing-4);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.certification-image{height:120px;width:120px}.certification-badge{max-height:80px;max-width:80px}.certification-content{padding:.75rem;padding:var(--spacing-3)}.certification-title{font-size:1rem}.certification-issuer{font-size:.8125rem}.certification-actions{flex-direction:column}.certification-actions .btn{flex:1 1;text-align:center}}.certifications-toggle{animation:fadeInUp .3s cubic-bezier(.4,0,.2,1);animation:fadeInUp var(--transition-normal);display:flex;justify-content:center;margin-top:2rem;margin-top:var(--spacing-8)}.certifications-toggle-btn{font-weight:600;min-width:200px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal)}.certifications-toggle-btn:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.projects-toggle{animation:fadeInUp .3s cubic-bezier(.4,0,.2,1);animation:fadeInUp var(--transition-normal);display:flex;justify-content:center;margin-top:2rem;margin-top:var(--spacing-8)}.projects-toggle-btn{font-weight:600;min-width:200px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal)}.projects-toggle-btn:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.certifications-grid{grid-gap:1.5rem;grid-gap:var(--spacing-6);display:grid;gap:1.5rem;gap:var(--spacing-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.certification-card{opacity:1;transform:translateY(0);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-normal),box-shadow var(--transition-normal),opacity var(--transition-normal)}.projects-grid{grid-gap:2rem;grid-gap:var(--spacing-8);display:grid;gap:2rem;gap:var(--spacing-8);grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.project-card{opacity:1;transform:translateY(0);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-normal),box-shadow var(--transition-normal),opacity var(--transition-normal)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.certifications-grid>*,.projects-grid>*{animation:fadeInUp .6s cubic-bezier(.25,.46,.45,.94) forwards;opacity:0;transform:translateY(20px)}.certifications-grid>:first-child{animation-delay:0ms}.certifications-grid>:nth-child(2){animation-delay:80ms}.certifications-grid>:nth-child(3){animation-delay:.16s}.certifications-grid>:nth-child(4){animation-delay:.24s}.certifications-grid>:nth-child(5){animation-delay:.32s}.certifications-grid>:nth-child(6){animation-delay:.4s}.certifications-grid>:nth-child(7){animation-delay:.48s}.certifications-grid>:nth-child(8){animation-delay:.56s}.certifications-grid>:nth-child(9){animation-delay:.64s}.projects-grid>:first-child{animation-delay:0ms}.projects-grid>:nth-child(2){animation-delay:80ms}.projects-grid>:nth-child(3){animation-delay:.16s}.projects-grid>:nth-child(4){animation-delay:.24s}.projects-grid>:nth-child(5){animation-delay:.32s}.projects-grid>:nth-child(6){animation-delay:.4s}.projects-grid>:nth-child(7){animation-delay:.48s}.projects-grid>:nth-child(8){animation-delay:.56s}.projects-grid>:nth-child(9){animation-delay:.64s}#contact{margin-bottom:3rem;margin-bottom:var(--spacing-12)}.contact-content{grid-gap:3rem;grid-gap:var(--spacing-12);align-items:start;display:grid;gap:3rem;gap:var(--spacing-12);grid-template-columns:1fr 1fr}.contact-info h3{color:#09090b;color:hsl(var(--foreground));font-size:1.5rem;font-weight:600;margin-bottom:1rem;margin-bottom:var(--spacing-4)}.contact-info p{color:#71717a;color:hsl(var(--muted-foreground));line-height:1.6;margin-bottom:1.5rem;margin-bottom:var(--spacing-6)}.contact-details{gap:1rem;gap:var(--spacing-4)}.contact-details,.contact-item{display:flex;flex-direction:column}.contact-item{gap:.25rem;gap:var(--spacing-1)}.contact-item strong{color:#09090b;color:hsl(var(--foreground));font-weight:600}.contact-item a{color:#18181b;color:hsl(var(--primary));text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}.contact-item a:hover{color:#18181bcc;color:hsl(var(--primary)/.8)}.contact-form{gap:1.5rem;gap:var(--spacing-6)}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem;gap:var(--spacing-2)}.form-group label{font-weight:500}.form-group input,.form-group label,.form-group textarea{color:#09090b;color:hsl(var(--foreground));font-size:.875rem}.form-group input,.form-group textarea{background-color:#fff;background-color:hsl(var(--background));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:.5rem;border-radius:var(--radius);font-family:inherit;padding:.75rem;padding:var(--spacing-3);transition:border-color .15s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition-fast)}.form-group input:focus-visible,.form-group textarea:focus-visible{border-color:#18181b;border-color:hsl(var(--ring));box-shadow:0 0 0 3px #18181b1a;box-shadow:0 0 0 3px hsl(var(--ring)/.1);outline:none}.form-group textarea{min-height:120px;resize:vertical}@media (max-width:768px){.contact-content{gap:var(--spacing-xl);grid-template-columns:1fr}}.contact-divider{align-items:center;color:#71717a;color:hsl(var(--muted-foreground));display:flex;margin:1.5rem 0;margin:var(--spacing-6) 0}.contact-divider:after,.contact-divider:before{background-color:#e4e4e7;background-color:hsl(var(--border));content:"";flex:1 1;height:1px}.divider-text{font-size:.875rem;font-weight:500;padding:0 1rem;padding:0 var(--spacing-4)}.contact-social-section{grid-column:1/-1;text-align:center}.social-media-section{margin-top:1.5rem;margin-top:var(--spacing-6);text-align:center}.social-media-text{color:#71717a;color:hsl(var(--muted-foreground));font-size:.875rem;margin-bottom:1rem;margin-bottom:var(--spacing-4)}.social-media-links{display:flex;gap:1rem;gap:var(--spacing-4);justify-content:center}.social-media-link{align-items:center;background-color:#f4f4f5;background-color:hsl(var(--accent));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:.5rem;border-radius:var(--radius);color:#18181b;color:hsl(var(--accent-foreground));display:flex;height:48px;justify-content:center;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:48px}.social-media-link:hover{background-color:#18181b;background-color:hsl(var(--primary));box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);color:#fafafa;color:hsl(var(--primary-foreground));transform:translateY(-2px)}.social-media-link:focus-visible{border-radius:.5rem;border-radius:var(--radius);outline:2px solid #18181b;outline:2px solid hsl(var(--primary));outline-offset:2px}@media (max-width:768px){.contact-content{gap:2rem;gap:var(--spacing-8);grid-template-columns:1fr}.contact-social-section{margin-top:2rem;margin-top:var(--spacing-8);padding-top:1.5rem;padding-top:var(--spacing-6)}.social-media-links{gap:.75rem;gap:var(--spacing-3)}.social-media-link{height:44px;width:44px}.social-media-link svg{height:20px;width:20px}}.back-to-top{align-items:center;background-color:#18181b;background-color:hsl(var(--primary));border:1px solid #e4e4e7;border:1px solid hsl(var(--border));border-radius:50%;bottom:1.5rem;bottom:var(--spacing-6);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);color:#fafafa;color:hsl(var(--primary-foreground));cursor:pointer;display:flex;height:48px;justify-content:center;opacity:0;position:fixed;right:1.5rem;right:var(--spacing-6);transform:translateY(20px);transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal);visibility:hidden;width:48px;z-index:40}.back-to-top:hover{background-color:#18181be6;background-color:hsl(var(--primary)/.9);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;box-shadow:var(--shadow-xl);transform:translateY(-2px)}.back-to-top--visible{opacity:1;transform:translateY(0);visibility:visible}@media (max-width:768px){.back-to-top{bottom:1rem;bottom:var(--spacing-4);height:44px;right:1rem;right:var(--spacing-4);width:44px}}.logo-button{background:none;border:none;color:inherit;cursor:pointer;font:inherit;margin:0;padding:0;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.logo-button:hover{opacity:.8;transform:scale(1.05)}.logo-button:focus-visible{border-radius:.5rem;border-radius:var(--radius);opacity:.9;outline:2px solid #18181b;outline:2px solid hsl(var(--primary));outline-offset:2px}
/*# sourceMappingURL=main.da68b6cf.css.map*/