#header{align-items:center;display:flex;height:600px;justify-content:center;width:100%}#header .text-title{font-size:50px}#header .text{color:#fff;font-family:Raleway;font-size:30px;font-weight:700;position:absolute;text-align:center;width:60%;z-index:2}#header .img-header{filter:brightness(50%);height:600px;object-fit:cover;width:100%}.header{background:#fff;border-bottom:2px solid #6b8e2333;left:0;position:fixed;right:0;top:0;z-index:1000}.banner,.header{box-sizing:border-box;max-width:100%;overflow-x:hidden;width:100%}.banner{align-items:center;background:#0000;display:flex;height:70px;justify-content:space-between;padding:0 2rem}.banner .nav-brand{flex-shrink:0}.banner .nav-brand .brand-link{color:#6b8e23;font-size:1.6rem;font-weight:700;text-decoration:none;white-space:nowrap}.banner .nav-brand .brand-logo{height:70px}.banner .nav-links{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.banner .nav-links .nav-link{border-radius:8px;color:#6b8e23;flex-shrink:0;font-size:1rem;font-weight:500;padding:.75rem 1rem;text-decoration:none;white-space:nowrap}.banner .nav-links .nav-link:hover{background:#6b8e231a;color:#556b2f}.mobile-nav{align-items:center;background:#0000;box-sizing:border-box;display:flex;display:none;height:70px;justify-content:space-between;max-width:100%;overflow-x:hidden;padding:0 1.5rem;width:100%}.mobile-nav .mobile-brand{color:#6b8e23;flex-shrink:0;font-size:1.4rem;font-weight:700;text-decoration:none;white-space:nowrap}.mobile-nav .menu-toggle{align-items:center;background:#0000;border:2px solid #6b8e23;border-radius:8px;color:#6b8e23;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:45px;justify-content:center;width:45px}.mobile-nav .menu-toggle:hover{background:#6b8e231a}.mobile-menu{background:#fff;border:2px solid #6b8e2333;border-radius:8px;box-sizing:border-box;left:1rem;max-height:0;opacity:0;overflow:hidden;position:absolute;right:1rem;top:100%;width:calc(100% - 2rem)}.mobile-menu.open{max-height:300px;opacity:1}.mobile-menu .mobile-link{border-bottom:1px solid #6b8e2333;box-sizing:border-box;color:#6b8e23;display:block;font-weight:500;padding:1rem 1.5rem;text-decoration:none;width:100%}.mobile-menu .mobile-link:last-child{border-bottom:none}.mobile-menu .mobile-link:hover{background:#6b8e231a;color:#556b2f}@media(max-width:768px){.banner{display:none}.mobile-nav{display:flex;padding:0 1rem}.mobile-menu{left:.75rem;right:.75rem;width:calc(100% - 1.5rem)}}@media(max-width:480px){.mobile-nav{height:60px;padding:0 1rem}.mobile-menu{left:.75rem;right:.75rem;width:calc(100% - 1.5rem)}.mobile-menu .mobile-link{font-size:.9rem;padding:.75rem 1rem}.banner{padding:0 1rem}.banner .nav-links{gap:.5rem}.banner .nav-links .nav-link{font-size:.9rem;padding:.5rem .75rem}}*{box-sizing:border-box}body{overflow-x:hidden;padding:0}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-2px)}}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}#about-me{align-items:center;background:linear-gradient(135deg,#fff,#f8f9fa);display:flex;justify-content:center;min-height:60vh;padding:4rem 2rem}#about-me .about-container{background:#ffffffe6;border:1px solid #6b7c321a;border-radius:15px;box-shadow:0 8px 32px #6b7c321a;margin:0 auto;max-width:1200px;padding:2rem;width:100%}#about-me .about-header{margin-bottom:3rem;text-align:center}#about-me .about-header h1{color:#4a5d23;font-size:clamp(2rem,4vw,2.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:1rem}#about-me .about-header .title-underline{background:linear-gradient(90deg,#6b7c32,#556b2f);border-radius:2px;height:4px;margin:0 auto;transition:width .3s ease;width:80px}#about-me .about-header .title-underline:hover{animation:expandLine ease .3s ease forwards}#about-me .about-content{align-items:center;display:flex;justify-content:center}#about-me .about-content .about-text{color:#5a6b2f;font-size:1.125rem;line-height:1.7;max-width:80%}#about-me .about-content .about-text p{margin-bottom:1.5rem;text-align:justify}#about-me .about-content .about-text p.intro-paragraph{color:#4a5d23;font-size:1.25rem;font-weight:500}#about-me .about-content .about-text p:last-of-type{margin-bottom:2rem}#about-me .cta-section{align-items:center;border-top:1px solid #6b7c3233;display:flex;flex-direction:column;margin-top:2rem;padding:2rem 0;text-align:center}#about-me .cta-section .contact-text{color:#6b7c32;display:block;font-size:1.1rem;margin-bottom:1rem;text-align:center!important;width:100%}#about-me .cta-section .cv-link{align-items:center;background:linear-gradient(135deg,#6b7c32,#556b2f);border-radius:50px;box-shadow:0 4px 15px #6b7c324d;color:#fff;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}#about-me .cta-section .cv-link:hover{box-shadow:0 6px 20px #6b7c3266;transform:translateY(-2px)}#about-me .cta-section .cv-link:active{transform:translateY(0)}#about-me .cta-section .cv-link:hover{background:linear-gradient(135deg,#556b2f,#6b7c32)}#about-me .cta-section .cv-link .download-icon{animation:bounce 2s infinite;font-size:1rem}#about-me .cta-section .cv-link .pointer-icon{animation:wiggle 1.5s ease-in-out infinite;font-size:.9rem}@media(max-width:768px){#about-me{padding:2rem 1rem}#about-me .about-container{padding:1.5rem}#about-me .about-header{margin-bottom:2rem}#about-me .about-header h1{font-size:1.8rem}#about-me .about-content .about-text{font-size:1rem}#about-me .about-content .about-text p.intro-paragraph{font-size:1.1rem}#about-me .cta-section .cv-link{font-size:.9rem;padding:.6rem 1.2rem}}@media(max-width:480px){#about-me .about-content .about-text{max-width:100%}#about-me .about-content .about-text p{text-align:left}#about-me .cta-section .contact-text{font-size:1rem}#about-me .cta-section .cv-link{flex-direction:row;gap:.3rem;padding:.8rem 1rem}#about-me .cta-section .cv-link .download-icon,#about-me .cta-section .cv-link .pointer-icon{font-size:.9rem}}.text-center{text-align:center}.mb-0{margin-bottom:0}.fade-in{animation:fadeIn .6s ease forwards;opacity:0}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.project-card{height:100%;width:100%}.project-card .project-btn{border-radius:25px;box-shadow:0 4px 15px #6b7c3233;height:280px;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease;width:100%}.project-card .project-btn:hover{box-shadow:0 8px 25px #6b7c324d;transform:translateY(-2px)}.project-card .project-btn.loading{pointer-events:none}.project-card .project-btn.loading:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);background-size:200% 100%;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.project-card .project-btn .project-link{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:1.1rem;font-weight:600;height:100%;justify-content:center;left:0;outline:none;padding:0;position:absolute;text-align:center;top:0;transition:all .3s ease;width:100%;z-index:2}.project-card .project-btn .project-link .project-title{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0000004d;border-radius:8px;padding:1rem;position:relative;transition:all .3s ease;width:85%;z-index:3}.project-card .project-btn .project-link .project-overlay{align-items:center;bottom:0;display:flex;flex-direction:column;gap:.5rem;justify-content:center;left:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.project-card .project-btn .project-link .project-overlay .view-icon{font-size:2rem;margin-bottom:.5rem}.project-card .project-btn .project-link .project-overlay .view-text{font-size:1rem;font-weight:500}.project-card .project-btn .project-link:hover .project-overlay{opacity:1}.project-card .project-btn .project-link:hover .project-title{background:#ffffffe6;color:#6b7c32;transform:translateY(-10px)}.project-card .project-btn .project-image{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.project-card .project-btn:hover .project-image{transform:scale(1.1)}.modal{align-items:center;animation:fadeIn ease .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.modal .modal-content{animation:slideUp ease .3s ease;background:#fff;border-radius:25px;box-shadow:0 15px 35px #0003;display:flex;flex-direction:column;height:95%;max-height:900px;max-width:1200px;overflow:hidden;position:relative;width:95%}.modal .modal-content .modal-header{background:#f8f9fa;border-bottom:1px solid #6b7c3233;padding:1.5rem 2rem;position:sticky;top:0;z-index:100}.modal .modal-content .modal-header .header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.modal .modal-content .modal-header .header-row .modal-title{color:#6b7c32;flex:1 1;font-size:1.5rem;font-weight:700;margin:0;text-align:center}.modal .modal-content .modal-header .header-row .modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#5a6b2f;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;outline:none;padding:0;transition:all .2s ease;width:40px}.modal .modal-content .modal-header .header-row .modal-close:hover{background:#6b7c3226;color:#6b7c32;transform:rotate(90deg)}.modal .modal-content .modal-header .modal-header{background:#f8f9fa;border-bottom:1px solid #6b7c3233;padding:1.5rem 2rem;position:sticky;top:0;z-index:100}.modal .modal-content .modal-body{flex:1 1;overflow-y:auto;padding:2rem}.modal .modal-content .modal-body .images-section{margin-bottom:3rem}.modal .modal-content .modal-body .images-section .section-title{align-items:center;color:#6b7c32;display:flex;font-size:1.2rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.5px;margin-bottom:1.5rem;text-align:center;text-transform:uppercase}.modal .modal-content .modal-body .images-section .images-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.modal .modal-content .modal-body .images-section .images-grid .image-container{border-radius:15px;cursor:pointer;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease}.modal .modal-content .modal-body .images-section .images-grid .image-container:hover{box-shadow:0 8px 25px #6b7c324d;transform:translateY(-2px)}.modal .modal-content .modal-body .images-section .images-grid .image-container .project-image{height:300px;object-fit:cover;transition:transform .3s ease;width:100%}.modal .modal-content .modal-body .images-section .images-grid .image-container .image-overlay{align-items:center;background:linear-gradient(135deg,#6b7c32,#556b2f);bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.modal .modal-content .modal-body .images-section .images-grid .image-container .image-overlay .view-icon{color:#fff;font-size:2rem}.modal .modal-content .modal-body .images-section .images-grid .image-container:hover .project-image{transform:scale(1.1)}.modal .modal-content .modal-body .images-section .images-grid .image-container:hover .image-overlay{opacity:.6}.modal .modal-content .modal-body .content-sections{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr}@media(min-width:768px){.modal .modal-content .modal-body .content-sections{grid-template-columns:1fr 1fr}}.modal .modal-content .modal-body .content-sections .description-section .section-title,.modal .modal-content .modal-body .content-sections .objectives-section .section-title{border-bottom:2px solid #6b7c3233;color:#6b7c32;font-size:1.1rem;font-weight:600;letter-spacing:.5px;margin-bottom:1rem;padding-bottom:.5rem;text-transform:uppercase}.modal .modal-content .modal-body .content-sections .description-section .section-content,.modal .modal-content .modal-body .content-sections .objectives-section .section-content{color:#2c3e50;line-height:1.6;text-align:justify}.modal .modal-content .modal-body .content-sections .objectives-list{list-style:none;margin:0;padding:0}.modal .modal-content .modal-body .content-sections .objectives-list .objective-item{color:#2c3e50;line-height:1.5;padding:.5rem 0 .5rem 1.5rem;position:relative}.modal .modal-content .modal-body .content-sections .objectives-list .objective-item:before{color:#6b7c32;content:"✓";font-weight:700;left:0;position:absolute}.modal .modal-content .modal-body .actions-section{margin-top:3rem;text-align:center}.modal .modal-content .modal-body .actions-section .github-link{align-items:center;background:linear-gradient(135deg,#6b7c32,#556b2f);border-radius:25px;box-shadow:0 4px 15px #6b7c3233;color:#fff;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.modal .modal-content .modal-body .actions-section .github-link .github-icon{font-size:1.2rem}.modal .modal-content .modal-body .actions-section .github-link:hover{background:linear-gradient(135deg,#556b2f,#4a5d23);box-shadow:0 8px 25px #6b7c324d;transform:translateY(-2px)}.modal .modal-content .modal-body .show-more-container{margin-top:1.5rem;text-align:center}.modal .modal-content .modal-body .show-more-container .show-more-btn{align-items:center;background:linear-gradient(135deg,#6b7c32,#556b2f);border:none;border-radius:25px;box-shadow:0 4px 15px #6b7c3233;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.modal .modal-content .modal-body .show-more-container .show-more-btn .plus-icon{font-size:1.2rem;transition:transform .3s ease}.modal .modal-content .modal-body .show-more-container .show-more-btn:hover{background:linear-gradient(135deg,#556b2f,#4a5d23);box-shadow:0 8px 25px #6b7c324d;transform:translateY(-2px)}.modal .modal-content .modal-body .show-more-container .show-more-btn:hover .plus-icon{transform:rotate(90deg)}.carousel{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;bottom:0;left:0;position:fixed;right:0;top:0;z-index:10000}.carousel,.carousel .carousel-content{align-items:center;display:flex;justify-content:center}.carousel .carousel-content{background:#fff;border-radius:25px;box-shadow:0 15px 35px #0003;height:95%;max-height:900px;max-width:1200px;overflow:hidden;position:relative;width:95%}.carousel .carousel-content .carousel-close{align-items:center;background:none;background:#ffffffe6;border:none;border-radius:50%;color:#6b7c32;cursor:pointer;display:flex;font-size:1.4rem;height:50px;justify-content:center;outline:none;padding:0;position:absolute;right:20px;top:20px;transition:all .2s ease;width:50px;z-index:10}.carousel .carousel-content .carousel-close:hover{background:#fff;transform:rotate(90deg) scale(1.1)}.carousel .carousel-content .carousel-nav{align-items:center;background:none;background:#ffffffe6;border:none;border-radius:50%;color:#6b7c32;cursor:pointer;display:flex;font-size:1.8rem;height:60px;justify-content:center;outline:none;padding:0;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:60px;z-index:10}.carousel .carousel-content .carousel-nav:hover{background:#fff;transform:translateY(-50%) scale(1.15)}.carousel .carousel-content .carousel-nav.carousel-prev{left:20px}.carousel .carousel-content .carousel-nav.carousel-next{right:20px}.carousel .carousel-content .carousel-image{border-radius:15px;box-shadow:0 8px 25px #6b7c324d;max-height:75%;max-width:80%;object-fit:contain}.carousel .carousel-content .carousel-counter{background:#fffffff2;border-radius:25px;bottom:20px;box-shadow:0 4px 15px #6b7c3233;color:#6b7c32;font-size:1rem;font-weight:600;left:50%;padding:1rem 1.5rem;position:absolute;transform:translateX(-50%)}@media(max-width:768px){.modal .modal-content{height:98%;max-height:none;max-width:none;width:98%}.modal .modal-content .modal-body{padding:1rem}.modal .modal-content .modal-body .images-section .images-grid{gap:1.5rem;grid-template-columns:1fr}.modal .modal-content .modal-body .images-section .images-grid .image-container .project-image{height:250px}.carousel .carousel-content{height:98%;max-height:none;max-width:none;width:98%}.carousel .carousel-content .carousel-nav{font-size:1.5rem;height:50px;width:50px}.carousel .carousel-content .carousel-nav.carousel-prev{left:15px}.carousel .carousel-content .carousel-nav.carousel-next{right:15px}.carousel .carousel-content .carousel-image{max-height:70%;max-width:75%}}@media(max-width:480px){.carousel .carousel-content .carousel-nav.carousel-prev{left:10px}.carousel .carousel-content .carousel-nav.carousel-next{right:10px}.carousel .carousel-content .carousel-image{max-height:65%;max-width:70%}.project-card .project-btn{height:220px}.project-card .project-btn .project-link .project-title{font-size:1rem}.carousel .carousel-content .carousel-nav.carousel-prev{left:10px}.carousel .carousel-content .carousel-nav.carousel-next{right:10px}}.projects-section{align-items:center;background:linear-gradient(135deg,#fff,#f8f9fa);display:flex;flex-direction:column;justify-content:center;min-height:80vh;padding:4rem 2rem}.projects-section .projects-container{background:#ffffffe6;border:1px solid #6b7c321a;border-radius:15px;box-shadow:0 8px 32px #6b7c321a;margin:0 auto;max-width:1200px;padding:3rem;width:100%}.projects-section .projects-header{margin-bottom:3rem;text-align:center}.projects-section .projects-header .projects-title{color:#4a5d23;font-size:clamp(2rem,4vw,2.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:1rem}.projects-section .projects-header .title-underline{background:linear-gradient(90deg,#6b7c32,#556b2f);border-radius:2px;height:4px;margin:0 auto 1rem;transition:width .3s ease;width:80px}.projects-section .projects-header .title-underline:hover{animation:expandLine ease .3s ease forwards}.projects-section .projects-header .projects-subtitle{color:#5a6b2f;font-size:1.125rem;font-weight:400;line-height:1.7;margin-bottom:1.5rem}.projects-section .projects-grid{grid-gap:2rem;animation:fadeIn .8s ease forwards;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:3rem}.projects-section .projects-grid .project-item{animation:slideInUp .6s ease forwards;animation-delay:calc(var(--index)*.1s);background:#fff;border:1px solid #6b7c3233;border-radius:20px;box-shadow:0 4px 20px #6b7c3226;overflow:hidden;position:relative;transition:all .3s ease}.projects-section .projects-grid .project-item:hover{box-shadow:0 6px 20px #6b7c3266;transform:translateY(-5px) scale(1.02)}.projects-section .projects-grid .project-item .projet{display:block;height:100%;position:relative;width:100%}.projects-section .projects-grid .project-item .projet .btn{background:#fff;border-radius:20px;cursor:pointer;display:block;height:280px;overflow:hidden;position:relative;text-decoration:none;transition:all .3s ease;width:100%}.projects-section .projects-grid .project-item .projet .btn:hover .project-image{transform:scale(1.1)}.projects-section .projects-grid .project-item .projet .btn:hover .project-overlay{opacity:1}.projects-section .projects-grid .project-item .projet .btn:hover .project-title{opacity:1;transform:translateY(0)}.projects-section .projects-grid .project-item .projet .btn .project-image{border-radius:border-radius-lg 15px 0 0;height:200px;object-fit:cover;transition:transform .3s ease;width:100%}.projects-section .projects-grid .project-item .projet .btn .project-overlay{align-items:center;background:linear-gradient(135deg,#6b7c32cc,#556b2fe6);bottom:0;color:#fff;display:flex;flex-direction:column;justify-content:center;left:0;opacity:0;padding:1.5rem;position:absolute;right:0;text-align:center;top:0;transition:opacity .3s ease}.projects-section .projects-grid .project-item .projet .btn .project-content{align-items:center;background:#fff;display:flex;flex-direction:column;height:80px;justify-content:center;padding:1.5rem}.projects-section .projects-grid .project-item .projet .btn .project-content .project-title{color:#4a5d23;font-size:1.125rem;font-weight:600;line-height:1.2;margin:0;opacity:.8;text-align:center;transform:translateY(5px);transition:all .3s ease}.projects-section .projects-grid .project-item .projet .btn .project-content .project-description{color:#5a6b2f;font-size:.9rem;margin-top:.5rem;opacity:.7;text-align:center}.projects-section .projects-grid .project-item .projet .btn .view-project-text{background:#fff;border-radius:20px;bottom:1.5rem;box-shadow:0 4px 15px #6b7c324d;color:#6b7c32;font-size:.9rem;font-weight:600;left:50%;opacity:0;padding:.5rem 1.5rem;position:absolute;transform:translateX(-50%);transition:all .3s ease}.projects-section .projects-grid .project-item .projet .btn:hover .view-project-text{opacity:1;transform:translateX(-50%) translateY(-5px)}.projects-section .projects-grid .project-item:first-child{animation-delay:.1s}.projects-section .projects-grid .project-item:nth-child(2){animation-delay:.2s}.projects-section .projects-grid .project-item:nth-child(3){animation-delay:.3s}.projects-section .projects-grid .project-item:nth-child(4){animation-delay:.4s}.projects-section .projects-grid .project-item:nth-child(5){animation-delay:.5s}.projects-section .projects-grid .project-item:nth-child(6){animation-delay:.6s}@media(max-width:768px){.projects-section{padding:2rem 1rem}.projects-section .projects-container{padding:2rem}.projects-section .projects-header{margin-bottom:2rem}.projects-section .projects-header .projects-title{font-size:1.8rem}.projects-section .projects-header .projects-subtitle{font-size:1rem}.projects-section .projects-grid{gap:1.5rem;grid-template-columns:1fr;margin-top:2rem}.projects-section .projects-grid .project-item .projet .btn{height:250px}.projects-section .projects-grid .project-item .projet .btn .project-image{height:170px}.projects-section .projects-grid .project-item .projet .btn .project-content{height:80px;padding:1rem}.projects-section .projects-grid .project-item .projet .btn .project-content .project-title{font-size:1rem}}@media(max-width:480px){.projects-section .projects-grid .project-item .projet .btn{height:220px}.projects-section .projects-grid .project-item .projet .btn .project-image{height:150px}.projects-section .projects-grid .project-item .projet .btn .project-content{height:70px}.projects-section .projects-grid .project-item .projet .btn .project-content .project-title{font-size:.9rem}.projects-section .projects-grid .project-item .projet .btn .project-content .project-description{display:none}}.pulse{animation:pulse 2s infinite}#competences h1{color:#4c5565;font-family:Montserrat;font-size:36px;text-align:center;width:100%}#competences h1 hr{width:15%}#competences .title{align-items:center;display:flex;margin:0 2%}#competences .title h2{background:linear-gradient(90deg,#fff,#4c5565,#fff);color:#fff;font-family:Raleway;font-size:30px;padding:4px 0;text-align:center;width:100%}#competences .competences-section{border:1px solid #ddd;border-radius:25px;box-shadow:0 2px 4px #7f11e04d;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;margin:0 2% 5%}#competences .competences-section .competences-content{align-items:center;display:flex;flex-direction:column;margin:20px 0 10px;position:relative;width:33%}#competences .competences-section .competences-content .icon{border-radius:5px;color:#4c5565;height:60px;width:70px}#competences .competences-section .competences-content .collapse{align-items:center;display:flex;flex-direction:column}#competences .competences-section .competences-content .collapse .collapse-btn{border:1px solid #ddd;border-radius:25px;box-shadow:0 2px 4px #7f11e04d;cursor:pointer;padding:5px 15px 0;z-index:1}#competences .competences-section .competences-content ul{list-style-type:none;width:100%}#competences .competences-section .competences-content ul li:before{content:"- "}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes expandLine{0%{width:80px}to{width:120px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.competences-section{align-items:center;background:linear-gradient(135deg,#fff,#f8f9fa);display:flex;flex-direction:column;justify-content:center;min-height:80vh;opacity:0;padding:4rem 2rem;transform:translateY(20px);transition:all .8s ease}.competences-section.visible{opacity:1;transform:translateY(0)}.competences-section .competences-container{background:#ffffffe6;border:1px solid #6b7c321a;border-radius:15px;box-shadow:0 8px 32px #6b7c321a;margin:0 auto;max-width:1200px;padding:3rem;width:100%}.competences-section .competences-header{margin-bottom:3rem;text-align:center}.competences-section .competences-header .competences-title{color:#4a5d23;font-size:clamp(2rem,4vw,2.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:1rem}.competences-section .competences-header .title-underline{background:linear-gradient(90deg,#6b7c32,#556b2f);border-radius:2px;height:4px;margin:0 auto 1rem;transition:width .3s ease;width:80px}.competences-section .competences-header .title-underline:hover{animation:expandLine ease .3s ease forwards}.competences-section .competences-header .competences-subtitle{color:#5a6b2f;font-size:1.125rem;font-weight:400;line-height:1.7;margin-bottom:1.5rem}.competences-section .competences-content{grid-gap:3rem;display:grid;gap:3rem}.competences-section .competences-content .competence-category{margin-bottom:2rem}.competences-section .competences-content .competence-category .category-header{align-items:center;background:linear-gradient(135deg,#6b7c32,#556b2f);border-radius:20px;box-shadow:0 4px 15px #6b7c324d;display:flex;gap:1rem;justify-content:center;margin-bottom:2rem;padding:1.5rem}.competences-section .competences-content .competence-category .category-header .category-icon{color:#fff;font-size:1.5rem}.competences-section .competences-content .competence-category .category-header .category-title{color:#fff;font-size:1.25rem;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.competences-section .competences-content .competence-category .skills-grid{grid-gap:2rem;background:#fff;border:1px solid #6b7c3233;border-radius:15px;box-shadow:0 4px 20px #6b7c3226;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:1.5rem}.competences-section .competences-content .competence-category .skills-grid .skill-item{align-items:center;animation:slideInUp .6s ease forwards;animation-fill-mode:both;background:#fff;border:1px solid #6b7c3233;border-radius:15px;box-shadow:0 4px 15px #6b7c324d;display:flex;flex-direction:column;justify-content:center;opacity:0;padding:1.5rem;transition:all .3s ease}.competences-section .competences-content .competence-category .skills-grid .skill-item:hover{box-shadow:0 6px 20px #6b7c3266;transform:translateY(-5px) scale(1.02)}.competences-section .competences-content .competence-category .skills-grid .skill-item .skill-icon-container{align-items:center;background:#f8f9fa;border-radius:15px;display:flex;gap:.5rem;justify-content:center;margin-bottom:1rem;padding:1rem;transition:all .3s ease}.competences-section .competences-content .competence-category .skills-grid .skill-item .skill-icon-container .skill-icon{border-radius:2px;height:60px;object-fit:contain;transition:transform .3s ease;width:60px}.competences-section .competences-content .competence-category .skills-grid .skill-item .skill-icon-container .skill-icon:hover{transform:scale(1.1)}.competences-section .competences-content .competence-category .skills-grid .skill-item .skill-name{color:#6b7c32;font-size:1rem;font-weight:600;line-height:1.2;margin:0;text-align:center}.competences-section .competences-content .competence-category .skills-grid .skill-item:hover .skill-icon-container{background:#6b7c3226}.competences-section .competences-content .competence-category .skills-grid .skill-item:hover .skill-name{color:#4a5d23}.competences-section .competences-content .competence-category .skills-grid .no-data{color:#5a6b2f;font-style:italic;grid-column:1/-1;padding:2rem;text-align:center}@media(max-width:768px){.competences-section{padding:2rem 1rem}.competences-section .competences-container{padding:1.5rem}.competences-section .competences-header{margin-bottom:2rem}.competences-section .competences-header .competences-title{font-size:1.8rem}.competences-section .competences-header .competences-subtitle{font-size:1rem}.competences-section .competences-content .competence-category .category-header{flex-direction:column;gap:.5rem;padding:1rem}.competences-section .competences-content .competence-category .category-header .category-icon{font-size:1.2rem}.competences-section .competences-content .competence-category .category-header .category-title{font-size:1.1rem}.competences-section .competences-content .competence-category .skills-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:1rem}.competences-section .competences-content .competence-category .skills-grid .skill-item{padding:1rem}.competences-section .competences-content .competence-category .skills-grid .skill-item .skill-icon-container .skill-icon{height:50px;width:50px}.competences-section .competences-content .competence-category .skills-grid .skill-item .skill-name{font-size:.9rem}}@media(max-width:480px){.competences-section .competences-content .competence-category .skills-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.competences-section .competences-content .competence-category .skills-grid .skill-item .skill-icon-container .skill-icon{height:40px;width:40px}}.contact-section .contact-form{background:#fff;border-radius:12px;box-shadow:0 10px 30px #8b8f471a}.contact-section .contact-form .form-input,.contact-section .contact-form .form-textarea{border-radius:12px;font-family:Raleway,sans-serif;transition:all .3s ease;width:100%}.contact-section{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;justify-content:center;min-height:100vh;padding:80px 20px}.contact-section .contact-container{max-width:800px;width:100%}.contact-section .contact-header{margin-bottom:60px;text-align:center}.contact-section .contact-header .contact-title{color:#2c2f33;font-size:3rem;font-weight:700;margin-bottom:20px}.contact-section .contact-header .contact-title .title-accent{color:#8b8f47}.contact-section .contact-header .title-underline{background:linear-gradient(90deg,#8b8f47,#a4a86c);border-radius:2px;height:4px;margin:0 auto 30px;width:80px}.contact-section .contact-header .contact-subtitle{color:#6c757d;font-family:Raleway,sans-serif;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:600px}.contact-section .contact-form{padding:40px}.contact-section .contact-form .form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.contact-section .contact-form .input-group{margin-bottom:20px;position:relative}.contact-section .contact-form .input-group .input-icon{color:#6c757d;font-size:1.1rem;left:15px;position:absolute;top:50%;transform:translateY(-50%);z-index:2}.contact-section .contact-form .input-group .input-icon.textarea-icon{top:20px;transform:none}.contact-section .contact-form .input-group:focus-within .input-icon{color:#8b8f47}.contact-section .contact-form .form-input,.contact-section .contact-form .form-textarea{background:#fafafa;border:2px solid #e9ecef;font-size:1rem;padding:15px 15px 15px 45px}.contact-section .contact-form .form-input::placeholder,.contact-section .contact-form .form-textarea::placeholder{color:#6c757d}.contact-section .contact-form .form-input:focus,.contact-section .contact-form .form-textarea:focus{background:#fff;border-color:#8b8f47;box-shadow:0 0 0 3px #8b8f471a;outline:none}.contact-section .contact-form .form-input:disabled,.contact-section .contact-form .form-textarea:disabled{cursor:not-allowed;opacity:.6}.contact-section .contact-form .form-textarea{line-height:1.5;min-height:120px;resize:vertical}.contact-section .contact-form .message-status{border-radius:10px;font-weight:500;margin-bottom:20px;padding:15px 20px;text-align:center}.contact-section .contact-form .message-status.success{background:#28a7451a;border:1px solid #28a74533;color:#28a745}.contact-section .contact-form .message-status.error{background:#dc35451a;border:1px solid #dc354533;color:#dc3545}.contact-section .contact-form .submit-btn{align-items:center;background:linear-gradient(135deg,#8b8f47,#a4a86c);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:10px;justify-content:center;overflow:hidden;padding:18px 30px;position:relative;transition:all .3s ease;width:100%}.contact-section .contact-form .submit-btn:hover{box-shadow:0 10px 25px #8b8f474d;transform:translateY(-2px)}.contact-section .contact-form .submit-btn:active{transform:translateY(0)}.contact-section .contact-form .submit-btn:disabled{cursor:not-allowed;opacity:.7}.contact-section .contact-form .submit-btn:disabled:hover{box-shadow:none;transform:none}.contact-section .contact-form .submit-btn .btn-icon{font-size:1.2rem}.contact-section .contact-form .submit-btn .btn-text{font-family:Raleway,sans-serif}#contact{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}#contact h1{color:#4c5565;font-size:36px;text-align:center;width:100%}#contact h1 hr{width:15%}#contact .text-contact{color:#7b7b7b;font-family:Raleway,Arial,Helvetica,sans-serif;font-weight:lighter;text-align:justify;width:70%}#contact .form-contact{align-items:center;display:flex;flex-direction:column;width:90%}#contact .form-contact .name{align-items:center;display:flex;flex-direction:row;justify-content:space-between;margin-top:45px;width:100%}#contact .form-contact input,#contact .form-contact textarea{box-shadow:-4px 4px 4px #7f115033;height:50px;margin-bottom:45px;padding-left:10px;width:48%}#contact .form-contact input{border:.5px solid #7b7b7b;border-right:none;border-top:none}#contact .form-contact textarea{border:.5px solid #7b7b7b;resize:vertical;width:100%}#contact .form-contact #sujet{width:100%}#contact .form-contact .message-status{border-radius:5px;font-size:14px;margin-bottom:10px;padding:8px;text-align:center}#contact .form-contact .success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}#contact .form-contact .error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}#contact .form-contact .btn-envoyer{background-color:#0000;border:1px solid #ddd;border-radius:25px;box-shadow:0 2px 4px #7f11504d;cursor:pointer;height:100px;padding:5px 5px 0;width:100px;z-index:1}#contact .form-contact .img-btn{height:95px;width:95px}@media(max-width:768px){.contact-section{padding:60px 15px}.contact-section .contact-container{max-width:100%}.contact-section .contact-header{margin-bottom:40px}.contact-section .contact-header .contact-title{font-size:2.5rem}.contact-section .contact-header .contact-subtitle{font-size:1rem;padding:0 10px}.contact-section .contact-form{padding:30px 20px}.contact-section .contact-form .form-row{gap:0;grid-template-columns:1fr}.contact-section .contact-form .form-input,.contact-section .contact-form .form-textarea{font-size:.95rem;padding:12px 12px 12px 40px}.contact-section .contact-form .submit-btn{font-size:1rem;padding:15px 25px}#contact .text-contact{font-size:medium;width:90%}#contact .form-contact .name{flex-direction:column}#contact .form-contact input,#contact .form-contact textarea{width:100%}#contact .form-contact .btn-envoyer{height:70px;width:70px}#contact .form-contact .img-btn{height:65px;width:65px}}@media(max-width:480px){.contact-section{padding:40px 10px}.contact-section .contact-header .contact-title{font-size:2rem}.contact-section .contact-form{padding:20px 15px}.contact-section .contact-form .input-group .input-icon{font-size:1rem;left:12px}.contact-section .contact-form .form-input,.contact-section .contact-form .form-textarea{padding:10px 10px 10px 35px}}.footer{position:relative;width:100%;z-index:10}.footer .footer-container,.footer .footer-content{align-items:center;display:flex;flex-direction:column;justify-content:center;position:relative}.footer .footer-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1d23e6;border:1px solid #ffffff1a;box-shadow:0 -10px 30px #0003;justify-content:space-between;min-height:400px;padding:10px 40px 0;width:100%;z-index:5}.footer .footer-content .contact-title{color:#6b7c32;font-size:1.8rem;font-weight:600;margin-bottom:30px;padding-bottom:15px;position:relative;text-align:center}.footer .footer-content .contact-title:after{background:linear-gradient(90deg,#8b8f47,#c4c78a);border-radius:3px;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:80px}.footer .footer-content .contact-info{align-items:center;display:flex;flex-direction:column;gap:30px;justify-content:center;max-width:800px;width:100%}.footer .footer-content .contact-info .contact-row{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr 1fr;width:100%}.footer .footer-content .contact-info .contact-row .contact-item{align-items:center;background:#ffffff1a;border-radius:12px;display:flex;gap:12px;justify-content:center;padding:15px 20px}.footer .footer-content .contact-info .contact-row .contact-item .contact-icon{color:#6b7c32;flex-shrink:0;font-size:1.3rem}.footer .footer-content .contact-info .contact-row .contact-item .contact-link{color:#fff;font-size:1rem;font-weight:500;text-decoration:none}.footer .footer-content .contact-info .contact-row .contact-item .contact-link:focus-visible{border-radius:4px;outline:2px solid #c4c78a;outline-offset:2px}.footer .footer-content .contact-info .address-item{align-items:center;background:#ffffff1a;border-radius:12px;display:flex;gap:15px;justify-content:center;max-width:600px;padding:20px 25px;text-align:center;width:100%}.footer .footer-content .contact-info .address-item .contact-icon{color:#6b7c32;flex-shrink:0;font-size:1.4rem}.footer .footer-content .contact-info .address-item .address-text{color:#fff;font-size:1rem;font-weight:500;line-height:1.4}.footer .footer-content .footer-bottom{align-items:center;background:#0000004d;border-radius:15px 15px 0 0;display:flex;justify-content:center;justify-content:space-between;margin-top:40px;padding:25px 30px;width:100%}.footer .footer-content .footer-bottom .copyright{color:#fffc;font-size:.9rem;font-weight:400}.footer .footer-content .footer-bottom .social-links{align-items:center;display:flex;gap:15px;justify-content:center}.footer .footer-content .footer-bottom .social-links .social-link{align-items:center;background:#ffffff1a;border:2px solid #fff3;border-radius:12px;color:#fff;display:flex;height:45px;justify-content:center;position:relative;text-decoration:none;width:45px}.footer .footer-content .footer-bottom .social-links .social-link:focus-visible{outline:2px solid #c4c78a;outline-offset:2px}.footer .footer-content .footer-bottom .social-links .social-link .social-icon{font-size:1.2rem}.footer .footer-content .footer-bottom .social-links .social-link .social-tooltip{background:#6b6f35;border-radius:5px;color:#fff;font-size:.8rem;opacity:0;padding:5px 10px;pointer-events:none;position:absolute;top:-30px}.footer .footer-content .footer-bottom .social-links .social-link .social-tooltip:after{border:5px solid #0000;border-top-color:#6b6f35;content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}@media(max-width:768px){.footer .footer-content{min-height:350px;padding:50px 20px 0}.footer .footer-content .contact-title{font-size:1.5rem;margin-bottom:20px}.footer .footer-content .contact-title:after{width:60px}.footer .footer-content .contact-info{gap:20px}.footer .footer-content .contact-info .contact-row{gap:15px;grid-template-columns:1fr}.footer .footer-content .contact-info .contact-row .contact-item{padding:12px 15px}.footer .footer-content .contact-info .contact-row .contact-item .contact-icon{font-size:1.1rem}.footer .footer-content .contact-info .contact-row .contact-item .contact-link{font-size:.9rem}.footer .footer-content .contact-info .address-item{flex-direction:column;gap:10px;padding:15px 20px}.footer .footer-content .contact-info .address-item .contact-icon{font-size:1.2rem}.footer .footer-content .contact-info .address-item .address-text{font-size:.9rem}.footer .footer-content .footer-bottom{flex-direction:column;gap:15px;padding:20px}.footer .footer-content .footer-bottom .copyright{font-size:.8rem;text-align:center}.footer .footer-content .footer-bottom .social-links .social-link{height:40px;width:40px}.footer .footer-content .footer-bottom .social-links .social-link .social-icon{font-size:1rem}}@media(max-width:480px){.footer .footer-content{padding:40px 15px 0}.footer .footer-content .contact-title{font-size:1.3rem}.footer .footer-content .contact-info .address-item .address-text{font-size:.85rem}.footer .footer-content .footer-bottom{padding:15px}.footer .footer-content .footer-bottom .copyright{font-size:.75rem}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100vh;margin:0;width:100%}body code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body #root>*{max-width:100%}body #root>[id]{padding:72px 0}body #root .Header,body #root .main{margin:0 5%}@media(max-width:767px){body #root>[id]{padding:45px 0}}
/*# sourceMappingURL=main.250c83a0.css.map*/