:root{--primary-color: #031FED;--secondary-color: #C8D0FC;--grid-color: #c8d0fc41;--white-color: #F7F6F5;--black-color: #06051A;--motion-fast: .18s;--motion-ui: .24s;--motion-reveal: .42s;--motion-ease: cubic-bezier(.22, 1, .36, 1)}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overflow-x:hidden}html:has(body.index-page){overflow:hidden}html,body{cursor:url(img/cursor.svg) 0 0,auto;cursor:-webkit-image-set(url(img/cursor@1x.png) 1x,url(img/cursor@2x.png) 2x,url(img/cursor@3x.png) 3x) 0 0,auto}body{font-family:Gotham,sans-serif;margin:0;padding:0 40px;background-color:var(--white-color);background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:40px 40px;color:var(--black-color);box-sizing:border-box}body *,body *:before,body *:after{box-sizing:inherit}body:has(.projects-container){overflow:hidden;height:100vh}body.index-page{padding:0;position:relative;overflow:hidden;min-height:100vh}body.index-page main{position:fixed;inset:0;width:100%;height:100%;min-height:100vh;min-height:100dvh;z-index:1}body.index-page main section{position:absolute;inset:0;width:100%;height:100%}body.index-page main video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;cursor:none}body.index-page header{position:relative;z-index:10;padding:0 40px;background:transparent}body.index-page footer{position:fixed;bottom:0;left:0;right:0;z-index:10}body.index-page header:before,body:has(.project-page)>header:before{content:"";position:absolute;inset:-40px -8% -110px;z-index:-1;background:radial-gradient(ellipse 85% 100% at 0% 0%,rgba(6,5,16,.72) 0%,rgba(6,5,16,.52) 35%,rgba(6,5,16,.16) 65%,transparent 90%),radial-gradient(ellipse 85% 100% at 100% 0%,rgba(6,5,16,.72) 0%,rgba(6,5,16,.52) 35%,rgba(6,5,16,.16) 65%,transparent 90%);pointer-events:none}body.index-page footer:before{content:"";position:absolute;inset:-100px -8% -40px;z-index:-1;background:radial-gradient(ellipse 85% 100% at 35% 100%,rgba(6,5,16,.64),rgba(6,5,16,.3) 45%,transparent 85%);pointer-events:none}body.index-page header a,body.index-page footer a{color:#fff}body.index-page .logo img{filter:brightness(0) invert(1)}body:not(.index-page) .logo img{filter:brightness(0) saturate(100%) invert(9%) sepia(95%) saturate(7158%) hue-rotate(234deg) brightness(95%) contrast(101%)}a{text-decoration:none;color:var(--black-color);transition:color .2s ease}a,button{cursor:url(img/cursor-white.svg) 0 0,pointer;cursor:-webkit-image-set(url(img/cursor-white@1x.png) 1x,url(img/cursor-white@2x.png) 2x,url(img/cursor-white@3x.png) 3x) 0 0,pointer}a:hover{text-decoration:underline}p{font-size:1.2em;line-height:1.4;font-weight:300}h1{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.05em;font-size:48px;margin:0}nav{display:flex;justify-content:space-between;align-items:center;width:100%;padding:20px 0;font-size:16px;font-weight:500;img{width:64px;height:64px;object-fit:contain}}nav a:not(.logo){position:relative}.projects-container{width:100%;overflow-x:hidden;overflow-y:hidden;padding:20px 0}.projects-wrapper{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:40px;width:max-content;will-change:transform}.projects-container.auto-scroll .projects-wrapper{animation:scroll-horizontal 30s linear infinite}@keyframes scroll-horizontal{0%{transform:translate(0)}to{transform:translate(-50%)}}.project{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;flex-shrink:0;width:500px;gap:15px;video{width:100%;height:300px;object-fit:cover;transition:transform .2s ease-in-out}video:hover{transform:scale(.95);transition:transform .2s ease-in-out}.project-title{font-size:18px;font-weight:500;margin:0}.project-description{font-size:14px;margin:0;color:var(--black-color);opacity:.7}.project-link{display:block;width:100%}}a.project.project-link{text-decoration:none;color:inherit}a.project.project-link:hover{text-decoration:none}.gallery-description{width:40%}.gallery{width:100%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:10px;padding:20px 0;img{width:100%;height:100%;object-fit:cover;cursor:url(img/cursor-white.svg) 0 0,pointer;cursor:-webkit-image-set(url(img/cursor-white@1x.png) 1x,url(img/cursor-white@2x.png) 2x,url(img/cursor-white@3x.png) 3x) 0 0,pointer;transition:transform .3s ease}img:hover{transform:scale(.95)}}.gallery-overlay{position:fixed;top:0;left:0;right:0;width:100%;height:100%;min-height:100vh;background-color:#000000f2;z-index:9998;display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;pointer-events:none}.gallery-overlay.active{display:flex;opacity:1;pointer-events:auto}.gallery-overlay img{max-width:90vw;max-height:90vh;object-fit:contain;z-index:9999}.gallery-overlay-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:999px;border:none;background:#000000b3;color:var(--white-color);font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10000}.gallery-overlay-close:hover{background:#ffffff2e}body:has(.project-page){padding:0}body:has(.project-page) header{position:fixed;top:0;left:0;right:0;z-index:20;padding:0 40px;background:transparent}body:has(.project-page) header a{color:#fff}body:has(.project-page) .logo img{filter:brightness(0) invert(1)}body:has(.project-page) footer{background:transparent}body:has(.project-page) footer a{color:var(--white-color)}.project-page{padding:0;margin:0}.project-hero{position:relative;width:100%;height:100vh;overflow:hidden}.project-video{position:absolute;top:0;left:0;width:100%;height:100vh;z-index:1}.project-video:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 95% 65% at 5% 100%,rgba(6,5,16,.68) 0%,rgba(6,5,16,.48) 30%,rgba(6,5,16,.16) 60%,transparent 90%),radial-gradient(ellipse 65% 40% at 55% 110%,rgba(6,5,16,.22),transparent 85%);pointer-events:none}.project-video video{width:100%;height:100%;object-fit:cover}.project-header{position:fixed;top:70%;left:40px;z-index:5;text-align:left;color:#fff;max-width:900px;pointer-events:none}.project-header h1{color:#fff;font-size:64px;margin-bottom:20px;font-family:Gotham,sans-serif;font-weight:700}.project-domains{font-size:18px;color:#fff;opacity:1;margin:0;font-weight:500;letter-spacing:.03em}.project-content{position:relative;z-index:10;margin-top:100vh;padding:80px 40px;min-height:100vh;margin:0}.project-description{max-width:800px;margin:0 auto 80px;font-size:18px;line-height:1.8}.project-description p{margin-bottom:30px}.project-tagline{max-width:800px;margin:-10px auto 12px;font-size:16px;font-style:italic;color:var(--primary-color)}.project-section-title{max-width:800px;margin:0 auto 32px;font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:32px;line-height:1.2}.project-vimeo{width:100%;max-width:800px;margin:0 auto 80px;position:relative;aspect-ratio:16 / 9;overflow:hidden}.project-vimeo iframe,.project-vimeo video{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:4px;object-fit:cover;box-shadow:none;outline:1px solid rgba(6,5,26,.08);outline-offset:-1px}.project-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:40px;max-width:1400px;margin:0 auto}.project-gallery img{width:100%;height:auto;object-fit:cover;border-radius:4px}footer{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;gap:100px;align-items:center;width:100%;padding:30px 40px;font-size:14px}body:has(.gallery) footer,body:has(.project-page) footer{position:relative;a{color:var(--black-color)}}body:has(.gallery) footer{padding:40px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.annexes-page{padding-bottom:80px}body.annexes-lightbox-open{overflow:hidden}.annexes-main{max-width:1400px;margin:0 auto;padding-top:48px;animation:page-fade-up var(--motion-reveal) var(--motion-ease) both;opacity:0}.annexes-header{margin-bottom:32px}.annexes-subtitle{margin:8px 0 28px;color:#06051aa6;font-size:1.1em;max-width:65ch;line-height:1.5}.annexes-toolbar{display:flex;flex-direction:column;gap:16px}.annexes-search-wrap{display:block;max-width:420px}.annexes-search{width:100%;padding:14px 18px;border:1px solid var(--grid-color);border-radius:999px;background:var(--white-color);font-family:inherit;font-size:15px;color:var(--black-color);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.annexes-search:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #031fed1f}.annexes-search::placeholder{color:#06051a66}.annexes-filters{display:flex;flex-wrap:wrap;gap:8px}.annexes-filter{padding:10px 18px;border:1px solid var(--grid-color);border-radius:999px;background:transparent;font-family:inherit;font-size:14px;color:var(--black-color);transition:background .2s ease,border-color .2s ease,color .2s ease}.annexes-filter:hover{border-color:var(--secondary-color);background:#c8d0fc40}.annexes-filter.is-active{background:var(--primary-color);border-color:var(--primary-color);color:var(--white-color)}.annexes-count{margin:20px 0 0;font-size:14px;color:#06051a8c}.annexes-grid{display:flex;flex-direction:column;gap:0}.annexes-card{display:flex;flex-direction:row;align-items:center;gap:32px;padding:18px 24px;margin:0 -24px;border-radius:8px;min-width:0;cursor:url(img/cursor-white.svg) 0 0,pointer;cursor:-webkit-image-set(url(img/cursor-white@1x.png) 1x,url(img/cursor-white@2x.png) 2x,url(img/cursor-white@3x.png) 3x) 0 0,pointer;transition:background-color .25s ease,transform .25s ease}.annexes-card:hover{background:#c8d0fc26}.annexes-card-media{position:relative;width:180px;height:135px;aspect-ratio:4 / 3;padding:0;border:none;border-radius:6px;overflow:hidden;background:#c8d0fc33;cursor:url(img/cursor-white.svg) 0 0,pointer;cursor:-webkit-image-set(url(img/cursor-white@1x.png) 1x,url(img/cursor-white@2x.png) 2x,url(img/cursor-white@3x.png) 3x) 0 0,pointer;transition:transform .25s ease;flex-shrink:0}.annexes-card:hover .annexes-card-media{transform:scale(.98)}.annexes-card-media img,.annexes-card-media video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.annexes-card-media.annexes-pdf-preview:not(.annexes-has-thumbnail),.annexes-card-media.annexes-link-preview:not(.annexes-has-thumbnail){width:180px;height:60px;background:transparent;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:0;box-shadow:none}.annexes-card:hover .annexes-card-media.annexes-pdf-preview:not(.annexes-has-thumbnail),.annexes-card:hover .annexes-card-media.annexes-link-preview:not(.annexes-has-thumbnail){background:transparent;transform:none}.annexes-card-media.annexes-pdf-preview:not(.annexes-has-thumbnail) .annexes-pdf-label,.annexes-card-media.annexes-link-preview:not(.annexes-has-thumbnail) .annexes-link-label{display:none}.annexes-card:hover .annexes-pdf-icon,.annexes-card:hover .annexes-link-icon{transform:scale(1.08);background:#1b35ff}.annexes-pdf-icon,.annexes-link-icon{transition:transform .2s ease,background-color .2s ease}.annexes-card-media.annexes-has-thumbnail{width:180px;height:135px;background:#c8d0fc33;box-shadow:0 4px 12px #06051a14}.annexes-card:hover .annexes-card-media.annexes-has-thumbnail{transform:scale(.98)}.annexes-thumbnail-preview{position:relative;width:100%;height:100%;display:block;overflow:hidden}.annexes-thumbnail-preview img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.annexes-card:hover .annexes-thumbnail-preview img{transform:scale(1.05)}.annexes-thumbnail-badge{position:absolute;bottom:8px;right:8px;background:#031fedd9;color:var(--white-color);padding:4px 10px;border-radius:4px;font-size:11px;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background-color .2s ease,transform .2s ease}.annexes-card:hover .annexes-thumbnail-badge{background:#1b35ff;transform:translateY(-2px)}.annexes-pdf-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:8px;text-decoration:none;color:var(--primary-color);background:#031fed0f}.annexes-pdf-preview:hover{text-decoration:none;background:#031fed1a}.annexes-pdf-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:8px;background:var(--primary-color);color:var(--white-color);font-size:13px;font-weight:600;letter-spacing:.04em}.annexes-pdf-label{font-size:13px}.annexes-link-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:8px;text-decoration:none;color:var(--primary-color);background:#031fed0f}.annexes-link-preview:hover{text-decoration:none;background:#031fed1a}.annexes-link-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:8px;background:var(--primary-color);color:var(--white-color);font-size:22px;font-weight:600;line-height:1}.annexes-link-label{font-size:14px;font-weight:500}.annexes-card-info{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:32px;flex-grow:1;min-width:0}.annexes-card-info h2{margin:0;font-family:Gotham,sans-serif;font-size:18px;font-weight:500;line-height:1.3}.annexes-tag{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--secondary-color);color:var(--primary-color);font-size:11px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;text-align:center;justify-self:center}.annexes-empty{margin-top:48px;text-align:center;color:#06051a80;font-size:16px}.annexes-lightbox{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;background:#000000eb;padding:24px}.annexes-lightbox[hidden]{display:none}.annexes-lightbox-content{max-width:min(92vw,1200px);max-height:90vh;display:flex;align-items:center;justify-content:center}.annexes-lightbox-inner{display:flex;flex-direction:column;background:#06051a;border-radius:8px;overflow:hidden;box-shadow:0 24px 60px #00000080,0 0 0 1px #c8d0fc26;max-width:100%}.annexes-lightbox-inner img,.annexes-lightbox-inner video{max-width:100%;max-height:70vh;object-fit:contain;display:block;background:#000}.annexes-lightbox-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;background:#0d0c22;color:var(--white-color);border-top:1px solid rgba(200,208,252,.1)}.annexes-lightbox-footer h3{margin:0;font-family:Gotham,sans-serif;font-size:16px;font-weight:500;letter-spacing:.02em;color:var(--white-color)}.annexes-lightbox-figma-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:999px;background:var(--primary-color);color:var(--white-color)!important;font-size:13px;font-weight:500;text-decoration:none!important;transition:background-color .2s ease,transform .2s ease;flex-shrink:0;box-shadow:0 4px 12px #031fed40}.annexes-lightbox-figma-btn:hover{background:#1b35ff;transform:translateY(-2px)}.annexes-lightbox-figma-btn svg{stroke:currentColor;transition:transform .2s ease}.annexes-lightbox-figma-btn:hover svg{transform:translate(1px,-1px)}.annexes-figma-link{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;border:1px solid var(--primary-color);background:transparent;color:var(--primary-color);font-size:13px;font-weight:500;text-decoration:none;transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;white-space:nowrap;cursor:url(img/cursor-white.svg) 0 0,pointer;cursor:-webkit-image-set(url(img/cursor-white@1x.png) 1x,url(img/cursor-white@2x.png) 2x,url(img/cursor-white@3x.png) 3x) 0 0,pointer;justify-self:end}.annexes-figma-link:hover{background:var(--primary-color);color:var(--white-color);text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 10px #031fed26}.annexes-figma-link svg{stroke:currentColor;transition:transform .2s ease}.annexes-figma-link:hover svg{transform:translate(1px,-1px)}.annexes-figma-link:active{cursor:url(img/cursor-secondary.svg) 0 0,pointer;cursor:-webkit-image-set(url(img/cursor-secondary@1x.png) 1x,url(img/cursor-secondary@2x.png) 2x,url(img/cursor-secondary@3x.png) 3x) 0 0,pointer;transform:translateY(1px)}.annexes-lightbox-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border:none;border-radius:999px;background:#ffffff1f;color:var(--white-color);font-size:26px;line-height:1;cursor:pointer;transition:background .2s ease}.annexes-lightbox-close:hover{background:#ffffff38}@keyframes page-fade-up{0%{opacity:0}to{opacity:1}}body:not(.index-page) main:not(.project-page){opacity:0;animation:page-fade-up var(--motion-reveal) var(--motion-ease) both}.apropos-pfp{animation:page-fade-up .56s var(--motion-ease) both;opacity:0}.apropos-main{position:relative;min-height:calc(100vh - 160px);max-width:100%}.apropos-texte{line-height:1.6;max-width:70ch}.apropos-cta{display:flex;gap:20px;margin-top:40px}.pill-button{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:14px 40px;border-radius:999px;background:#c8d0fc4d;border:2px solid rgba(200,208,252,.9);box-shadow:0 12px 30px #031fed1f,0 0 0 1px #c8d0fcb3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform-origin:center;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.pill-button span{font-size:20px;font-weight:400;color:var(--primary-color);text-decoration:underline}.pill-button:hover{background:#f7f6f5e6;box-shadow:0 18px 40px #031fed2e,0 0 0 1px #c8d0fce6;transform:rotate(-1deg) translateY(-4px)}.pill-button:active{transform:rotate(0) translateY(1px) scale(.98);box-shadow:0 8px 18px #031fed38,0 0 0 1px #c8d0fc}.pill-linkedin span .pill-cv span{color:var(--primary-color)}@media(min-width:769px){html:has(.apropos-main),body:has(.apropos-main){overflow:hidden;height:100vh}}@keyframes highlight-once{0%{background-size:0% 0%}to{background-size:100% 140%}}.highlight-word{position:relative;cursor:url(img/cursor-white.svg) 0 0,pointer;cursor:-webkit-image-set(url(img/cursor-white@1x.png) 1x,url(img/cursor-white@2x.png) 2x,url(img/cursor-white@3x.png) 3x) 0 0,pointer;font-weight:400;background-image:linear-gradient(120deg,var(--secondary-color));background-repeat:no-repeat;background-size:0% 140%;background-position:0 50%;transition:color .2s ease;border-bottom:1px dashed rgba(3,31,237,.4)}.highlight-word{animation:highlight-once 1s ease-out forwards;animation-delay:calc(var(--i, 0) * .15s)}.highlight-word:hover{color:var(--primary-color);border-bottom-color:transparent}a:active,button:active,footer a:active,.highlight-word:active,.gallery img:active,.project-link:active,.annexes-card:active{cursor:url(img/cursor-secondary.svg) 0 0,pointer;cursor:-webkit-image-set(url(img/cursor-secondary@1x.png) 1x,url(img/cursor-secondary@2x.png) 2x,url(img/cursor-secondary@3x.png) 3x) 0 0,pointer}.nav-link-active{background-image:linear-gradient(120deg,var(--secondary-color));background-repeat:no-repeat;background-size:0% 140%;background-position:0 50%;animation:highlight-once .8s ease-out forwards}.apropos-pfp{position:fixed;right:40px;bottom:90px;width:580px;max-width:35vw;height:auto;object-fit:contain;pointer-events:none}#burst-layer{position:fixed;inset:0;pointer-events:none;z-index:50}.burst-item{position:fixed;left:0;top:0;width:var(--size, 150px);height:calc(var(--size, 150px) * .72);object-fit:cover;border-radius:14px;transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(.85);opacity:0;filter:saturate(1.05) contrast(1.02);box-shadow:0 24px 60px #06051a29,0 0 0 1px #c8d0fc8c;animation:burst-pop 1.55s cubic-bezier(.22,.61,.36,1) var(--delay, 0ms) forwards}.burst-item-cell{width:var(--size, 0px);height:var(--size, 0px);border-radius:999px;object-fit:contain}.burst-item-icon{width:var(--size, 64px);height:var(--size, 64px);object-fit:contain}@keyframes burst-pop{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(.75)}18%{opacity:1;transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(1)}to{opacity:0;transform:translate(-50%,-60%) rotate(var(--rot, 0deg)) scale(.98)}}@media(max-width:768px){html,body,a,button{cursor:auto!important}body{padding:0 20px;background-size:30px 30px;overflow-x:hidden;max-width:100%}body.index-page{padding:0}body.index-page header{padding:0 20px}main{padding-top:24px}nav{padding:15px 0;font-size:14px}nav img{width:48px;height:48px}h1{font-size:32px}p{font-size:16px}.gallery{grid-template-columns:repeat(2,1fr);gap:8px;padding:0 0 40px}.gallery-description{width:100%;margin-bottom:20px}.annexes-grid{display:grid;grid-template-columns:1fr;gap:24px}.annexes-card{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:0;margin:0;min-width:0;background:transparent;cursor:auto!important}.annexes-card:hover{background:transparent}.annexes-card-info{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.annexes-figma-link{cursor:auto!important;justify-self:start;margin-top:8px}.annexes-card-media,.annexes-card-media.annexes-has-thumbnail{width:100%;height:auto;aspect-ratio:4 / 3}.annexes-card-media.annexes-pdf-preview:not(.annexes-has-thumbnail),.annexes-card-media.annexes-link-preview:not(.annexes-has-thumbnail){width:100%;height:auto;aspect-ratio:4 / 3;justify-content:center;background:#031fed0f;padding:0;border-radius:6px;flex-direction:column;box-shadow:none}.annexes-card-media.annexes-pdf-preview:not(.annexes-has-thumbnail) .annexes-pdf-label,.annexes-card-media.annexes-link-preview:not(.annexes-has-thumbnail) .annexes-link-label{display:block;font-size:13px;margin-top:8px}.annexes-card-media.annexes-pdf-preview:not(.annexes-has-thumbnail):hover,.annexes-card-media.annexes-link-preview:not(.annexes-has-thumbnail):hover{background:#031fed1a;transform:scale(.98)}.annexes-card-media.annexes-pdf-preview:not(.annexes-has-thumbnail):hover .annexes-pdf-icon,.annexes-card-media.annexes-link-preview:not(.annexes-has-thumbnail):hover .annexes-link-icon{transform:none;background:var(--primary-color)}.annexes-main{padding-top:32px}.annexes-search-wrap{max-width:none}.annexes-lightbox-footer{padding:12px 16px;flex-direction:column;align-items:flex-start;gap:10px}.annexes-lightbox-footer h3{font-size:14px}.annexes-lightbox-figma-btn{width:100%;justify-content:center;padding:8px 16px;font-size:12px}body:has(.projects-container){overflow-y:auto;overflow-x:hidden;height:auto}body:has(.projects-container) main{display:flex;flex-direction:column;min-height:100vh}.projects-intro{margin-top:auto;padding-bottom:24px}.projects-intro h1{font-size:42px;margin-bottom:12px}.projects-intro p{font-size:18px;line-height:1.5}.projects-container{overflow-x:visible;overflow-y:visible;padding:20px 0;max-width:100%}.projects-wrapper{flex-direction:column;gap:30px;width:100%;max-width:100%}.project{width:100%;max-width:100%}.project video{height:250px}video{object-fit:cover}body:has(.project-page) header{padding:0 20px}.project-header{top:60%;left:20px;max-width:calc(100% - 40px)}.project-header h1{font-size:48px;margin-bottom:12px}.project-domains{font-size:16px}.project-section-title{font-size:26px;line-height:1.1;margin:0 auto 24px}.project-content{padding:60px 20px}.project-description{font-size:16px;margin-bottom:40px}.project-vimeo{margin-bottom:40px}.project-gallery{grid-template-columns:1fr;gap:20px}body:has(.gallery) footer,body:has(.projects-container) footer,body:has(.project-page) footer,body:has(.apropos-main) footer{position:relative}footer{padding:0;gap:20px;font-size:12px;flex-wrap:wrap;max-width:100%;box-sizing:border-box}body.index-page footer{padding:20px}footer a{font-size:12px}.apropos-main{min-height:auto;padding-bottom:40px;overflow-x:hidden;max-width:100%}.apropos-texte{font-size:16px;max-width:100%}.apropos-cta{flex-direction:column;gap:15px;margin-top:30px;align-items:center}.pill-button{padding:12px 30px;width:100%;max-width:90%;justify-content:center;box-sizing:border-box}.pill-button span{font-size:16px}.apropos-pfp{display:block;position:relative;right:auto;bottom:auto;width:100%;max-width:min(280px,85vw);margin:30px auto 0}.gallery-overlay img{max-width:95vw;max-height:85vh}.gallery-overlay-close{top:12px;right:12px;width:40px;height:40px;font-size:26px}body.index-page main video{object-fit:cover}.project-video video{object-fit:cover}}@media(max-width:480px){body{padding:0 15px}body.index-page header{padding:0 15px}body.index-page footer{padding:15px}body:has(.project-page) header{padding:0 15px}nav{padding:12px 0;font-size:12px}nav img{width:40px;height:40px}h1{font-size:28px}p{font-size:14px}.projects-intro h1{font-size:36px}.projects-intro p{font-size:16px}.gallery{grid-template-columns:repeat(2,1fr);gap:8px}.project video{height:200px}.project-title{font-size:16px}.project-description{font-size:12px}.project-header{top:55%;left:15px;max-width:calc(100% - 30px)}.project-header h1{font-size:48px;margin-bottom:8px}.project-domains{font-size:20px}.project-section-title{font-size:22px;line-height:1.1;margin:0 auto 20px}.project-content{padding:40px 15px}.project-description{font-size:14px}footer{padding:15px 0;gap:15px;font-size:11px;flex-direction:column;align-items:flex-start}body:has(.gallery) footer{padding:15px 0}body:has(.project-page) footer{padding:15px}footer a{font-size:11px}.apropos-texte{font-size:14px}.pill-button{padding:10px 25px}.pill-button span{font-size:14px}.annexes-grid{grid-template-columns:1fr}.annexes-filters{gap:6px}.annexes-filter{padding:8px 14px;font-size:13px}}.page-header-tabs{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:30px}.tabs-buttons{display:flex;gap:10px;background:var(--grid-color);padding:5px;border-radius:30px}.tab-btn{background:transparent;border:none;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:500;color:var(--black-color);opacity:.6;border-radius:20px;cursor:url(img/cursor-white.svg) 0 0,pointer;cursor:-webkit-image-set(url(img/cursor-white@1x.png) 1x,url(img/cursor-white@2x.png) 2x,url(img/cursor-white@3x.png) 3x) 0 0,pointer;transition:transform var(--motion-ui) var(--motion-ease),opacity var(--motion-fast) ease,color var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease}.tab-btn:hover{opacity:1}.tab-btn.active{background:var(--white-color);opacity:1;box-shadow:0 2px 10px #0000000d}.tab-content{display:none;opacity:0;animation:fadeInTab .4s ease forwards}.tab-content.active{display:block}@keyframes fadeInTab{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.music-list{display:flex;flex-direction:column;gap:10px;margin-top:30px;width:100%}.music-track{display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--grid-color);transition:transform .2s ease}.play-btn{width:50px;height:50px;border-radius:50%;background:var(--primary-color);border:none;cursor:url(img/cursor-white.svg) 0 0,pointer;cursor:-webkit-image-set(url(img/cursor-white@1x.png) 1x,url(img/cursor-white@2x.png) 2x,url(img/cursor-white@3x.png) 3x) 0 0,pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease;position:relative}.play-btn:before{content:"";display:block;width:0;height:0;border-style:solid;border-width:8px 0 8px 12px;border-color:transparent transparent transparent var(--white-color);margin-left:4px;transition:transform var(--motion-ui) var(--motion-ease),opacity var(--motion-fast) ease,color var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease}.play-btn.playing:before{border-style:double;border-width:0 0 0 12px;height:14px;width:12px;margin-left:0}.track-info{flex-grow:1;display:flex;flex-direction:column;gap:10px;min-width:0}.track-title{font-size:16px;font-weight:500;margin:0;color:var(--black-color)}.fake-waveform{display:flex;align-items:center;gap:4px;height:40px;margin-left:auto}.fake-waveform .bar{width:6px;height:8px;background:var(--primary-color);border-radius:10px;opacity:.3;transition:opacity .2s ease,height .2s ease}.music-track.playing .fake-waveform .bar{opacity:1}.music-track.playing .fake-waveform .bar:nth-child(1){animation:bounceBar .5s infinite alternate ease-in-out}.music-track.playing .fake-waveform .bar:nth-child(2){animation:bounceBar .7s infinite alternate-reverse ease-in-out}.music-track.playing .fake-waveform .bar:nth-child(3){animation:bounceBar .4s infinite alternate ease-in-out}.music-track.playing .fake-waveform .bar:nth-child(4){animation:bounceBar .6s infinite alternate-reverse ease-in-out}.music-track.playing .fake-waveform .bar:nth-child(5){animation:bounceBar .55s infinite alternate ease-in-out}@keyframes bounceBar{0%{height:8px}to{height:35px}}.track-controls{display:flex;align-items:center;gap:15px;width:100%;margin-top:8px;opacity:.4;transition:opacity .2s}.music-track.playing .track-controls,.track-controls:hover{opacity:1}.time{font-size:11px;font-family:monospace;color:var(--black-color);min-width:35px}.progress-wrapper{position:relative;flex-grow:1;height:20px;display:flex;align-items:center}.progress-static-track{position:absolute;top:50%;left:0;width:100%;height:4px;background:var(--grid-color);border-radius:2px;transform:translateY(-50%);pointer-events:none}.progress-wave{position:absolute;top:50%;left:0;height:10px;width:0%;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="10" viewBox="0 0 20 10"><path d="M0 5 Q5 0 10 5 T20 5" fill="none" stroke="%23031FED" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat:repeat-x;background-size:20px 10px;transform:translateY(-50%);pointer-events:none;z-index:1}.music-track.playing .progress-wave,#floating-player.playing .progress-wave{animation:wave-animation 1s linear infinite}@keyframes wave-animation{0%{background-position-x:0}to{background-position-x:-20px}}.progress-bar{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;background:transparent!important;outline:none;cursor:url(img/cursor-white.svg) 0 0,pointer;cursor:-webkit-image-set(url(img/cursor-white@1x.png) 1x,url(img/cursor-white@2x.png) 2x,url(img/cursor-white@3x.png) 3x) 0 0,pointer;z-index:2;margin:0}.progress-bar::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--primary-color);cursor:url(img/cursor-white.svg) 0 0,pointer;cursor:-webkit-image-set(url(img/cursor-white@1x.png) 1x,url(img/cursor-white@2x.png) 2x,url(img/cursor-white@3x.png) 3x) 0 0,pointer;position:relative;z-index:3}.volume-container{display:flex;align-items:center;gap:10px}.volume-icon{font-size:16px;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.volume-slider{width:60px;height:4px;-webkit-appearance:none;appearance:none;background:var(--grid-color);border-radius:2px;outline:none;cursor:url(img/cursor-white.svg) 0 0,pointer;cursor:-webkit-image-set(url(img/cursor-white@1x.png) 1x,url(img/cursor-white@2x.png) 2x,url(img/cursor-white@3x.png) 3x) 0 0,pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:8px;height:8px;border-radius:50%;background:var(--black-color)}#floating-player{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:var(--white-color);border:1px solid var(--grid-color);box-shadow:0 10px 40px #0000001a;border-radius:20px;padding:15px 25px;display:flex;flex-direction:column;align-items:stretch;gap:15px;z-index:9999;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .4s ease;font-family:inherit;max-width:530px;width:90%}#floating-player.floating-hidden{transform:translate(-50%,100px) scale(.9);opacity:0;pointer-events:none}#floating-player.floating-visible{transform:translate(-50%) scale(1);opacity:1;pointer-events:auto}.fp-progress-container{display:flex;align-items:center;gap:10px;width:100%}.fp-time{font-size:11px;color:var(--black-color);opacity:.7;font-weight:500;font-variant-numeric:tabular-nums;min-width:30px}.fp-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.fp-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.fp-music-icon{width:20px;height:20px;color:var(--primary-color);animation:fp-pulse 2s infinite alternate ease-in-out}@keyframes fp-pulse{0%{transform:scale(.9);opacity:.7}to{transform:scale(1.1);opacity:1}}.fp-title{font-size:15px;font-weight:500;color:var(--black-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.fp-controls{display:flex;align-items:center;gap:10px}.fp-btn,.fp-btn-mute{background:none;border:none;cursor:url(img/cursor-white.svg) 0 0,pointer;cursor:-webkit-image-set(url(img/cursor-white@1x.png) 1x,url(img/cursor-white@2x.png) 2x,url(img/cursor-white@3x.png) 3x) 0 0,pointer;display:flex;align-items:center;justify-content:center;color:var(--black-color);padding:6px;border-radius:50%;transition:background .2s,color .2s}.fp-btn:hover,.fp-btn-mute:hover{background:var(--grid-color)}.fp-btn svg,.fp-btn-mute svg{width:18px;height:18px}.fp-close{color:#999;margin-left:10px}.fp-close:hover{color:red}.fp-volume{display:flex;align-items:center;gap:5px;margin-left:5px;border-left:1px solid var(--grid-color);padding-left:10px}#fp-volume-slider{width:60px;height:4px;-webkit-appearance:none;appearance:none;background:var(--grid-color);border-radius:2px;outline:none;cursor:url(img/cursor-white.svg) 0 0,pointer;cursor:-webkit-image-set(url(img/cursor-white@1x.png) 1x,url(img/cursor-white@2x.png) 2x,url(img/cursor-white@3x.png) 3x) 0 0,pointer}#fp-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;border-radius:50%;background:var(--primary-color)}@media(max-width:768px){.fp-music-icon,#fp-volume-slider{display:none!important}.fp-controls{gap:5px}}.home-video-section{position:relative;width:100%;height:100%;cursor:none}.sound-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(1);width:120px;height:120px;border-radius:50%;background:#00000040;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);color:var(--white-color);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;pointer-events:none;z-index:20;opacity:0;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),opacity .4s ease,background .3s ease,left .15s ease-out,top .15s ease-out}.home-video-section:hover .sound-indicator{transform:translate(-50%,-50%) scale(1.05);opacity:1}.home-video-section:hover .sound-indicator.idle-hidden{opacity:0}.sound-indicator:active,.home-video-section:active .sound-indicator{transform:translate(-50%,-50%) scale(.95);background:#ffffff26}.fullscreen-indicator{display:none}@media(hover:none)and (pointer:coarse),(max-width:768px){.sound-indicator{top:auto!important;bottom:120px!important;left:50%!important;transform:translate(-50%) scale(1)!important;opacity:.85}.home-video-section:hover .sound-indicator{transform:translate(-50%) scale(1)!important}.sound-indicator:active,.home-video-section:active .sound-indicator{transform:translate(-50%) scale(.95)!important}.fullscreen-indicator{display:flex;position:absolute;right:20px;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background:#00000040;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);color:var(--white-color);align-items:center;justify-content:center;z-index:30;cursor:pointer;opacity:.85;transition:transform .2s ease,opacity .3s ease,background .3s ease}.fullscreen-indicator:active{transform:translateY(-50%) scale(.9);background:#ffffff26}.home-video-section:hover .sound-indicator.idle-hidden,.sound-indicator.idle-hidden{opacity:0!important;pointer-events:none}}.sound-indicator svg{width:28px;height:28px;transition:transform .2s ease}.sound-indicator-text{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.fullscreen-indicator svg{width:24px;height:24px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}}
