.loading-screen{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(248,248,248,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none;transition:opacity .8s cubic-bezier(.4, 0, .2, 1),visibility .8s cubic-bezier(.4, 0, .2, 1)}.loading-screen.fade-out{opacity:0;visibility:hidden;pointer-events:none}.loading-word{font-family:"Stack Sans Notch",sans-serif;font-weight:300;font-size:clamp(3rem, 6vw, 5.5rem);line-height:1;color:var(--color-text-sombre);letter-spacing:.05em;position:absolute;opacity:0;transform:translateY(10px);transition:opacity .5s cubic-bezier(.4, 0, .2, 1),transform .5s cubic-bezier(.4, 0, .2, 1)}.loading-word.visible{opacity:.75;transform:translateY(0)}.loading-word.exit{opacity:0;transform:translateY(-10px)}@font-face{font-family:'Overused Grotesk';src:url('../fonts/OverusedGrotesk-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:'Overused Grotesk';src:url('../fonts/OverusedGrotesk-Roman.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Overused Grotesk';src:url('../fonts/OverusedGrotesk-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'Overused Grotesk';src:url('../fonts/OverusedGrotesk-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'Overused Grotesk';src:url('../fonts/OverusedGrotesk-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}:root{--font-principale:'Overused Grotesk',sans-serif;--font-accent:'Overused Grotesk',sans-serif;--color-rouge:#db0503;--color-bleu:#02069c;--color-blanc-casse:#f8f8f8;--color-beige-clair:#e5e4d2;--color-noir:#050403;--color-text-sombre:#050403;--color-text-clair:#b0b3d0;--space:1rem;--space-section:4rem}html{scroll-behavior:smooth}*,::after,::before{box-sizing:border-box}body{margin:0;font-family:var(--font-principale);font-weight:300;font-size:1rem;line-height:1.6;color:var(--color-text-sombre);background:var(--color-blanc-casse)}h1,h2,h3,h4,h5,h6{font-family:var(--font-principale);font-weight:900;line-height:1.2;margin:0 0 1rem}h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:2rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin:0 0 1rem}.accent{font-family:var(--font-accent);font-weight:700}section{padding:var(--space-section) var(--space)}.section-rouge{background:var(--color-rouge);color:var(--color-text-clair)}.section-bleu{background:var(--color-bleu);color:var(--color-text-clair)}.section-blanc{background:var(--color-blanc-casse);color:var(--color-text-sombre)}.section-noir{background:var(--color-noir);color:var(--color-text-clair)}.card{background:var(--color-beige-clair);padding:var(--space);border-radius:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.competence-card svg,.competence-icon{width:48px!important;height:48px!important;display:block;margin:0 auto}.competence-card{text-align:center}.competence-card svg{color:var(--color-primary);stroke:currentColor}.embed-iframe,.ql-video{display:block;max-width:100%;width:100%;aspect-ratio:16/9;height:auto;border:0;margin:1.5rem auto}.embed-responsive{position:relative;width:100%;aspect-ratio:16/9;margin:1.5rem 0}.embed-responsive iframe{position:absolute;inset:0;width:100%;height:100%;border:0}iframe{max-width:100%}[style*="color: #1f2937"],[style*="color: rgb(31, 41, 55)"],[style*="color: rgb(31,41,55)"],[style*="color:#1f2937"]{color:var(--color-text-sombre)!important}[style*="color: #0066cc"],[style*="color: rgb(0, 102, 204)"],[style*="color: rgb(0,102,204)"],[style*="color:#0066cc"]{color:var(--color-bleu)!important}.article-content a,.objectif-description a,.presentation-text a,.veille-description a{color:inherit;text-decoration:underline;text-underline-offset:3px}.hero-section{height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-card-wrap{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);display:flex;align-items:center;justify-content:center;padding:0!important;position:relative}.hero-card-container{width:1200px;height:698px;cursor:pointer;position:relative;background:0 0;box-shadow:none}.hero-card-container>canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);cursor:pointer;z-index:10;transition:opacity .2s ease}.scroll-indicator:hover{opacity:.7}.scroll-indicator svg{width:32px;height:32px;stroke:var(--color-text-sombre);stroke-width:2;fill:none}@media (max-width:700px){.hero-card-container{width:calc(100vw - 24px);max-width:520px;height:auto;aspect-ratio:1200/698}.scroll-indicator{bottom:1.5rem}.scroll-indicator svg{width:28px;height:28px}}@media (min-width:701px) and (max-width:1024px){.hero-card-container{width:90vw;max-width:800px;height:auto;aspect-ratio:1200/698}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(248,248,248,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(5,4,3,.08);opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .3s ease,transform .3s ease}.navbar.visible{opacity:1;transform:translateY(0);pointer-events:auto}.navbar-container{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.navbar-brand{font-family:var(--font-principale);font-weight:500;font-size:1.1rem;color:var(--color-text-sombre);text-decoration:none;letter-spacing:.02em;transition:color .2s ease;position:relative;z-index:1001}.navbar-brand:hover{color:var(--color-bleu)}.navbar-nav{display:flex;align-items:center;gap:2rem;list-style:none;margin:0;padding:0}.navbar-nav a{font-family:var(--font-principale);font-weight:300;font-size:1rem;color:var(--color-text-sombre);text-decoration:none;letter-spacing:.01em;transition:opacity .2s ease;position:relative;padding-bottom:2px}.navbar-nav a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--color-text-sombre);transition:width .3s ease}.navbar-nav a.active::after,.navbar-nav a:hover::after{width:100%}.navbar-nav a:hover{opacity:.6}.navbar-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;background:0 0;border:none;cursor:pointer;padding:0;position:relative;z-index:1001}.navbar-toggle-bar{display:block;width:24px;height:2px;background:var(--color-text-sombre);transition:transform .3s ease,opacity .3s ease,width .3s ease;transform-origin:center}.navbar-toggle.open .navbar-toggle-bar:first-child{transform:translateY(7px) rotate(45deg)}.navbar-toggle.open .navbar-toggle-bar:nth-child(2){opacity:0;width:0}.navbar-toggle.open .navbar-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar-fullscreen{display:none;position:fixed;inset:0;z-index:999;background:var(--color-blanc-casse);flex-direction:column;align-items:center;justify-content:center;opacity:0;transform:translateY(-12px);transition:opacity .35s ease,transform .35s ease;pointer-events:none}.navbar-fullscreen.open{opacity:1;transform:translateY(0);pointer-events:auto}.navbar-fullscreen-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:2rem}.navbar-fullscreen-link{font-family:var(--font-principale);font-weight:300;font-size:clamp(1.5rem, 5vw, 2rem);color:var(--color-text-sombre);text-decoration:none;letter-spacing:.04em;text-transform:uppercase;line-height:1;position:relative;transition:opacity .2s ease}.navbar-fullscreen-link::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-text-sombre);transition:width .35s ease}.navbar-fullscreen-link.active::after{width:100%}.navbar-fullscreen-link:hover{opacity:.6}@media (max-width:768px){.navbar{opacity:1!important;transform:translateY(0)!important;pointer-events:auto!important;background:rgba(248,248,248,.97)}.navbar-container{padding:.875rem 1.5rem}.navbar-nav{display:none}.navbar-toggle{display:flex}.navbar-fullscreen{display:flex}}@media (max-width:600px){.navbar-container{padding:.75rem 1rem}.navbar-brand{font-size:.9rem}}.section-presentation{position:relative;display:flex;align-items:center;justify-content:center;background:var(--color-bleu);color:var(--color-text-clair);padding:8rem 2rem}.presentation-container{position:relative;width:100%;max-width:900px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3rem}.presentation-photo{width:180px;height:230px;object-fit:cover;border-radius:0;box-shadow:0 4px 20px rgba(0,0,0,.15);flex-shrink:0}.presentation-text{width:100%;max-width:850px;text-align:center;padding:0 3rem}.presentation-text h2{font-size:1.5rem;font-weight:400;margin-bottom:2rem;letter-spacing:.02em}.presentation-text p{font-family:var(--font-principale);font-weight:400;font-size:14px;line-height:1.8;color:var(--color-text-clair);margin:0;letter-spacing:.01em}.btn-cv{display:inline-block;margin-top:2rem;padding:.75rem 2rem;background:0 0;color:var(--color-text-clair);border:1px solid var(--color-text-clair);font-family:var(--font-principale);font-weight:500;font-size:.9rem;text-decoration:none;text-transform:lowercase;letter-spacing:.02em;transition:background .2s ease,color .2s ease}.btn-cv:hover{background:var(--color-text-clair);color:var(--color-bleu)}@media (max-width:768px){.section-presentation{padding:6rem 1.5rem}.presentation-container{gap:2.5rem}.presentation-photo{width:150px;height:195px}.presentation-text{max-width:90%;padding:0 1.5rem}.presentation-text h2{font-size:1.3rem;margin-bottom:1.5rem}.presentation-text p{font-size:13px;line-height:1.7}}@media (max-width:480px){.section-presentation{padding:5rem 1rem}.presentation-container{gap:2rem}.presentation-photo{width:130px;height:170px}.presentation-text{padding:0 1rem}.presentation-text h2{font-size:1.2rem;margin-bottom:1.25rem}.presentation-text p{font-size:12px;line-height:1.7}}.section-parcours{position:relative;display:flex;align-items:center;justify-content:center;background:var(--color-noir);color:var(--color-text-clair);padding:6rem 0;overflow:hidden}.parcours-container{width:100%;max-width:100vw}.parcours-title{font-family:"Stack Sans Notch",sans-serif;font-weight:600;font-size:4.5rem;line-height:1.1;text-align:center;color:var(--color-text-clair);margin:0 0 4rem;padding:0 2rem}.parcours-title b{font-family:var(--font-accent);font-weight:700;font-style:italic;color:var(--color-text-clair)}.carousel-container{position:relative;width:100%;max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:1.5rem;padding:0 2rem}.carousel-nav{flex-shrink:0;width:48px;height:48px;background:var(--color-noir);border:1px solid var(--color-text-clair);border-radius:0;color:var(--color-text-clair);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.carousel-nav:hover:not(:disabled){background:var(--color-text-clair);color:var(--color-noir)}.carousel-nav:disabled{cursor:not-allowed;opacity:.3}.carousel-nav svg{width:24px;height:24px}.carousel-wrapper{flex:1;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}.carousel-wrapper::-webkit-scrollbar{display:none}.carousel-track{display:flex;gap:2rem;padding:1rem 1rem 0;width:max-content}.parcours-card{flex:0 0 auto;width:400px;background:0 0;border:1px solid var(--color-text-clair);border-radius:0;overflow:visible;transition:transform .3s ease,border-color .3s ease}.parcours-card:hover{transform:translateY(-8px);border-color:var(--color-blanc-casse)}.card-image{width:100%;height:280px;overflow:hidden;background:var(--color-noir);border-radius:0}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.parcours-card:hover .card-image img{transform:scale(1.05)}.card-content{padding:2rem}.card-title{font-family:var(--font-principale);font-weight:700;font-size:1.5rem;line-height:1.3;color:var(--color-text-clair);margin:0 0 1rem}.card-description{font-family:var(--font-principale);font-weight:300;font-size:.95rem;line-height:1.7;color:var(--color-text-clair);margin:0 0 1.5rem;opacity:.85}.card-button{font-family:var(--font-principale);font-weight:500;font-size:.9rem;color:var(--color-text-clair);background:0 0;border:1px solid var(--color-text-clair);padding:.75rem 2rem;cursor:pointer;transition:background .2s ease,color .2s ease;letter-spacing:.02em;text-decoration:none;display:block;text-align:center}.card-button:hover{background:var(--color-text-clair);color:var(--color-noir)}.carousel-indicators{width:100%;max-width:1400px;margin:3rem auto 0;padding:0 calc(2rem + 48px + 1.5rem)}.carousel-progress-bar{width:100%;height:3px;background:rgba(255,255,255,.2);border-radius:2px;overflow:hidden}.carousel-progress-fill{height:100%;width:0%;background:var(--color-text-clair);transition:width .1s ease-out;border-radius:2px}@media (max-width:1200px){.parcours-title{font-size:2.875rem}.carousel-container{padding:0 1.5rem}.parcours-card{width:360px}.carousel-nav{width:44px;height:44px}.carousel-nav svg{width:22px;height:22px}.carousel-indicators{padding:0 calc(1.5rem + 44px + 1.5rem)}}@media (max-width:768px){.section-parcours{padding:4rem 0}.parcours-title{font-size:2.5rem;margin-bottom:3rem}.carousel-container{gap:1rem;padding:0 1.5rem}.carousel-nav{width:40px;height:40px}.carousel-nav svg{width:20px;height:20px}.carousel-track{gap:1.5rem;padding:0 .75rem}.parcours-card{width:320px}.card-image{height:240px}.card-content{padding:1.5rem}.card-title{font-size:1.25rem}.card-description{font-size:.9rem}.carousel-indicators{margin-top:2rem;padding:0 calc(1.5rem + 40px + 1rem)}}@media (max-width:480px){.parcours-title{font-size:2rem;margin-bottom:2rem;padding:0 1rem}.carousel-container{gap:.75rem;padding:0 1rem}.carousel-nav{width:36px;height:36px;border-width:1.5px}.carousel-nav svg{width:18px;height:18px}.carousel-track{gap:1rem;padding:0 .5rem}.parcours-card{width:280px}.card-image{height:200px}.card-content{padding:1.25rem}.card-title{font-size:1.125rem}.card-description{font-size:.85rem;line-height:1.6}.card-button{font-size:.85rem;padding:.65rem 1.5rem}.carousel-indicators{margin-top:1.5rem;padding:0 calc(1rem + 36px + .75rem)}.carousel-progress-bar{height:2px}}.section-projets{position:relative;background:var(--color-blanc-casse);color:var(--color-text-sombre);padding:6rem 0}.projets-container{width:100%;max-width:1400px;margin:0 auto;padding:0 2rem}.projets-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4rem;gap:2rem}.projets-title{font-family:"Stack Sans Notch",sans-serif;font-weight:600;font-size:4.5rem;line-height:1.1;color:var(--color-text-sombre);margin:0}.projets-filters-container{display:flex;flex-direction:column;gap:.75rem;align-items:flex-end;padding-top:.5rem;max-width:500px}.filters-wrapper{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:thin;scrollbar-color:var(--color-text-sombre) transparent;width:100%}.filters-wrapper::-webkit-scrollbar{height:4px}.filters-wrapper::-webkit-scrollbar-track{background:0 0}.filters-wrapper::-webkit-scrollbar-thumb{background:var(--color-text-sombre);border-radius:2px}.filter-tag{font-family:var(--font-principale);font-weight:400;font-size:.85rem;color:var(--color-text-sombre);background:0 0;border:1px solid var(--color-text-sombre);padding:.5rem 1rem;cursor:pointer;transition:all .2s ease;letter-spacing:.02em;text-transform:lowercase;white-space:nowrap;flex-shrink:0}.filter-tag:hover{background:rgba(5,4,3,.1)}.filter-tag.active{background:var(--color-text-sombre);color:var(--color-blanc-casse);font-weight:500}.filter-reset{font-family:var(--font-principale);font-weight:500;font-size:.85rem;color:var(--color-text-sombre);background:0 0;border:1px solid var(--color-text-sombre);padding:.5rem 1rem;cursor:pointer;transition:all .2s ease;letter-spacing:.02em;text-transform:lowercase;display:flex;align-items:center;gap:.5rem}.filter-reset:hover{background:var(--color-text-sombre);color:var(--color-blanc-casse)}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;background:var(--color-text-sombre);color:var(--color-blanc-casse);border-radius:50%;font-size:.75rem;font-weight:500;padding:0 .25rem}.filter-reset:hover .filter-count{background:var(--color-blanc-casse);color:var(--color-text-sombre)}.projets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:4rem}.projet-card{background:0 0;border:1px solid var(--color-text-sombre);overflow:visible;transition:transform .3s ease,border-color .3s ease}.projet-card:hover{transform:translateY(-8px)}.projet-image{width:100%;height:280px;overflow:hidden;background:var(--color-beige-clair);border-radius:0;line-height:0;font-size:0}.projet-image img{width:100%;height:100%;object-fit:cover;display:block;vertical-align:top;will-change:transform;backface-visibility:hidden;transform:translateZ(0);transition:transform .4s ease}.projet-card:hover .projet-image img{transform:scale(1.05) translateZ(0)}.projet-content{padding:1.5rem}.projet-title{font-family:var(--font-principale);font-weight:700;font-size:1.5rem;line-height:1.3;color:var(--color-text-sombre);margin:0 0 1rem}.projet-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tag{font-family:var(--font-principale);font-weight:400;font-size:.8rem;color:var(--color-text-sombre);background:0 0;border:1px solid var(--color-text-sombre);padding:.25rem .75rem;letter-spacing:.02em}.projet-button{font-family:var(--font-principale);font-weight:500;font-size:.9rem;color:var(--color-text-sombre);background:0 0;border:1px solid var(--color-text-sombre);padding:.75rem 2rem;cursor:pointer;transition:background .2s ease,color .2s ease;letter-spacing:.02em;width:100%;text-decoration:none;display:block;text-align:center}.projet-button:hover{background:var(--color-text-sombre);color:var(--color-blanc-casse)}.projets-pagination{display:flex;align-items:center;justify-content:center;gap:1rem}.pagination-btn{width:40px;height:40px;background:0 0;border:1px solid var(--color-text-sombre);color:var(--color-text-sombre);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--color-text-sombre);color:var(--color-blanc-casse)}.pagination-btn:disabled{opacity:.3;cursor:not-allowed}.pagination-btn svg{width:20px;height:20px}.pagination-numbers{display:flex;align-items:center;gap:.5rem}.pagination-number{min-width:40px;height:40px;background:0 0;border:1px solid var(--color-text-sombre);color:var(--color-text-sombre);cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--font-principale);font-weight:400;font-size:.9rem;padding:0 .75rem;transition:all .2s ease}.pagination-number:hover{background:var(--color-text-sombre);color:var(--color-blanc-casse)}.pagination-number.active{background:var(--color-text-sombre);color:var(--color-blanc-casse);font-weight:500}.pagination-ellipsis{color:var(--color-text-sombre);font-size:1.2rem;padding:0 .25rem}@media (max-width:1200px){.projets-title{font-size:3.5rem}.projets-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (max-width:768px){.section-projets{padding:4rem 0}.projets-container{padding:0 1.5rem}.projets-header{flex-direction:column;align-items:flex-start;margin-bottom:3rem;gap:1.5rem}.projets-title{font-size:2.5rem}.projets-filters-container{max-width:100%;align-items:flex-start;padding-top:0}.filters-wrapper{width:100%}.filter-tag{font-size:.8rem;padding:.45rem .9rem}.filter-reset{font-size:.8rem;padding:.45rem .9rem}.filter-count{min-width:18px;height:18px;font-size:.7rem}.projets-grid{grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem}.projet-image{height:240px}.projet-title{font-size:1.25rem}.pagination-numbers{gap:.35rem}.pagination-btn,.pagination-number{min-width:36px;height:36px;font-size:.85rem}}@media (max-width:480px){.projets-container{padding:0 1rem}.projets-title{font-size:2rem}.filters-wrapper{gap:.4rem}.filter-tag{font-size:.75rem;padding:.4rem .8rem}.filter-reset{font-size:.75rem;padding:.4rem .8rem}.projets-grid{gap:1rem}.projet-image{height:200px}.projet-content{padding:1.25rem}.projet-title{font-size:1.125rem}.tag{font-size:.75rem;padding:.2rem .6rem}.projet-button{font-size:.85rem;padding:.65rem 1.5rem}.pagination-btn svg{width:18px;height:18px}}.section-competences{position:relative;background:var(--color-noir);color:var(--color-text-clair);padding:6rem 0;display:flex;align-items:center;justify-content:center}.competences-container{width:100%;max-width:1400px;margin:0 auto;padding:0 2rem}.competences-title{font-family:"Stack Sans Notch",sans-serif;font-weight:600;font-size:4.5rem;line-height:1.1;text-align:center;color:var(--color-text-clair);margin:0 0 4rem}.competences-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.competence-card{background:var(--color-noir);border:1px solid var(--color-text-clair);padding:2.5rem 2rem;display:flex;flex-direction:column;align-items:center;text-align:center}.competence-icon{width:80px;height:80px;margin-bottom:1.5rem;color:var(--color-text-clair);display:flex;align-items:center;justify-content:center}.competence-icon svg{width:100%;height:100%}.competence-title{font-family:var(--font-principale);font-weight:700;font-size:1.5rem;line-height:1.3;color:var(--color-text-clair);margin:0 0 1rem}.competence-description{font-family:var(--font-principale);font-weight:300;font-size:.95rem;line-height:1.7;color:var(--color-text-clair);margin:0;opacity:.85}@media (max-width:1200px){.competences-title{font-size:3.5rem}.competences-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (max-width:768px){.section-competences{padding:4rem 0}.competences-container{padding:0 1.5rem}.competences-title{font-size:2.5rem;margin-bottom:3rem}.competences-grid{grid-template-columns:1fr;gap:1.5rem}.competence-card{padding:2rem 1.5rem}.competence-icon{width:70px;height:70px;margin-bottom:1.25rem}.competence-title{font-size:1.25rem}.competence-description{font-size:.9rem}}@media (max-width:480px){.competences-container{padding:0 1rem}.competences-title{font-size:2rem;margin-bottom:2rem}.competences-grid{gap:1rem}.competence-card{padding:1.5rem 1.25rem}.competence-icon{width:60px;height:60px;margin-bottom:1rem}.competence-title{font-size:1.125rem}.competence-description{font-size:.85rem;line-height:1.6}}.section-veille{position:relative;background:var(--color-beige-clair);color:var(--color-text-sombre);padding:6rem 0 4rem}.veille-container{width:100%;max-width:1400px;margin:0 auto;padding:0 2rem}.veille-title{font-family:"Stack Sans Notch",sans-serif;font-weight:600;font-size:4.5rem;line-height:1.1;color:var(--color-text-sombre);margin:0 0 1.5rem}.veille-intro{font-family:var(--font-principale);font-weight:400;font-size:1.1rem;line-height:1.7;color:var(--color-text-sombre);opacity:.85;max-width:600px;margin:0 0 3rem}.veille-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.veille-card{background:var(--color-blanc-casse);border:1px solid var(--color-text-sombre);padding:2rem;display:flex;flex-direction:column}.veille-date{font-family:var(--font-principale);font-weight:400;font-size:.85rem;color:var(--color-text-sombre);text-transform:lowercase;margin-bottom:1rem;opacity:.7;display:block}.veille-card-title{font-family:var(--font-principale);font-weight:700;font-size:1.5rem;line-height:1.3;color:var(--color-text-sombre);margin:0 0 1rem}.veille-description{font-family:var(--font-principale);font-weight:300;font-size:.95rem;line-height:1.7;color:var(--color-text-sombre);margin:0 0 1.5rem;opacity:.85;flex-grow:1}.veille-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.veille-tags .tag{font-family:var(--font-principale);font-weight:400;font-size:.8rem;color:var(--color-text-sombre);background:0 0;border:1px solid var(--color-text-sombre);padding:.25rem .75rem;letter-spacing:.02em}.veille-button{font-family:var(--font-principale);font-weight:500;font-size:.9rem;color:var(--color-text-sombre);background:0 0;border:1px solid var(--color-text-sombre);padding:.75rem 2rem;cursor:pointer;transition:background .2s ease,color .2s ease;letter-spacing:.02em;width:100%;text-decoration:none;display:block;text-align:center}.veille-button:hover{background:var(--color-text-sombre);color:var(--color-blanc-casse)}.veille-actions{display:flex;justify-content:center;margin-top:3rem}.veille-all-button{font-family:var(--font-principale);font-weight:500;font-size:1rem;color:var(--color-text-sombre);background:0 0;border:1px solid var(--color-text-sombre);padding:1rem 3rem;cursor:pointer;transition:background .2s ease,color .2s ease;letter-spacing:.02em;text-decoration:none;display:inline-block}.veille-all-button:hover{background:var(--color-text-sombre);color:var(--color-beige-clair)}@media (max-width:1200px){.veille-title{font-size:3.5rem}.veille-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (max-width:768px){.section-veille{padding:4rem 0 3rem}.veille-container{padding:0 1.5rem}.veille-title{font-size:2.5rem;margin-bottom:3rem}.veille-grid{grid-template-columns:1fr;gap:1.5rem}.veille-card{padding:1.5rem}.veille-card-title{font-size:1.25rem}.veille-description{font-size:.9rem}.veille-actions{margin-top:2rem}.veille-all-button{font-size:.9rem;padding:.85rem 2.5rem}}@media (max-width:480px){.veille-container{padding:0 1rem}.veille-title{font-size:2rem;margin-bottom:2rem}.veille-grid{gap:1rem}.veille-card{padding:1.25rem}.veille-date{font-size:.8rem;margin-bottom:.75rem}.veille-card-title{font-size:1.125rem}.veille-description{font-size:.85rem;line-height:1.6}.veille-tags .tag{font-size:.75rem;padding:.2rem .6rem}.veille-button{font-size:.85rem;padding:.65rem 1.5rem}.veille-actions{margin-top:1.5rem}.veille-all-button{font-size:.85rem;padding:.75rem 2rem}}.section-objectifs{position:relative;min-height:auto;background:var(--color-bleu);color:var(--color-text-clair);padding:4rem 0;display:flex;align-items:center;justify-content:center}.objectifs-container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}.objectifs-title{font-family:"Stack Sans Notch",sans-serif;font-weight:600;font-size:4.5rem;line-height:1.1;text-align:center;color:var(--color-text-clair);margin:0 0 3rem}.objectifs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem}.objectif-card{background:0 0;border:1px solid var(--color-text-clair);padding:2.5rem 2rem;display:flex;flex-direction:column}.objectif-title{font-family:var(--font-principale);font-weight:700;font-size:1.75rem;line-height:1.3;color:var(--color-text-clair);margin:0 0 1.5rem}.objectif-description{font-family:var(--font-principale);font-weight:300;font-size:1rem;line-height:1.7;color:var(--color-text-clair);margin:0 0 2rem;opacity:.85;flex-grow:1}.objectif-button{font-family:var(--font-principale);font-weight:500;font-size:.9rem;color:var(--color-text-clair);background:0 0;border:1px solid var(--color-text-clair);padding:.75rem 2rem;cursor:pointer;transition:background .2s ease,color .2s ease;letter-spacing:.02em;width:100%;text-decoration:none;display:block;text-align:center}.objectif-button:hover{background:var(--color-text-clair);color:var(--color-bleu)}@media (max-width:1200px){.objectifs-title{font-size:3.5rem}}@media (max-width:768px){.section-objectifs{padding:3rem 0}.objectifs-container{padding:0 1.5rem}.objectifs-title{font-size:2.5rem;margin-bottom:2.5rem}.objectifs-grid{grid-template-columns:1fr;gap:2rem}.objectif-card{padding:2rem 1.5rem}.objectif-title{font-size:1.5rem}.objectif-description{font-size:.95rem}}@media (max-width:480px){.objectifs-container{padding:0 1rem}.objectifs-title{font-size:2rem;margin-bottom:1.5rem}.objectifs-grid{gap:1.5rem}.objectif-card{padding:1.5rem 1.25rem}.objectif-title{font-size:1.25rem;margin-bottom:1rem}.objectif-description{font-size:.9rem;line-height:1.6;margin-bottom:1.5rem}.objectif-button{font-size:.85rem;padding:.65rem 1.5rem}}.section-contact{position:relative;background:var(--color-beige-clair);color:var(--color-text-sombre);padding:6rem 0;display:flex;align-items:center;justify-content:center}.contact-container{width:100%;max-width:1000px;margin:0 auto;padding:0 2rem}.contact-title{font-family:"Stack Sans Notch",sans-serif;font-weight:600;font-size:4.5rem;line-height:1.1;text-align:center;color:var(--color-text-sombre);margin:0 0 4rem}.alert{padding:1rem 1.5rem;margin-bottom:2rem;border-radius:4px;font-family:var(--font-principale);font-size:1rem}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.contact-disabled{text-align:center;font-size:1.1rem;color:var(--color-text-sombre);opacity:.7;margin-top:2rem}.contact-cv{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:3rem}.btn-cv-large{display:inline-block;padding:1.25rem 3rem;background:var(--color-text-sombre);color:var(--color-beige-clair);font-family:var(--font-principale);font-weight:600;font-size:1.1rem;text-decoration:none;text-transform:lowercase;border-radius:0;transition:all .3s ease;box-shadow:0 2px 15px rgba(0,0,0,.1)}.btn-cv-large:hover{background:var(--color-noir);transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,0,0,.15)}.contact-cv .btn-cv-large.btn-cv-secondary{background:0 0;color:var(--color-beige-clair);border:1px solid var(--color-beige-clair)}.contact-cv .btn-cv-large.btn-cv-secondary:hover{background:rgba(255,255,255,.08)}.contact-info{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;margin-bottom:4rem}.contact-column{display:flex;flex-direction:column;gap:2rem}.contact-item{display:flex;flex-direction:column;gap:.5rem}.contact-label{font-family:var(--font-principale);font-weight:400;font-size:.85rem;color:var(--color-text-sombre);text-transform:uppercase;letter-spacing:.1em;opacity:.7}.contact-value{font-family:var(--font-principale);font-weight:400;font-size:1.1rem;color:var(--color-text-sombre);text-decoration:none;transition:opacity .2s ease;text-transform:lowercase}a.contact-value:hover{opacity:.7;text-decoration:underline}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-family:var(--font-principale);font-weight:400;font-size:.9rem;color:var(--color-text-sombre);text-transform:lowercase;letter-spacing:.02em}.form-input,.form-textarea{font-family:var(--font-principale);font-weight:300;font-size:1rem;color:var(--color-text-sombre);background:0 0;border:1px solid var(--color-text-sombre);padding:.75rem 1rem;transition:border-color .2s ease}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-sombre);opacity:.5}.form-input:focus,.form-textarea:focus{outline:0;border-color:var(--color-noir)}.form-textarea{resize:vertical;min-height:150px}.form-submit{font-family:var(--font-principale);font-weight:500;font-size:1rem;color:var(--color-text-sombre);background:0 0;border:1px solid var(--color-text-sombre);padding:1rem 3rem;cursor:pointer;transition:all .2s ease;letter-spacing:.02em;text-transform:lowercase;align-self:center}.form-submit:hover{background:var(--color-text-sombre);color:var(--color-beige-clair)}@media (max-width:1200px){.contact-title{font-size:3.5rem}}@media (max-width:768px){.section-contact{padding:4rem 0}.contact-container{padding:0 1.5rem}.contact-title{font-size:2.5rem;margin-bottom:3rem}.contact-info{grid-template-columns:1fr;gap:2rem;margin-bottom:3rem}.contact-column{gap:1.5rem}.form-row{grid-template-columns:1fr;gap:1.5rem}.form-submit{width:100%;padding:.85rem 2rem}}@media (max-width:480px){.contact-container{padding:0 1rem}.contact-title{font-size:2rem;margin-bottom:2rem}.contact-info{gap:1.5rem;margin-bottom:2rem}.contact-column{gap:1.25rem}.contact-label{font-size:.8rem}.contact-value{font-size:1rem}.form-group{gap:.4rem}.form-label{font-size:.85rem}.form-input,.form-textarea{font-size:.95rem;padding:.65rem .85rem}.form-submit{font-size:.9rem;padding:.75rem 1.5rem}}.back-button{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-principale);font-size:1rem;color:var(--color-text-sombre);text-decoration:none;padding:.65rem 1.25rem;border:1px solid var(--color-text-sombre);transition:all .3s ease;min-height:44px}.back-button:hover{background:var(--color-text-sombre);color:var(--color-beige-clair)}@media (max-width:768px){.back-button{font-size:1.05rem;padding:.85rem 1.75rem;min-height:52px;gap:.65rem}}.projets-header,.veille-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem}.projet-date,.veille-author{font-size:.9rem;color:var(--color-text-sombre);opacity:.7;margin-bottom:.5rem}.projet-description{font-size:1rem;line-height:1.6;color:var(--color-text-sombre);margin-bottom:1rem}.article-subtitle,.card-subtitle{font-size:1.2rem;color:var(--color-text-sombre);opacity:.8;margin-top:.5rem;font-weight:400}.card-date{font-size:.9rem;color:var(--color-text-sombre);opacity:.6;margin-bottom:.5rem}.article-author{font-size:1rem;color:var(--color-text-sombre);opacity:.7;font-style:italic;margin-top:.5rem}@media (max-width:768px){.projets-header,.veille-header{flex-direction:column;align-items:flex-start;gap:1rem}}