:root{--blue:#2600df;--margin:1.8vw;--sidebar:30vw;--photo-height:87.4dvh;--gap:1.3vw;font-family:Arial,Helvetica,sans-serif;color:#080808;background:#fff;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,.gallery-track:focus-visible{outline:2px solid var(--blue);outline-offset:5px}button:disabled{opacity:.25;cursor:default}[hidden]{display:none!important}header{position:fixed;inset:0 0 auto;height:9.8dvh;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;padding:3.6dvh var(--margin) 0;background:#fff}.brand{width:13.2vw;max-width:205px;min-width:135px}.brand img{display:block;width:100%;height:auto}.contact{font-size:12px;line-height:1.4;padding:4px 0}.contact:hover{font-style:italic}.project-list{position:fixed;left:1.35vw;top:23.2dvh;width:28.5vw;z-index:2;display:flex;align-items:flex-start;flex-direction:column}.project{font-size:min(2.86vw,5.25dvh);font-weight:400;letter-spacing:-.045em;line-height:1.04;white-space:nowrap;text-align:left}.project.active{font-weight:700}.project:hover{font-weight:700}.gallery{position:fixed;left:var(--sidebar);right:0;top:9.8dvh;height:var(--photo-height)}.gallery-track{height:100%;display:flex;align-items:center;gap:var(--gap);overflow:hidden;scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:smooth;padding-right:2vw}.gallery-track::-webkit-scrollbar{display:none}.gallery.open .gallery-track{overflow-x:auto;cursor:grab;touch-action:pan-x;scroll-snap-type:x proximity}.gallery.open .gallery-track.dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}.photo{margin:0;position:relative;flex:0 0 auto;height:78%;scroll-snap-align:start;display:flex;align-items:center}.photo:first-child{height:100%}.photo img{display:block;height:100%;width:auto;max-width:none;user-select:none;-webkit-user-drag:none}.photo figcaption{position:absolute;top:calc(100% + 1.35dvh);left:0;font-size:clamp(11px,1.43vw,19px);line-height:1.4;white-space:nowrap;letter-spacing:-.035em}.gallery[data-project="charo"]{left:31.1vw}.gallery[data-project="pablo-lacoste"]{left:31.7vw;top:11.5dvh;height:84.7dvh}.gallery[data-project="pablo-lacoste"] .photo:nth-child(2){height:87%}.gallery[data-project="lofficiel"]{height:85.4dvh;top:11.2dvh}.gallery[data-project="la-rando"] .photo{height:76%;}.edge-blur{position:absolute;right:0;top:0;width:58px;height:100%;pointer-events:none;opacity:0;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);mask-image:linear-gradient(to right,transparent,#000);background:linear-gradient(to right,transparent,#ffffff35);transition:opacity .25s}.gallery.open.has-more .edge-blur{opacity:1}.gallery-tools{position:fixed;bottom:0;right:var(--margin);display:flex;gap:16px;align-items:center;font-size:11px;background:#ffffffeb;padding:0 7px;z-index:3}.gallery-tools button{min-width:24px;min-height:24px}.gallery-tools #close-gallery{margin-right:12px}.instagram{position:fixed;left:var(--margin);bottom:2.7dvh;display:flex;align-items:center;justify-content:center;width:24px;height:24px;z-index:4}.instagram:hover{color:var(--blue)}.placeholder{height:100%;width:34vw;display:flex;align-items:center;justify-content:center;background:#f6f5f3;flex-direction:column;gap:10px;color:#777}.placeholder span{font-size:12px}.placeholder strong{font-size:20px;font-weight:400;color:#444}.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}
.intro{position:fixed;inset:0;background:#fff;z-index:10;overflow:hidden}.intro-top-logo{position:absolute;top:3.5%;left:43.5%;width:13%;}.intro-title{position:absolute;z-index:6;top:41%;left:31.5%;width:40%;}.intro-title img{width:100%;display:block}.intro-title p{font-size:clamp(7px,.95vw,15px);color:white;text-align:right;margin:3px 0 0;letter-spacing:-.02em}.skip{position:absolute;right:20px;bottom:16px;color:#555;z-index:8;font-size:11px}.flash{position:absolute;object-fit:cover;opacity:0}.flash-1{left:19%;top:13%;width:62%;height:77%}.flash-2{left:10%;top:10%;width:62%;height:73%}.flash-3{left:8.5%;top:31%;width:52%;height:64%}.flash-4{left:58%;top:12.5%;width:29.5%;height:80%}.intro.playing .flash{animation:memory-flash 500ms cubic-bezier(.16,1,.3,1) both;will-change:transform,opacity,filter}
.intro.playing .flash-1{animation-delay:0ms}
.intro.playing .flash-2{animation-delay:300ms}
.intro.playing .flash-3{animation-delay:600ms}
.intro.playing .flash-4{animation-delay:900ms}
.intro.playing .intro-title p,.intro.playing .intro-top-logo{animation:vanish 1.5s both}
.intro.playing{animation:intro-out 1.5s both}
@keyframes memory-flash{
  0%{opacity:0;filter:blur(9px);transform:translate3d(-18px,8px,0) scale(.97)}
  14%{opacity:1;filter:blur(0);transform:translate3d(0,0,0) scale(1)}
  58%{opacity:1;filter:blur(0);transform:translate3d(0,0,0) scale(1)}
  100%{opacity:0;filter:blur(5px);transform:translate3d(20px,-7px,0) scale(1.015)}
}
@keyframes vanish{0%,83%{opacity:1}94%,100%{opacity:0}}
@keyframes intro-out{0%,93%{opacity:1}100%{opacity:0}}
@media(min-aspect-ratio:2/1){.project-list{top:20dvh}.project{font-size:5.7dvh}.gallery{left:30vw}}
@media(max-width:700px){:root{--margin:18px;--gap:12px}header{height:75px;padding-top:22px}.brand{width:145px;min-width:0}.contact{font-size:12px}.project-list{position:relative;left:auto;top:auto;width:auto;margin:100px 18px 24px;gap:0}.project{font-size:29px;line-height:1.05;min-height:31px;letter-spacing:-.04em}.gallery,.gallery[data-project="charo"],.gallery[data-project="pablo-lacoste"],.gallery[data-project="lofficiel"]{position:relative;left:auto;right:auto;top:auto;height:57dvh;min-height:330px;margin:0 0 80px 18px}.gallery-track{padding-right:18px;padding-bottom:40px;align-items:center}.photo:first-child{height:100%;max-width:83vw}.photo:first-child img{max-width:83vw;object-fit:contain;object-position:left center}.photo{height:82%}.photo figcaption{font-size:12px;white-space:normal;width:100%;top:calc(100% + 8px)}.gallery[data-project="la-rando"] .photo{height:85%}.gallery-tools{position:relative;bottom:auto;right:auto;justify-content:flex-end;margin:5px 18px 0 0;padding:0;background:none;font-size:12px}.instagram{position:fixed;bottom:17px;left:18px;background:white;box-shadow:0 0 0 8px white}.edge-blur{height:calc(100% - 40px);width:40px}.placeholder{width:75vw}.intro-top-logo{width:38%;left:31%;top:23px}.intro-title{left:8%;width:84%;top:45%}.intro-title p{font-size:8px}.flash-1{width:86%;left:7%;height:52%;top:24%}.flash-2{width:90%;left:3%;height:49%;top:20%}.flash-3{width:89%;left:5%;height:43%;top:43%}.flash-4{width:54%;left:42%;height:56%;top:28%}.skip{bottom:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.intro-title p{color:#111}}
