.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fffc;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}.header-container{display:flex;align-items:center;justify-content:space-between;height:48px}.header-logo{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--primary);z-index:1002;position:relative}.logo-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--accent);border-radius:var(--radius-md);font-weight:var(--font-bold);font-size:var(--text-sm);color:#fff;box-shadow:0 2px 8px #0071e359}.logo-text{font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--primary)}.header-nav{display:flex;align-items:center;gap:var(--space-1)}.nav-link{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-regular);color:var(--primary);text-decoration:none;border-radius:var(--radius-full);transition:all var(--transition-fast)}.nav-link:hover,.nav-link.active{color:var(--accent)}.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:4px;width:44px;height:44px;background:transparent;border:none;cursor:pointer;padding:10px;z-index:1002;position:relative}.menu-toggle span{display:block;width:18px;height:1.5px;background:var(--primary);border-radius:2px;transition:all var(--transition-fast)}.menu-toggle.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}.mobile-overlay{display:none}@media(max-width:768px){.menu-toggle{display:flex}.header-nav{position:fixed;top:0;right:0;bottom:0;width:100%;height:100vh;height:100dvh;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);background:#fffffffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:1001;transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform .3s ease,opacity .3s ease,visibility .3s ease}.header-nav.open{transform:translateY(0);opacity:1;visibility:visible}.mobile-overlay{display:none}.nav-link{font-size:1.125rem;padding:.75rem 1.5rem;color:var(--primary);font-weight:var(--font-regular)}.nav-link:hover,.nav-link.active{color:var(--accent)}.logo-text{display:none}}@media(max-width:360px){.header-container{height:44px}.logo-icon{width:28px;height:28px;font-size:.625rem}}.footer{background:var(--bg-secondary);border-top:1px solid var(--color-border);padding:var(--space-12) 0 var(--space-6);margin-top:auto}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border)}.footer-brand{display:flex;flex-direction:column;gap:var(--space-3)}.footer-logo{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--primary);font-weight:var(--font-semibold)}.footer-logo .logo-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--accent);border-radius:var(--radius-md);font-weight:var(--font-semibold);font-size:var(--text-xs);color:#fff}.footer-tagline{font-size:var(--text-sm);color:var(--secondary);max-width:280px}.footer-links h4,.footer-social h4{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--secondary);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.05em}.footer-nav{display:flex;flex-direction:column;gap:var(--space-2)}.footer-nav a{font-size:var(--text-sm);color:var(--secondary);text-decoration:none;transition:color var(--transition-fast)}.footer-nav a:hover{color:var(--accent)}.social-links{display:flex;gap:var(--space-3)}.social-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--secondary);transition:all var(--transition-fast)}.social-link:hover{background:var(--accent);border-color:var(--accent);color:#fff}.footer-bottom{padding-top:var(--space-6);text-align:center}.footer-bottom p{font-size:var(--text-xs);color:var(--secondary)}@media(max-width:768px){.footer-content{grid-template-columns:1fr;text-align:center}.footer-brand{align-items:center}.footer-logo{justify-content:center}.footer-tagline{text-align:center}.footer-nav{flex-direction:row;justify-content:center;flex-wrap:wrap;gap:var(--space-4)}.social-links{justify-content:center}}.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:48px;background:var(--bg)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.hero-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg)}.hero-grid{display:none}.hero-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-10);padding:var(--space-16) var(--container-padding)}.hero-content{display:flex;align-items:center;gap:var(--space-16);width:100%;max-width:980px}.hero-image-wrapper{position:relative;flex-shrink:0}.hero-image{width:200px;height:200px;border-radius:50%;object-fit:cover;border:1px solid var(--color-border);position:relative;z-index:1;box-shadow:0 4px 20px #0000001f}.hero-text{flex:1}.hero-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-bottom:var(--space-2)}.hero-name{font-size:var(--text-5xl);font-weight:var(--font-semibold);letter-spacing:-.02em;color:var(--primary);line-height:1.1}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:#34c7591f;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);color:#248a3d;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;border:none}.hero-title{font-size:var(--text-xl);font-weight:var(--font-regular);color:var(--secondary);margin-bottom:var(--space-5);line-height:1.4}.proof-points{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-bottom:var(--space-6)}.proof-item{text-align:center;padding:var(--space-3) var(--space-2);background:var(--surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.proof-item:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.proof-item.proof-highlight{background:var(--accent-soft);border-color:var(--accent)}.proof-item.proof-highlight .proof-number{color:var(--accent)}.proof-number{display:block;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--primary);line-height:1.1}.proof-label{display:block;font-size:var(--text-xs);color:var(--secondary);font-weight:var(--font-medium);margin-top:var(--space-1)}.hero-profile{margin-bottom:var(--space-5)}.profile-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.profile-item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--secondary)}.profile-item svg{flex-shrink:0;color:var(--accent)}.profile-item strong{color:var(--primary);font-weight:var(--font-medium)}.hero-approach{font-size:var(--text-sm);color:var(--secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-6);max-width:580px;padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);border-left:3px solid var(--accent)}.hero-cta{display:flex;gap:var(--space-3);margin-bottom:var(--space-8);flex-wrap:wrap}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base);min-height:48px}.hero-social{display:flex;gap:var(--space-3)}.btn.btn-icon.btn-github{background:#24292e!important;border-color:#24292e!important;color:#fff!important}.btn.btn-icon.btn-github:hover{background:#1a1e22!important;border-color:#1a1e22!important;color:#fff!important}.btn.btn-icon.btn-linkedin{background:#0a66c2!important;border-color:#0a66c2!important;color:#fff!important}.btn.btn-icon.btn-linkedin:hover{background:#004182!important;border-color:#004182!important;color:#fff!important}.btn.btn-icon.btn-medium{background:#00ab6c!important;border-color:#00ab6c!important;color:#fff!important}.btn.btn-icon.btn-medium:hover{background:#008f5a!important;border-color:#008f5a!important;color:#fff!important}@media(max-width:900px){.hero-content{flex-direction:column;text-align:center}.hero-image{width:140px;height:140px}.hero-header{flex-direction:column;gap:var(--space-3)}.hero-name{font-size:var(--text-4xl)}.hero-badge{font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.proof-points{grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.hero-title{font-size:var(--text-lg)}.profile-list{align-items:center}.hero-approach{text-align:center;border-left:none;border-top:3px solid var(--accent)}.hero-cta{justify-content:center;width:100%}.hero-social{justify-content:center}}@media(max-width:480px){.hero{padding-top:44px}.hero-container{padding:var(--space-6) var(--space-4)}.hero-image{width:100px;height:100px}.hero-name{font-size:var(--text-3xl)}.hero-title{font-size:var(--text-base);margin-bottom:var(--space-4)}.proof-points{grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.proof-item{padding:var(--space-2)}.proof-number{font-size:var(--text-xl)}.hero-approach{font-size:var(--text-xs);padding:var(--space-3)}.hero-cta{flex-direction:column;width:100%;gap:var(--space-3)}.hero-cta .btn{width:100%;min-height:48px;font-size:var(--text-sm);justify-content:center}.btn-icon{width:44px;height:44px}}.projects{padding-top:calc(48px + var(--space-16));background:var(--bg-secondary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-6)}.project-card{background:var(--surface);border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;flex-direction:column;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.project-card:hover{border-color:#0003;box-shadow:var(--shadow-card-hover)}.project-header{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}.tag-deployed{background:#34c7591f;color:#1d7a34;border:1px solid rgba(52,199,89,.3)}.tag-inprogress{background:#ff95001f;color:#995700;border:1px solid rgba(255,149,0,.3)}.tag-github{background:#0071e31a;color:#0071e3;border:1px solid rgba(0,113,227,.2)}.project-title{font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--space-2);color:var(--primary)}.project-metrics{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--accent-soft);border:1px solid rgba(37,99,235,.2);border-radius:var(--radius-md);margin-bottom:var(--space-3);width:fit-content}.project-metrics svg{color:var(--accent);flex-shrink:0}.project-metrics span{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--accent)}.project-description{font-size:var(--text-sm);color:var(--secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.project-points{margin-bottom:var(--space-4)}.project-points h4{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--secondary);text-transform:uppercase;letter-spacing:.02em;margin-bottom:var(--space-2)}.project-points ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.project-points li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary)}.project-points li svg{color:var(--color-success);flex-shrink:0}.project-stack{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6);margin-top:auto}.stack-tag{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);background:#f5f5f7;color:#424245;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.1)}.project-links{display:flex;flex-wrap:wrap;gap:var(--space-3)}.project-links .btn{flex:1 1 0;min-width:120px}.project-presentation{margin-bottom:var(--space-3)}.btn-full{width:100%}.btn-slides{background:var(--accent);color:#fff}.btn-slides:hover{background:var(--accent-hover);color:#fff}.btn-slides-disabled{background:var(--bg-secondary);color:var(--secondary);cursor:default;opacity:.6}.btn-slides-disabled:hover{background:var(--bg-secondary);color:var(--secondary)}.btn-coming-soon{background:var(--bg-secondary);color:var(--secondary);cursor:default}.btn-coming-soon svg{opacity:.5;width:18px;height:18px}.btn-coming-soon:hover{background:var(--bg-secondary);color:var(--secondary)}.render-notice{display:flex;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3);background:#ff95001f;border:1px solid rgba(255,149,0,.3);border-radius:var(--radius-md);font-size:var(--text-xs);color:#995700;line-height:var(--leading-relaxed)}.render-notice svg{flex-shrink:0;margin-top:2px;color:#ff9500}.render-notice span{color:#6b7280}@media(max-width:768px){.projects{padding-top:calc(44px + var(--space-8))}.projects-grid{grid-template-columns:1fr}.project-title{font-size:var(--text-lg)}}@media(max-width:480px){.project-card{padding:var(--space-4)}.project-links{flex-direction:column}.project-links .btn{width:100%;min-height:48px;justify-content:center}}.parcours{padding-top:calc(48px + var(--space-16));background:var(--bg)}.parcours-intro{margin-bottom:var(--space-16)}.intro-content{display:flex;align-items:center;gap:var(--space-10);background:var(--surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-sm)}.intro-image{flex-shrink:0}.intro-image img{width:140px;height:140px;border-radius:50%;object-fit:cover;border:1px solid var(--color-border)}.intro-text h2{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--primary);margin-bottom:var(--space-1)}.intro-tagline{font-size:var(--text-base);color:var(--accent);font-weight:var(--font-medium);margin-bottom:var(--space-4)}.intro-philosophy{font-size:var(--text-sm);color:var(--secondary);line-height:var(--leading-relaxed);max-width:600px}.subsection-title{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--primary);margin-bottom:var(--space-6)}.subsection-title svg{color:var(--accent)}.parcours-experience{margin-bottom:var(--space-16)}.experience-card{background:var(--surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}.experience-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.company-logo{width:48px;height:48px;background:var(--accent);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-bold);font-size:var(--text-xl)}.company-info{flex:1}.company-name{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--primary)}.company-group{font-size:var(--text-sm);color:var(--secondary)}.experience-meta{display:flex;gap:var(--space-2)}.tag-current{background:var(--accent-soft);color:var(--accent);border:1px solid rgba(37,99,235,.2)}.experience-details{margin-bottom:var(--space-4)}.experience-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--primary);margin-bottom:var(--space-2)}.experience-info{display:flex;flex-wrap:wrap;gap:var(--space-4)}.info-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--secondary)}.info-item svg{color:var(--accent);flex-shrink:0}.experience-context{padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.experience-context p{font-size:var(--text-sm);color:var(--secondary);line-height:var(--leading-relaxed)}.experience-missions{margin-bottom:var(--space-4)}.experience-missions h5{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary);text-transform:uppercase;letter-spacing:.02em;margin-bottom:var(--space-3)}.experience-missions ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.experience-missions li{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.experience-missions li svg{color:var(--color-success);flex-shrink:0;margin-top:2px}.experience-stack{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.stack-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.stack-tag{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);background:var(--bg-secondary);color:var(--color-text-secondary);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.parcours-highlights{margin-bottom:var(--space-16)}.highlights-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.highlight-card{background:var(--surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);text-align:center;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.highlight-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.highlight-number{display:block;font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--accent);margin-bottom:var(--space-1)}.highlight-label{font-size:var(--text-sm);color:var(--secondary);font-weight:var(--font-medium)}.parcours-skills{margin-bottom:var(--space-16)}.skills-row{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-8)}.skills-section h3{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--primary);margin-bottom:var(--space-3)}.tags-container{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag-lang{background:var(--accent-soft);color:var(--accent);border:1px solid rgba(37,99,235,.2)}.parcours-articles{background:var(--surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;margin-bottom:var(--space-16);box-shadow:var(--shadow-sm)}.parcours-articles .subsection-title{justify-content:center}.articles-text{font-size:var(--text-base);color:var(--secondary);margin-bottom:var(--space-6)}.parcours-cta{text-align:center;padding:var(--space-12);background:var(--bg-secondary);border-radius:var(--radius-xl)}.parcours-cta p{font-size:var(--text-lg);color:var(--primary);font-weight:var(--font-medium);margin-bottom:var(--space-6)}.cta-buttons{display:flex;justify-content:center;gap:var(--space-4)}@media(max-width:1024px){.highlights-grid{grid-template-columns:repeat(2,1fr)}.skills-row{grid-template-columns:1fr;gap:var(--space-6)}}@media(max-width:768px){.parcours{padding-top:calc(44px + var(--space-8))}.intro-content{flex-direction:column;text-align:center}.intro-philosophy{max-width:100%}.experience-header{flex-wrap:wrap}.experience-info{flex-direction:column;gap:var(--space-2)}.highlights-grid{grid-template-columns:repeat(2,1fr)}.cta-buttons{flex-direction:column;align-items:center}.cta-buttons .btn{width:100%;max-width:280px}}@media(max-width:480px){.intro-image img{width:100px;height:100px}.highlights-grid{grid-template-columns:1fr 1fr;gap:var(--space-3)}.highlight-card{padding:var(--space-4)}.highlight-number{font-size:var(--text-2xl)}.parcours-cta{padding:var(--space-8)}}.skills{padding-top:calc(48px + var(--space-16));background:var(--bg)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-6);margin-bottom:var(--space-20)}.skill-card{background:var(--surface);border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-xl);padding:var(--space-6);text-align:center;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.skill-card:hover{border-color:#0003;box-shadow:var(--shadow-card-hover)}.skill-icon{width:48px;height:48px;margin:0 auto var(--space-4);background:var(--accent);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff}.skill-category{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--primary);margin-bottom:var(--space-4)}.skill-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.skill-list li{font-size:var(--text-sm);color:#1d1d1f;padding:var(--space-2) var(--space-3);background:#fff;border-radius:var(--radius-md);transition:all var(--transition-fast);border:1px solid rgba(0,0,0,.15);box-shadow:0 1px 3px #0000000f}.skill-list li:hover{background:#0071e314;color:#0071e3;border-color:#0071e34d;box-shadow:0 2px 6px #0071e31f}.tech-logos{text-align:center;margin-bottom:var(--space-16)}.tech-logos h3{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--primary);margin-bottom:var(--space-8)}.logos-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-8)}.tech-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.tech-icon{width:52px;height:52px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-semibold);background:var(--bg-secondary);color:var(--primary);border:1px solid var(--color-border);transition:all var(--transition-base)}.tech-icon:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.05);box-shadow:var(--shadow-md)}.tech-icon.python,.tech-icon.sql,.tech-icon.gcp,.tech-icon.sklearn,.tech-icon.docker,.tech-icon.git{background:var(--bg-secondary);color:var(--primary);border:1px solid var(--color-border)}.tech-icon.python:hover,.tech-icon.sql:hover,.tech-icon.gcp:hover,.tech-icon.sklearn:hover,.tech-icon.docker:hover,.tech-icon.git:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.tech-item span{font-size:var(--text-sm);color:var(--secondary)}.certifications{text-align:center}.certifications h3{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--primary);margin-bottom:var(--space-8)}.certifications-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}.certification-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--surface);border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-full);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.certification-item:hover{border-color:#0003;box-shadow:var(--shadow-md)}.certification-icon{width:28px;height:28px;background:var(--accent);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff}.certification-icon.sas{background:#0066b3}.certification-icon.dataiku{background:#2ab1ac}.certification-item span{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--primary)}@media(max-width:768px){.certifications-grid{flex-direction:column;align-items:center}.certification-item{width:100%;max-width:320px;justify-content:center}}@media(max-width:480px){.logos-grid{gap:var(--space-4)}.tech-icon{width:44px;height:44px;font-size:var(--text-xs)}}.contact{padding-top:calc(48px + var(--space-16));background:var(--bg)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);max-width:900px;margin:0 auto}.contact-card{background:var(--surface);border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-sm)}.contact-info{display:flex;flex-direction:column;gap:var(--space-6);margin-bottom:var(--space-8)}.contact-item{display:flex;align-items:center;gap:var(--space-4);text-decoration:none;color:inherit;padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid transparent;transition:all var(--transition-base)}.contact-item:hover{background:var(--bg-secondary)}.contact-item:hover .contact-icon{transform:scale(1.05)}.contact-icon{width:44px;height:44px;background:var(--accent);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;transition:transform var(--transition-fast)}.contact-details h3{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--primary);margin-bottom:var(--space-1);line-height:1.2}.contact-details p{font-size:var(--text-sm);color:var(--secondary);margin:0}.contact-cta{text-align:center}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.message-card{background:var(--bg-secondary);border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.message-icon{width:52px;height:52px;background:var(--accent);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:var(--space-4)}.message-card h3{font-size:var(--text-2xl);font-weight:var(--font-semibold);margin-bottom:var(--space-4);color:var(--primary)}.message-card p{font-size:var(--text-base);color:var(--secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-2)}@media(max-width:768px){.contact{padding-top:calc(44px + var(--space-8))}.contact-content{grid-template-columns:1fr}.message-card{padding:var(--space-6)}.message-card h3{font-size:var(--text-xl)}}@media(max-width:480px){.contact-card{padding:var(--space-4)}.contact-info{gap:var(--space-3)}.contact-item{padding:var(--space-3);min-height:60px}.contact-icon{width:40px;height:40px}.contact-cta .btn{width:100%;min-height:50px}.message-card{padding:var(--space-4)}}.app{display:flex;flex-direction:column;min-height:100vh}.main{flex:1}:root{--bg: #FAFAFA;--bg-secondary: #F2F2F7;--surface: #FFFFFF;--primary: #18181B;--secondary: #52525B;--accent: #2563EB;--accent-hover: #1D4ED8;--accent-soft: rgba(37, 99, 235, .1);--color-primary: #2563EB;--color-primary-light: #3B82F6;--color-primary-dark: #1D4ED8;--color-secondary: #52525B;--color-secondary-light: #71717A;--color-accent: #2563EB;--gradient-primary: #2563EB;--gradient-hero: #F2F2F7;--gradient-card: #FFFFFF;--gradient-text: #2563EB;--gradient-subtle: transparent;--gradient: #2563EB;--color-bg: #FAFAFA;--color-bg-secondary: #F2F2F7;--color-bg-tertiary: #F8FAFC;--color-bg-card: #FFFFFF;--color-bg-card-hover: #FFFFFF;--color-surface: #F2F2F7;--color-border: rgba(0, 0, 0, .08);--color-text: #18181B;--color-text-secondary: #3F3F46;--color-text-muted: #52525B;--color-success: #16A34A;--color-warning: #D97706;--color-info: #2563EB;--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "Helvetica", "Arial", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3rem;--text-6xl: 3.5rem;--font-light: 300;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.7;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .1);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .12);--shadow-glow: none;--shadow-glow-sm: none;--shadow-card-hover: 0 4px 20px rgba(0, 0, 0, .12);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--container-max: 1120px;--container-padding: var(--space-6)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-regular);line-height:var(--leading-normal);color:var(--primary);background:var(--bg);min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--primary);letter-spacing:-.02em}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{color:var(--color-text-secondary);line-height:var(--leading-relaxed)}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.section{padding:var(--space-24) 0;position:relative}.section:before{display:none}.section-title{font-size:var(--text-4xl);font-weight:var(--font-semibold);text-align:center;margin-bottom:var(--space-4);color:var(--primary);letter-spacing:-.02em}.section-subtitle{font-size:var(--text-lg);color:var(--secondary);text-align:center;max-width:560px;margin:0 auto var(--space-16);line-height:var(--leading-relaxed)}hr.divider,.cta-strip{height:1px;border:none;background:var(--color-border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-family);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-full);border:none;cursor:pointer;transition:all var(--transition-base);text-decoration:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);color:#fff}.btn-secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn-secondary:hover{background:#0071e314;color:var(--accent)}.btn-outline{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn-outline:hover{background:#0071e314;color:var(--accent)}.btn-icon{width:44px;height:44px;padding:0;border-radius:var(--radius-full);background:var(--bg-secondary);border:1px solid var(--color-border);color:var(--primary)}.btn-icon:hover{background:var(--accent);border-color:var(--accent);color:#fff}.card{background:var(--surface);border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-xl);padding:var(--space-8);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.card:hover{border-color:#0000002e;box-shadow:var(--shadow-card-hover)}.tag{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-full);background:#0071e31a;color:#0071e3;border:1px solid rgba(0,113,227,.2)}.tag-success{background:#34c7591f;color:#1d7a34;border:1px solid rgba(52,199,89,.3)}.tag-warning{background:#ff95001f;color:#995700;border:1px solid rgba(255,149,0,.3)}.grid{display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.text-center{text-align:center}.text-gradient{color:var(--accent)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-fade-in-up{animation:fadeInUp .3s ease forwards}.animate-fade-in{animation:fadeIn .25s ease forwards}.animate-float{animation:float 4s ease-in-out infinite}@media(max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){:root{--text-5xl: 2.25rem;--text-4xl: 1.875rem;--text-3xl: 1.5rem}.section{padding:var(--space-16) 0}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.hide-mobile{display:none!important}}@media(max-width:480px){:root{--container-padding: var(--space-4);--text-5xl: 2rem;--text-4xl: 1.75rem}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0003;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#0000004d}::selection{background:#0071e333;color:var(--primary)}
