html{scroll-behavior:smooth}[appScrollReveal]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}[appScrollReveal].revealed{opacity:1;transform:translateY(0)}:where(a,button,[tabindex]):focus-visible{outline:2px solid #3b82f6;outline-offset:3px;border-radius:6px}.hero :focus-visible,.projets-section :focus-visible,.stack-section :focus-visible,.contact-section :focus-visible,.lang-btn:focus-visible{outline-color:#93c5fd}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:1rem;background:#2563eb;color:#fff;padding:.6rem 1.2rem;border-radius:8px;text-decoration:none;font-family:DM Sans,sans-serif;font-weight:500;z-index:9999;transition:top .2s ease}.skip-link:focus{top:1rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[appScrollReveal],.profil-card{opacity:1!important;transform:none!important}}html,body{overflow-x:clip}html.a11y-mode{--a11y-accent: #1d4ed8;--a11y-accent-light: #2563eb;--a11y-text-primary: #0a0f1e;--a11y-text-secondary: #334155;--a11y-bg: #ffffff;--a11y-bg-dark: #020817;--a11y-border: #94a3b8;--a11y-success: #0369a1;--a11y-error: #7c3aed;--a11y-malt: #c2410c}html.a11y-mode body{color:#0a0f1e}html.a11y-mode .expertise-section,html.a11y-mode .about-section,html.a11y-mode .profil-section{background:#f0f4f8}html.a11y-mode .hero,html.a11y-mode .projets-section,html.a11y-mode .stack-section,html.a11y-mode .contact-section{background:#020817}html.a11y-mode .section-badge,html.a11y-mode .about-label,html.a11y-mode .profil-badge,html.a11y-mode .contact-badge{color:#1d4ed8;background:#1d4ed81f;border-color:#1d4ed84d}html.a11y-mode .cta-primary,html.a11y-mode .cta-button,html.a11y-mode .profil-cta--linkedin{background:#1d4ed8;border-color:#1d4ed8}html.a11y-mode .cta-primary:hover,html.a11y-mode .cta-button:hover{background:#1e3a8a}html.a11y-mode .availability-dot{background:#0369a1;box-shadow:0 0 0 3px #0369a14d}html.a11y-mode .availability-badge{color:#bae6fd;background:#0369a126;border-color:#0369a14d}html.a11y-mode .profil-cta--malt,html.a11y-mode .social-card--malt .social-icon--malt{border-color:#c2410c;background:#c2410c;color:#fff}html.a11y-mode :where(a,button,[tabindex]):focus-visible{outline-width:3px;outline-color:#1d4ed8;outline-offset:4px}html.a11y-mode .card,html.a11y-mode .stat-card,html.a11y-mode .profil-card{border-color:#94a3b8}
