:root{--primary:#2563EB;--primary-light:#3B82F6;--secondary:#60A5FA;--accent:#F97316;--accent-light:#FB923C;--dark:#0F172A;--darker:#020617;--light:#F8FAFC;--gray:#1E293B;--gray-light:#334155;--text:#E2E8F0;--text-muted:#94A3B8;--border:#334155;--shadow:rgba(0, 0, 0, 0.3);--shadow-lg:rgba(0, 0, 0, 0.5)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Inter',sans-serif;background-color:var(--darker);color:var(--text);line-height:1.6;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 20px}header{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:rgb(15 23 42 / .8);backdrop-filter:blur(10px);padding:20px 0;border-bottom:1px solid var(--border)}nav{display:flex;justify-content:space-between;align-items:center}.logo a{text-decoration:none;color:#fff;font-size:1.8rem;font-weight:600;letter-spacing:1px}.logo a span{background:linear-gradient(90deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:#fff0;font-style:italic}.nav-links{display:flex;list-style:none;gap:2rem}.nav-links a{color:#cbd5e1;text-decoration:none;font-weight:400;transition:color 0.3s ease;position:relative;padding:.5rem 0}.nav-links a:hover{color:#fff}.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transition:width 0.3s ease}.nav-links a:hover::after{width:100%}.cta-button{display:flex;align-items:center;gap:.5rem;background:linear-gradient(90deg,#3b82f6,#8b5cf6);color:#fff;padding:.7rem 1.5rem;border-radius:50px;text-decoration:none;font-weight:500;transition:transform 0.3s ease,box-shadow 0.3s ease}.cta-button:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgb(59 130 246 / .4)}.cta-button i{font-size:1rem}.hero{min-height:100vh;display:flex;align-items:center;padding:120px 0 60px;background:radial-gradient(ellipse at 20% 50%,rgb(37 99 235 / .15) 0%,transparent 50%),radial-gradient(ellipse at 80% 50%,rgb(249 115 22 / .15) 0%,transparent 50%),var(--darker);position:relative;overflow:hidden}.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:url('data:image/svg+xml;utf8,<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse"><path d="M 40 0 L 0 0 0 40" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(https://nicolas-cheron.fr/wp-content/themes/themenico/assets/css/%23grid)"/></svg>');opacity:.3}.hero-content{display:flex;align-items:center;gap:60px;position:relative;z-index:1}.hero-text{flex:1}.hero-text .subtitle{font-family:'JetBrains Mono',monospace;color:var(--primary);font-size:14px;margin-bottom:15px;letter-spacing:2px}.hero-text h1{font-size:56px;font-weight:700;line-height:1.1;margin-bottom:20px;background:linear-gradient(90deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text}.hero-text p{font-size:18px;color:var(--text-muted);max-width:500px;margin-bottom:30px;line-height:1.8}.hero-buttons{display:flex;gap:15px}.hero-image{flex:1;position:relative}.hero-image .img-container{width:100%;height:400px;border-radius:20px;overflow:hidden;position:relative;box-shadow:0 20px 40px var(--shadow-lg);transform:perspective(1000px) rotateY(5deg);transition:transform 0.5s}.hero-image:hover .img-container{transform:perspective(1000px) rotateY(0deg)}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-image .glow{position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px;background:radial-gradient(circle,rgb(37 99 235 / .2) 0%,transparent 70%);border-radius:20px;z-index:-1}.about{padding:100px 0;position:relative}.about::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--primary),transparent)}.about-content{display:flex;gap:60px;align-items:center}.about-text{flex:1}.about-text h2{font-size:36px;font-weight:600;margin-bottom:20px;color:var(--light)}.about-text p{color:var(--text-muted);margin-bottom:20px;font-size:16px;line-height:1.8}.about-text .highlight{color:var(--primary);font-weight:600}.about-image{flex:1;position:relative}.about-image .img-container{width:100%;height:500px;border-radius:20px;overflow:hidden;box-shadow:0 20px 40px var(--shadow-lg);position:relative}.about-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:filter 0.5s}.about-image:hover img{filter:grayscale(0%)}.about-image .overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to top,rgb(15 23 42 / .9) 0%,transparent 50%);opacity:0;transition:opacity 0.5s}.about-image:hover .overlay{opacity:1}.skills{padding:100px 0;background-color:var(--darker);position:relative}.skills h2{text-align:center;font-size:36px;font-weight:600;margin-bottom:60px;color:var(--light)}.skills-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px}.skill-card{background-color:rgb(30 41 59 / .5);border:1px solid var(--border);border-radius:15px;padding:30px;transition:all 0.3s;position:relative;overflow:hidden}.skill-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent))}.skill-card:hover{transform:translateY(-10px);box-shadow:0 15px 30px var(--shadow);border-color:var(--primary)}.skill-icon{font-size:40px;color:var(--primary);margin-bottom:15px}.skill-card h3{font-size:20px;font-weight:600;margin-bottom:10px;color:var(--light)}.skill-card p{color:var(--text-muted);font-size:14px;margin-bottom:20px}.skill-bar{height:5px;background-color:var(--gray);border-radius:5px;margin-bottom:10px;overflow:hidden}.skill-level{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:5px;transition:width 1s ease-in-out}.projects{padding:100px 0;background-color:var(--darker)}.projects h2{text-align:center;font-size:36px;font-weight:600;margin-bottom:20px;color:var(--light)}.projects-subtitle{text-align:center;color:var(--text-muted);max-width:600px;margin:0 auto 60px;font-size:16px}.projects-filter{display:flex;justify-content:center;gap:15px;margin-bottom:50px;flex-wrap:wrap}.filter-btn{background-color:#fff0;border:1px solid var(--border);color:var(--text);padding:8px 20px;border-radius:50px;font-size:14px;cursor:pointer;transition:all 0.3s}.filter-btn:hover,.filter-btn.active{background-color:var(--primary);border-color:var(--primary);color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:30px}.project-card{background-color:rgb(30 41 59 / .5);border:1px solid var(--border);border-radius:15px;overflow:hidden;transition:all 0.3s;position:relative}.project-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent))}.project-card:hover{transform:translateY(-10px);box-shadow:0 15px 30px var(--shadow);border-color:var(--primary)}.project-img{height:200px;background-size:cover;background-position:center;position:relative;overflow:hidden}.project-img::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to top,rgb(15 23 42 / .9) 0%,transparent 100%)}.project-info{padding:25px}.project-info h3{font-size:22px;font-weight:600;margin-bottom:10px;color:var(--light)}.project-info p{color:var(--text-muted);margin-bottom:15px;font-size:14px;line-height:1.6}.project-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-size:12px;color:var(--text-muted)}.tech-tags{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{background-color:rgb(37 99 235 / .2);color:var(--primary);padding:4px 10px;border-radius:20px;font-size:12px;border:1px solid var(--primary);transition:all 0.3s}.tech-tag:hover{background-color:var(--primary);color:#fff}.project-links{display:flex;gap:10px;margin-top:15px}.project-links a{display:inline-flex;align-items:center;gap:5px;color:var(--text);text-decoration:none;font-size:14px;font-weight:500;transition:color 0.3s}.project-links a:hover{color:var(--primary)}.contact{padding:100px 0;background:linear-gradient(135deg,rgb(37 99 235 / .1) 0%,rgb(249 115 22 / .1) 100%);position:relative}.contact::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:url('data:image/svg+xml;utf8,<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid2" width="60" height="60" patternUnits="userSpaceOnUse"><path d="M 60 0 L 0 0 0 60" fill="none" stroke="rgba(255,255,255,0.03)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(https://nicolas-cheron.fr/wp-content/themes/themenico/assets/css/%23grid2)"/></svg>')}.contact-content{position:relative;z-index:1}.contact h2{text-align:center;font-size:36px;font-weight:600;margin-bottom:20px;color:var(--light)}.contact p{text-align:center;color:var(--text-muted);max-width:600px;margin:0 auto 50px;font-size:16px}.contact-form{max-width:600px;margin:0 auto;background-color:rgb(30 41 59 / .5);border:1px solid var(--border);border-radius:15px;padding:40px;box-shadow:0 10px 30px var(--shadow)}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:8px;color:var(--text);font-size:14px;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:15px;background-color:var(--gray);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:16px;transition:border-color 0.3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:150px}.submit-btn{width:100%;background-color:var(--primary);color:#fff;padding:15px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s;display:flex;align-items:center;justify-content:center;gap:8px}.submit-btn:hover{background-color:var(--primary-light);transform:translateY(-2px);box-shadow:0 5px 15px var(--shadow)}footer{background-color:var(--darker);padding:60px 0 30px;border-top:1px solid var(--border)}.footer-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.footer-logo{font-size:24px;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:10px}.footer-logo i{font-size:28px}.footer-social{display:flex;gap:20px}.footer-social a{color:var(--text-muted);font-size:20px;transition:color 0.3s}.footer-social a:hover{color:var(--primary)}.footer-bottom{text-align:center;padding-top:30px;border-top:1px solid var(--border);color:var(--text-muted);font-size:14px}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}.hero-content>*{animation:fadeInUp 0.8s ease-out}.hero-text{animation:slideInLeft 0.8s ease-out}.hero-image{animation:slideInRight 0.8s ease-out}.about-content>*{animation:fadeInUp 0.8s ease-out}.about-text{animation:slideInLeft 0.8s ease-out}.about-image{animation:slideInRight 0.8s ease-out}@media (max-width:992px){.hero-content,.about-content{flex-direction:column;text-align:center}.hero-text,.about-text{margin-bottom:40px}.hero-image .img-container{height:300px}.about-image .img-container{height:400px}.hero-text h1{font-size:48px}.footer-content{flex-direction:column;gap:30px}}@media (max-width:768px){.nav-links{display:none}.hero-text h1{font-size:36px}.projects-grid{grid-template-columns:1fr}}.formation-section{padding:4rem 0 12rem 0;background:#f8fafc;font-family:'Poppins',sans-serif}.formation-section h2{text-align:center;font-size:2.5rem;color:#1e293b;margin-bottom:.5rem}.formation-section .subtitle{text-align:center;color:#64748b;margin-bottom:3rem;font-style:italic}.timeline{position:relative;max-width:1000px;margin:0 auto;padding:2rem 0}.timeline::before{content:'';position:absolute;left:50%;transform:translateX(-50%);width:2px;height:100%;background:linear-gradient(to bottom,#3b82f6,#8b5cf6)}.timeline-item{display:flex;justify-content:flex-start;margin-bottom:6rem;position:relative;width:100%}.timeline-item:nth-child(odd){justify-content:flex-start;padding-right:50%}.timeline-item:nth-child(even){justify-content:flex-end;padding-left:50%}.timeline-content{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 4px 15px rgb(0 0 0 / .1);max-width:450px;margin:0 6rem 0 6rem;position:relative}.timeline-content .timeline-date{color:#3b82f6;font-weight:600;margin-bottom:.5rem;font-size:.9rem}.timeline-content h3{color:#1e293b;margin-bottom:.5rem;font-size:1.3rem}.timeline-content p{color:#475569;line-height:1.6;margin-bottom:.5rem}.competences{font-size:.9rem;color:#64748b;margin-top:.5rem}.timeline-icon{position:absolute;left:50%;transform:translateX(-50%);width:150px;height:150px;border-radius:50%;overflow:hidden;border:3px solid #3b82f6;background:#fff;transition:all 0.3s ease;cursor:pointer;z-index:10;box-shadow:0 4px 10px rgb(0 0 0 / .1);display:flex;align-items:center;justify-content:center}.timeline-icon img{width:100%;height:100%;object-fit:contain;transition:transform 0.3s ease}.timeline-icon:hover{width:160px;height:160px;border-radius:0;border-color:#8b5cf6;box-shadow:0 0 20px rgb(139 92 246 / .7)}.timeline-icon:hover img{transform:scale(1.05)}.timeline-item::after{content:'';position:absolute;left:50%;top:75px;width:20px;height:20px;background:#fff;border:2px solid #3b82f6;border-left:none;border-bottom:none;transform:translateX(-50%) rotate(-45deg);z-index:5}.timeline-item:nth-child(odd)::after{left:50%;transform:translateX(-50%) rotate(135deg)}.timeline-end{color:#000;text-align:center}@media (max-width:768px){.timeline::before{left:20px}.timeline-item,.timeline-item:nth-child(odd),.timeline-item:nth-child(even){justify-content:flex-start;padding-left:60px;padding-right:0}.timeline-icon{left:20px;transform:translateX(-50%)}.timeline-item::after{left:20px;transform:translateX(-50%) rotate(135deg)}.timeline-content{margin:0;max-width:100%}}.legal-links{margin-top:30px;text-align:center}.legal-links summary{color:#E2E8F0;cursor:pointer;font-weight:500;padding:10px;border-radius:5px;transition:background-color 0.3s}.legal-links summary:hover{background-color:rgb(37 99 235 / .2)}.legal-content{background-color:rgb(15 23 42 / .8);color:#E2E8F0;padding:20px;border-radius:10px;margin-top:10px;max-width:800px;margin-left:auto;margin-right:auto;text-align:left;font-size:14px;line-height:1.6}.legal-content h3{color:#2563EB;margin-top:20px;margin-bottom:10px;font-size:16px}.legal-content a{color:#60A5FA;text-decoration:none}.legal-content a:hover{text-decoration:underline}.error-404{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0F172A 0%,#1E293B 100%);color:#E2E8F0;padding:40px 20px;position:relative;overflow:hidden}.error-404::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 80%,rgb(37 99 235 / .1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgb(249 115 22 / .1) 0%,transparent 50%);pointer-events:none}.error-content{max-width:800px;text-align:center;position:relative;z-index:1}.error-image{margin-bottom:40px}.error-illustration{max-width:100%;height:auto;border-radius:15px;box-shadow:0 10px 30px rgb(0 0 0 / .3);border:2px solid rgb(37 99 235 / .3)}.error-text h1{font-size:48px;font-weight:700;margin-bottom:20px;color:#F8FAFC;background:linear-gradient(90deg,#2563EB,#60A5FA);-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text}.error-text p{font-size:18px;line-height:1.6;margin-bottom:15px;color:#94A3B8}.error-joke{background-color:rgb(30 41 59 / .5);border:1px solid rgb(37 99 235 / .3);border-radius:10px;padding:20px;margin:30px 0;text-align:left}.error-joke p{margin-bottom:10px;font-size:16px}.error-joke code{display:block;background-color:rgb(15 23 42 / .8);padding:15px;border-radius:5px;font-family:'JetBrains Mono',monospace;font-size:14px;color:#60A5FA;margin:15px 0;text-align:left;white-space:pre;overflow-x:auto}.error-buttons{display:flex;justify-content:center;gap:20px;margin:30px 0}.error-buttons .btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:8px;font-weight:600;transition:all 0.3s}.btn-primary{background-color:#2563EB;color:#fff}.btn-primary:hover{background-color:#1D4ED8;transform:translateY(-2px);box-shadow:0 5px 15px rgb(37 99 235 / .3)}.btn-secondary{background-color:#fff0;border:1px solid #2563EB;color:#2563EB}.btn-secondary:hover{background-color:#2563EB;color:#fff}.easter-egg{margin-top:40px;font-size:14px;color:#64748B}.easter-egg a{color:#60A5FA;text-decoration:none}.easter-egg a:hover{text-decoration:underline}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-content{animation:fadeIn 0.8s ease-out}@media (max-width:768px){.error-text h1{font-size:36px}.error-buttons{flex-direction:column;align-items:center}}