@import "https://rsms.me/inter/inter.css";@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.rich-text h2,.rich-text h3,.rich-text h4,.collage-card,.hscroll-progress,.hscroll-card,.cube-list,.cube_text,.about .about_picture,.about .about_infos,.about .about_text,.about .about_name,.features h2,.hero .hero_text,.hero h1{color:#09090b}@media (prefers-color-scheme:dark){.rich-text h2,.rich-text h3,.rich-text h4,.collage-card,.hscroll-progress,.hscroll-card,.cube-list,.cube_text,.about .about_picture,.about .about_infos,.about .about_text,.about .about_name,.features h2,.hero .hero_text,.hero h1{color:#fff}}.hero{flex-direction:column;justify-content:space-between;gap:4rem;min-height:min(100dvh - 6rem,52rem);padding-block:3rem 6rem;padding-inline:1.5rem;display:flex;position:relative}@media (width>=48rem){.hero{padding-inline:2rem}}.hero h1{letter-spacing:-.03em;font-size:clamp(3.5rem,13vw,12rem);font-weight:900;line-height:.9;animation:.7s ease-out both fade-up}.js .hero h1[data-tech-text]{-webkit-text-fill-color:transparent;-webkit-user-select:none;user-select:none;animation:none}.hero h1 canvas{pointer-events:none;letter-spacing:normal;width:100%;height:100%;position:absolute;inset:0}.hero .hero_text{flex-direction:column;max-width:38rem;font-size:1.125rem;font-weight:600;line-height:1.5;animation:.7s ease-out .15s both fade-up;display:flex}.bg-grid{z-index:-1;position:fixed;inset:0;overflow:hidden}.bg-grid_svg{width:100%;height:200%;position:absolute;top:-50%;left:0;transform:skewY(12deg);-webkit-mask-image:radial-gradient(50% 25%,#fff 50%,#0000);mask-image:radial-gradient(50% 25%,#fff 50%,#0000)}.bg-grid_svg rect{fill:#0000;stroke:#9ca3af4d;transition:fill 1.5s ease-in-out}.bg-grid_svg rect.is-active{fill:#d1d5db4d;transition-duration:.6s}.features{border-top:1px solid color-mix(in srgb, currentColor 30%, transparent);border-left:1px solid color-mix(in srgb, currentColor 30%, transparent);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=48rem){.features{grid-template-columns:repeat(4,1fr)}}.features li{border-right:1px solid color-mix(in srgb, currentColor 30%, transparent);border-bottom:1px solid color-mix(in srgb, currentColor 30%, transparent);text-align:center;flex-direction:column;align-items:center;gap:1.5rem;padding:2.5rem 1rem 2rem;display:flex}.features .features_icon{aspect-ratio:1;width:clamp(3.5rem,7vw,6rem)}.features .features_icon.is-empty{border:1px solid color-mix(in srgb, currentColor 30%, transparent)}.features .features_icon img{object-fit:cover;width:100%;height:100%}.features h2{font-size:clamp(1rem,1.8vw,1.5rem);font-weight:600}.home_projects{gap:.5rem;padding-block:2.5rem;padding-inline:1.5rem;display:grid}@media (width>=48rem){.home_projects{aspect-ratio:3/2;grid-template-rows:repeat(20,1fr);grid-template-columns:2fr 1fr 1fr;padding-inline:2rem}.home_projects>:first-child{grid-area:1/1/13/2}.home_projects>:nth-child(2){grid-area:13/1/21/2}.home_projects>:nth-child(3){grid-area:1/2/21/3}.home_projects>:nth-child(4){grid-area:1/3/10/4}.home_projects>:nth-child(5){grid-area:10/3/21/4}}.home_projects a{border:1px solid color-mix(in srgb, currentColor 30%, transparent);aspect-ratio:4/3;display:block;position:relative;overflow:hidden}@media (width>=48rem){.home_projects a{aspect-ratio:auto}}.home_projects a:hover video,.home_projects a:hover img{transform:scale(1.04)}.home_projects a:hover .project_caption{opacity:1;transform:none}.home_projects .project-image-container{position:absolute;inset:0}.home_projects .project-image-container video,.home_projects .project-image-container img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.home_projects .project_caption{color:#fff;opacity:0;background:linear-gradient(#0000,#000000b3);padding:1.25rem;transition:opacity .3s,transform .3s;position:absolute;inset:auto 0 0;transform:translateY(.5rem)}@media (hover:none){.home_projects .project_caption{opacity:1;transform:none}}.home_projects .project_caption h2{font-size:1.125rem;font-weight:600}.home_projects .project_caption p{opacity:.8;font-size:.875rem}.about{gap:3rem;padding-block:1rem 4rem;padding-inline:1.5rem;display:grid}@media (width>=48rem){.about{padding-inline:2rem}}@media (width>=64rem){.about{grid-template-columns:3fr 2fr;gap:2rem}}.about .about_name{letter-spacing:-.02em;flex-wrap:wrap;column-gap:.25em;font-size:clamp(3rem,8vw,7rem);line-height:1;display:flex}.about .about_firstname{font-weight:800}.about .about_lastname{font-weight:300}.about .about_text{max-width:34rem;margin-top:.75rem;font-size:1.125rem;font-weight:600;line-height:1.5}.about .about_infos{gap:.75rem;margin-top:3rem;font-weight:600;display:grid}.about .about_infos li{align-items:center;gap:1.25rem;display:flex}.about .about_icon{aspect-ratio:1;flex-shrink:0;width:2.25rem}.about .about_icon.is-empty{border:1px solid color-mix(in srgb, currentColor 30%, transparent)}.about .about_icon img{object-fit:cover;width:100%;height:100%}.about .about_picture figcaption{margin-top:1rem;font-size:.875rem;font-weight:600}.about .about_image{aspect-ratio:5/6}.about .about_image.is-empty{border:1px solid color-mix(in srgb, currentColor 30%, transparent)}.about .about_image img{object-fit:cover;width:100%;height:100%}.cube-showcase{padding-block:3rem 6rem;padding-inline:1.5rem;overflow-x:clip}@media (width>=48rem){.cube-showcase{padding-inline:2rem}}@media (width>=64rem){.cube-showcase.is-ready{height:calc(100dvh + (var(--count) - 1) * 70dvh);padding-block:0}}.cube-showcase:not(.is-ready) .cube-list_dot{display:none}.cube-sticky{gap:3rem;display:grid}@media (width>=64rem){.cube-sticky{grid-template-columns:7fr 5fr;align-items:center;column-gap:6rem;height:100dvh;position:sticky;top:0}}.cube-stage{aspect-ratio:3/4;perspective:2400px}@media (width>=48rem){.cube-stage{aspect-ratio:800/687}}@media (width>=64rem){.cube-stage{width:min(100%,98.9811dvh)}}.cube{width:100%;height:100%;transform-style:preserve-3d;transform:translateZ(calc(var(--depth,0px) * -1)) rotateY(var(--angle,0deg));transition:transform .9s cubic-bezier(.65,0,.35,1);position:relative}@media (prefers-reduced-motion:reduce){.cube{transition:none}}.cube_face{backface-visibility:hidden;background:#fafafa;border:1px solid;grid-template-rows:45% 1fr;display:grid;position:absolute;inset:0;overflow:hidden}@media (prefers-color-scheme:dark){.cube_face{background:#09090b}}@media (width>=48rem){.cube_face{grid-template-rows:none;grid-template-columns:53fr 47fr}}.cube_face:first-child{transform:rotateY(0deg) translateZ(var(--depth,0px))}.cube_face:nth-child(2){transform:rotateY(90deg) translateZ(var(--depth,0px))}.cube_face:nth-child(3){transform:rotateY(180deg) translateZ(var(--depth,0px))}.cube_face:nth-child(4){transform:rotateY(270deg) translateZ(var(--depth,0px))}.cube_media{border-bottom:1px solid;overflow:hidden}@media (width>=48rem){.cube_media{border-bottom:0;border-right:1px solid}}.cube_media video,.cube_media img{object-fit:cover;width:100%;height:100%}.cube_text{flex-direction:column;gap:1.5rem;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}@media (width>=48rem){.cube_text{padding:1rem 1.5rem 1.5rem 2rem}}.cube_text h2{letter-spacing:-.01em;font-size:clamp(2rem,3.5vw,3rem);font-weight:800;line-height:1.1}.cube_text p{font-size:clamp(1rem,1.6vw,1.375rem);line-height:1.35}.cube_text a{text-underline-offset:4px;margin-top:auto;font-weight:600}.cube_text a:hover{text-decoration:underline}.cube-list{z-index:1;border-left:6px solid;justify-self:center;padding-left:2.5rem;position:relative}@media (width>=64rem){.cube-list{padding-left:5.5rem}}.cube-list ol{flex-direction:column;gap:.5rem;padding-block:.5rem;display:flex}.cube-list button{text-align:left;color:gray;cursor:pointer;font-size:clamp(1.75rem,3.3vw,3rem);font-weight:800;line-height:1.3;transition:color .3s}.cube-list button:hover,.cube-list button[aria-current=true]{color:inherit}.cube-list_dot{background:currentColor;border-radius:50%;width:1.875rem;height:1.875rem;margin-top:-.9375rem;transition:transform .6s cubic-bezier(.65,0,.35,1);position:absolute;top:0;left:calc(-3px - .9375rem)}.hscroll{padding-block:3rem 6rem}.hscroll.is-ready{padding-block:0}.hscroll.is-ready .hscroll-sticky{flex-direction:column;justify-content:center;height:100dvh;display:flex;position:sticky;top:0;overflow-x:clip}.hscroll.is-ready .hscroll-track{will-change:transform;overflow:visible}.hscroll-track{scroll-snap-type:x mandatory;gap:clamp(1.5rem,5.5vw,5rem);padding-inline:1.5rem;display:flex;overflow-x:auto}@media (width>=48rem){.hscroll-track{padding-inline:2rem}}.hscroll-track li{scroll-snap-align:start;flex-shrink:0;width:85vw}@media (width>=48rem){.hscroll-track li{width:55.5vw}}.hscroll-card{aspect-ratio:20/13;border:1px solid;display:block;position:relative;overflow:hidden}.hscroll-card:hover video,.hscroll-card:hover img{transform:scale(1.03)}.hscroll-card:hover .hscroll-card_caption{opacity:1;transform:none}.hscroll-card_media{position:absolute;inset:0}.hscroll-card_media video,.hscroll-card_media img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.hscroll-card_caption{color:#fff;opacity:0;background:linear-gradient(#0000,#000000b3);padding:1.5rem;transition:opacity .3s,transform .3s;position:absolute;inset:auto 0 0;transform:translateY(.5rem)}@media (hover:none){.hscroll-card_caption{opacity:1;transform:none}}.hscroll-card_caption h2{font-size:clamp(1.25rem,2vw,1.75rem);font-weight:700}.hscroll-card_caption p{opacity:.8}.hscroll-progress{margin-top:clamp(2.5rem,13vh,9rem);background:color-mix(in srgb, currentColor 15%, transparent);height:6px;margin-inline:1.5rem}@media (width>=48rem){.hscroll-progress{margin-inline:2rem}}.hscroll-progress span{transform-origin:0;background:currentColor;height:100%;display:block;transform:scaleX(0)}.collage{padding-block:3rem 6rem;padding-inline:1.5rem;container-type:inline-size}@media (width>=48rem){.collage{padding-inline:2rem}}.collage-grid{gap:1.5rem;display:grid}@media (width>=48rem){.collage-grid{grid-template-rows:13.5776cqw 15.5891cqw 8.11782cqw 1.2931cqw 11.9971cqw 3.52012cqw 18.0316cqw 37.2845cqw 13.8649cqw;grid-template-columns:335fr 17fr 511fr 176fr 17fr 335fr;gap:0}.collage-grid>:first-child{grid-area:1/1/4/2}.collage-grid>:nth-child(2){grid-area:3/3/7/5}.collage-grid>:nth-child(3){grid-area:2/6/5/7}.collage-grid>:nth-child(4){grid-area:8/1/9/4}.collage-grid>:nth-child(5){grid-area:6/6/10/7}.collage-grid>:nth-child(n+6){aspect-ratio:16/9;grid-column:1/-1;margin-top:5.74713cqw}}.collage-grid li{aspect-ratio:4/3}.collage-grid li:nth-child(5n+1),.collage-grid li:nth-child(5n+5){aspect-ratio:3/4}@media (width>=48rem){.collage-grid li{aspect-ratio:auto}}.collage-card{height:100%;transform:translateY(var(--parallax,0px));will-change:transform;border:1px solid;display:block;position:relative;overflow:hidden}.collage-card:hover video,.collage-card:hover img{transform:scale(1.03)}.collage-card:hover .collage-card_caption{opacity:1;transform:none}.collage-card_media{position:absolute;inset:0}.collage-card_media video,.collage-card_media img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.collage-card_caption{color:#fff;opacity:0;background:linear-gradient(#0000,#000000b3);padding:1.25rem;transition:opacity .3s,transform .3s;position:absolute;inset:auto 0 0;transform:translateY(.5rem)}@media (hover:none){.collage-card_caption{opacity:1;transform:none}}.collage-card_caption h2{font-size:1.25rem;font-weight:700}.collage-card_caption p{opacity:.8;font-size:.875rem}.rich-text>*+*{margin-top:1.25em}.rich-text h2,.rich-text h3,.rich-text h4{letter-spacing:-.02em;margin-top:2em;font-weight:800;line-height:1.2}.rich-text h2:first-child,.rich-text h3:first-child,.rich-text h4:first-child{margin-top:0}.rich-text h2+*,.rich-text h3+*,.rich-text h4+*{margin-top:.6em}.rich-text h2{font-size:1.75em}.rich-text h3{font-size:1.4em}.rich-text h4{font-size:1.15em}.rich-text a{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 30%, transparent);text-decoration-color:color-mix(in srgb, currentColor 30%, transparent);text-underline-offset:3px;font-weight:500}.rich-text a:hover{text-decoration-color:currentColor}.rich-text strong{font-weight:600}.rich-text ul,.rich-text ol{padding-left:1.25em}.rich-text ul{list-style:outside}.rich-text ol{list-style:decimal}.rich-text li+li{margin-top:.5em}.rich-text blockquote{border-left:3px solid color-mix(in srgb, currentColor 25%, transparent);padding-left:1em;font-style:italic}.rich-text img{border-radius:1rem}
