[data-theme=light]{--color-primary: #2563eb;--color-primary-dark: #1e40af;--color-primary-light: #3b82f6;--color-secondary: #7c3aed;--color-secondary-dark: #6d28d9;--color-secondary-light: #8b5cf6;--color-accent: #10b981;--color-accent-dark: #059669;--color-accent-light: #34d399;--color-bg-primary: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-bg-overlay: rgba(255, 255, 255, .96);--color-text-primary: #1e293b;--color-text-secondary: #475569;--color-text-tertiary: #64748b;--color-text-inverse: #ffffff;--color-border: #e2e8f0;--color-border-dark: #cbd5e1;--color-shadow: rgba(0, 0, 0, .1);--color-shadow-dark: rgba(0, 0, 0, .2)}[data-theme=dark]{--color-primary: #3b82f6;--color-primary-dark: #2563eb;--color-primary-light: #60a5fa;--color-secondary: #8b5cf6;--color-secondary-dark: #7c3aed;--color-secondary-light: #a78bfa;--color-accent: #34d399;--color-accent-dark: #10b981;--color-accent-light: #6ee7b7;--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-bg-overlay: rgba(15, 23, 42, .96);--color-text-primary: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-inverse: #1e293b;--color-border: #334155;--color-border-dark: #475569;--color-shadow: rgba(0, 0, 0, .3);--color-shadow-dark: rgba(0, 0, 0, .5)}:root{--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 6rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 var(--color-shadow);--shadow-md: 0 4px 6px -1px var(--color-shadow), 0 2px 4px -1px var(--color-shadow);--shadow-lg: 0 10px 15px -3px var(--color-shadow), 0 4px 6px -2px var(--color-shadow);--shadow-xl: 0 20px 25px -5px var(--color-shadow), 0 10px 10px -5px var(--color-shadow);--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-base: 1;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*{box-sizing:border-box;margin:0;padding:0}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0;color:var(--color-text-primary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-primary-dark)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}button{font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;border:none;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base),transform var(--transition-fast)}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:active{transform:scale(.98)}input,select,textarea{font-family:inherit;font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-base),background-color var(--transition-base)}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}.skip-link{position:absolute;top:-40px;left:0;background-color:var(--color-primary);color:var(--color-text-inverse);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;z-index:var(--z-tooltip);border-radius:var(--radius-md)}.skip-link:focus{top:var(--spacing-md)}.theme-toggle{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.theme-toggle:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-border-dark)}.theme-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.theme-toggle-icon{font-size:var(--font-size-lg);line-height:1}.theme-toggle-text{display:none}@media(min-width:768px){.theme-toggle-text{display:inline}}.language-switcher{display:flex;align-items:center}.language-select{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.language-select:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-border-dark)}.language-select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.navigation{position:sticky;top:0;width:100%;z-index:var(--z-fixed)}.navigation-background{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:var(--bg-offset-x, center) var(--bg-offset-y, center);background-repeat:no-repeat;opacity:.5;z-index:-1}.navigation-content{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xl);padding:var(--spacing-md) var(--spacing-xl);background-color:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navigation-logo{display:flex;align-items:center;text-decoration:none;transition:opacity var(--transition-base);line-break:nowrap}.navigation-logo:hover{opacity:.8}.navigation-logo:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.navigation-logo-image{height:2.5rem;width:auto;display:block}.navigation-toggle{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base)}.navigation-toggle:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border-dark)}.navigation-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.navigation-toggle-icon{font-size:var(--font-size-lg);line-height:1}.navigation-menu{display:flex;flex-direction:column;gap:var(--spacing-lg);position:absolute;top:100%;left:0;right:0;padding:var(--spacing-lg) var(--spacing-xl);background-color:var(--color-bg-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--color-border);transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform var(--transition-base),opacity var(--transition-base),visibility var(--transition-base)}.navigation-menu-open{transform:translateY(0);opacity:1;visibility:visible}.navigation-list{display:flex;flex-direction:column;gap:var(--spacing-sm);list-style:none;margin:0;padding:0}.navigation-link{display:block;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);text-decoration:none;font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:background-color var(--transition-base),color var(--transition-base)}.navigation-link:hover{background-color:var(--color-bg-secondary);color:var(--color-primary)}.navigation-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.navigation-link-active{background-color:var(--color-primary);color:var(--color-text-inverse)}.navigation-link-active:hover{background-color:var(--color-primary-dark);color:var(--color-text-inverse)}.navigation-controls{display:flex;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.navigation-linkedin{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:var(--spacing-xs);background-color:transparent;transition:background-color var(--transition-base),border-color var(--transition-base),transform var(--transition-base)}.navigation-linkedin:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border-dark)}.navigation-linkedin:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.navigation-linkedin-logo{width:100%;height:100%;object-fit:contain;display:block}@media(min-width:768px){.navigation-toggle{display:none}.navigation-menu{position:static;flex-direction:row;align-items:center;justify-content:space-between;width:100%;padding:0;background-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-top:none;transform:none;opacity:1;visibility:visible}.navigation-list{flex-direction:row;gap:var(--spacing-md)}.navigation-controls{padding-top:0;border-top:none}}.home{width:100%;min-height:calc(100vh - 200px)}.home-hero{display:grid;grid-template-columns:1fr;gap:var(--spacing-2xl);padding:var(--spacing-2xl) var(--spacing-xl);max-width:1200px;margin:0 auto}.home-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);text-align:center}.home-image-container{width:200px;height:200px;border-radius:var(--radius-full);overflow:hidden;box-shadow:var(--shadow-lg);background-color:var(--color-bg-secondary)}.home-image{width:100%;height:100%;object-fit:contain}.home-text{display:flex;flex-direction:column;gap:var(--spacing-md)}.home-name{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight)}.home-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin:0;line-height:var(--line-height-normal)}.home-location{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-normal)}.home-intro{font-size:var(--font-size-base);color:var(--color-text-primary);margin:var(--spacing-lg) 0 0 0;line-height:var(--line-height-relaxed)}.home-skills{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.home-skills-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.home-skills-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);list-style:none;margin:0;padding:0}.home-skill{padding:var(--spacing-xs) var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.home-wordcloud{display:flex;justify-content:center;align-items:center;padding:var(--spacing-xl);background-color:var(--color-bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.home-wordcloud-image{max-width:100%;height:auto;border-radius:var(--radius-lg)}@media(min-width:768px){.home-hero{grid-template-columns:1fr 1fr;align-items:center}.home-content{text-align:left;align-items:flex-start}.home-image-container{width:250px;height:250px}.home-name{font-size:var(--font-size-5xl)}.home-title{font-size:var(--font-size-3xl)}}.about{width:100%;min-height:calc(100vh - 200px)}.about-section{display:flex;flex-direction:column;gap:var(--spacing-2xl);padding:var(--spacing-2xl) var(--spacing-xl);max-width:1200px;margin:0 auto}.about-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight)}.about-subtitle{font-size:var(--font-size-xl);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-normal)}.about-content{display:grid;grid-template-columns:1fr;gap:var(--spacing-2xl);align-items:center}.about-image-container{width:100%;max-width:400px;margin:0 auto;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);background-color:var(--color-bg-secondary)}.about-image{width:100%;height:auto;object-fit:cover;display:block}.about-text{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.about-bio{font-size:var(--font-size-lg);color:var(--color-text-primary);line-height:var(--line-height-relaxed);margin:0}.about-details{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.about-detail-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.about-detail-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0}.about-detail-value{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0}.about-section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-primary)}.about-education{display:flex;flex-direction:column;gap:var(--spacing-md)}.about-education-item{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-lg);background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.about-education-header{display:flex;align-items:flex-start;gap:var(--spacing-md)}.about-education-logo{width:80px;height:80px;object-fit:contain;flex-shrink:0;padding:var(--spacing-sm);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.about-education-info{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.about-education-degree{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.about-education-school{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin:0}.about-education-year{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.about-education-honors{font-size:var(--font-size-sm);color:var(--color-accent);font-weight:var(--font-weight-medium);margin:var(--spacing-xs) 0 0 0}.about-certifications{display:flex;flex-direction:column;gap:var(--spacing-md)}.about-certification-item{display:flex;flex-direction:column;padding:var(--spacing-lg);background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.about-certification-header{display:flex;align-items:flex-start;gap:var(--spacing-md)}.about-certification-logo{width:80px;height:80px;object-fit:contain;flex-shrink:0;padding:var(--spacing-sm);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.about-certification-text{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0;flex:1;display:flex;align-items:center;min-height:80px}@media(min-width:768px){.about-content{grid-template-columns:1fr 1fr}.about-image-container{margin:0}.about-title{font-size:var(--font-size-5xl)}}.projects{width:100%;min-height:calc(100vh - 200px)}.projects-section{display:flex;flex-direction:column;gap:var(--spacing-2xl);padding:var(--spacing-2xl) var(--spacing-xl);max-width:1200px;margin:0 auto}.projects-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight)}.projects-subtitle{font-size:var(--font-size-xl);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-normal)}.projects-list{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.project-card{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-xl);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-base),transform var(--transition-base)}.project-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.project-header{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border)}.project-header-main{display:flex;flex-direction:column;gap:var(--spacing-xs)}.project-company-wrapper{display:flex;align-items:center;gap:var(--spacing-md)}.project-company-link{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:80px;height:80px;padding:var(--spacing-sm);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:transform var(--transition-base),box-shadow var(--transition-base)}.project-company-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.project-company-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.project-company-logo{width:100%;height:100%;object-fit:contain;display:block}.project-company-info{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.project-company{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin:0}.project-role{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.project-meta{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.project-location{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.project-period{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent);margin:0}.project-description{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:var(--line-height-relaxed);margin:0}.project-highlights{display:flex;flex-direction:column;gap:var(--spacing-md)}.project-highlights-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.project-highlights-list{display:flex;flex-direction:column;gap:var(--spacing-sm);list-style:none;margin:0;padding-left:var(--spacing-lg)}.project-highlight{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);position:relative}.project-highlight:before{content:"•";position:absolute;left:calc(-1 * var(--spacing-lg));color:var(--color-primary);font-weight:var(--font-weight-bold)}.project-technologies{display:flex;flex-direction:column;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.project-technologies-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.project-technologies-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.project-technology{padding:var(--spacing-xs) var(--spacing-md);background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}@media(min-width:768px){.project-header{flex-direction:row;justify-content:space-between;align-items:flex-start}.project-meta{text-align:right;align-items:flex-end}.project-company-wrapper{flex:1}.projects-title{font-size:var(--font-size-5xl)}}.contact{width:100%;min-height:calc(100vh - 200px)}.contact-section{display:flex;flex-direction:column;gap:var(--spacing-2xl);padding:var(--spacing-2xl) var(--spacing-xl);max-width:800px;margin:0 auto}.contact-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight);text-align:center}.contact-subtitle{font-size:var(--font-size-xl);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-normal);text-align:center}.contact-content{width:100%}.contact-info{display:flex;flex-direction:column;gap:var(--spacing-xl);padding:var(--spacing-2xl);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.contact-item{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.contact-item:last-child{border-bottom:none;padding-bottom:0}.contact-item-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0}.contact-item-value{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0;text-decoration:none;transition:color var(--transition-base)}.contact-item-value:hover{color:var(--color-primary)}.contact-item-value:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.contact-captcha{display:flex;flex-direction:column;gap:var(--spacing-md)}.contact-captcha-instruction{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.contact-captcha-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.contact-captcha-display{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-tertiary);border:2px solid var(--color-border);border-radius:var(--radius-md);font-family:Courier New,monospace;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:.2em;color:var(--color-text-primary);text-align:center;justify-content:center}.contact-captcha-code{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center}.contact-captcha-char{position:relative;display:inline-block;font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.contact-captcha-refresh{padding:var(--spacing-xs);background-color:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-lg);cursor:pointer;transition:color var(--transition-base),transform var(--transition-base);line-height:1}.contact-captcha-refresh:hover{color:var(--color-primary);transform:rotate(180deg)}.contact-captcha-refresh:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.contact-captcha-input{padding:var(--spacing-md);font-size:var(--font-size-base);text-align:center;letter-spacing:.1em;text-transform:uppercase}.contact-captcha-submit{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-primary);color:var(--color-text-inverse);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);transition:background-color var(--transition-base)}.contact-captcha-submit:hover{background-color:var(--color-primary-dark)}.contact-captcha-submit:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.contact-reset-button{margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background-color:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:background-color var(--transition-base),color var(--transition-base)}.contact-reset-button:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.contact-linkedin-link{display:flex;align-items:center;gap:var(--spacing-md);text-decoration:none;color:var(--color-text-primary);transition:color var(--transition-base)}.contact-linkedin-link:hover{color:var(--color-primary)}.contact-linkedin-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.contact-linkedin-logo{width:2rem;height:2rem;object-fit:contain}.contact-linkedin-text{font-size:var(--font-size-base);word-break:break-all}.contact-modal-backdrop{position:fixed;inset:0;background-color:#00000080;z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-base)}.contact-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-modal);width:90%;max-width:500px;animation:slideIn var(--transition-base)}.contact-modal-content{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-2xl);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.contact-modal-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight)}.contact-modal-message{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-relaxed)}.contact-modal-close{align-self:flex-end;padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-primary);color:var(--color-text-inverse);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);transition:background-color var(--transition-base);margin-top:var(--spacing-sm)}.contact-modal-close:hover{background-color:var(--color-primary-dark)}.contact-modal-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}@media(min-width:768px){.contact-linkedin-text{word-break:normal}.contact-title{font-size:var(--font-size-5xl)}}.app{display:grid;grid-template-rows:auto 1fr auto;grid-template-areas:"header" "main" "footer";min-height:100vh;background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:background-color var(--transition-base),color var(--transition-base)}.app-footer{grid-area:footer;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border)}.app-footer-text{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center}
