:root{color-scheme:light;--paper:#fff;--ink:#0f2219;--muted:#56665e;--line:#e2e8e4;--brg:#004225;--g1:#00291a;--g2:#004225;--g3:#0f5e4b;--g4:#2f6b3a;--g5:#1b4f5c;--sheen-a:#c8f0d6f2;--sheen-b:#96d4ae80;--smoke-sheen:#6db88c;--font:"Chillax", "Chillax Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-sm:.88rem;--fs-base:clamp(1.02rem, .95rem + .3vw, 1.18rem);--lh-snug:1.15;--pad:clamp(1.25rem, 4vw, 4rem);--header-h:4.5rem;--ease:cubic-bezier(.2, .7, .2, 1);--radius-pill:999px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper:#0a1611;--ink:#e7f0ea;--muted:#9fb3a8;--line:#1d2d25;--brg:#7cc49a;--g1:#2e7a55;--g2:#4fa27a;--g3:#5db59b;--g4:#8db867;--g5:#5a9fae;--sheen-a:#e6faecf2;--sheen-b:#beecce80;--smoke-sheen:#cdefd9}}:root[data-theme=dark]{color-scheme:dark;--paper:#0a1611;--ink:#e7f0ea;--muted:#9fb3a8;--line:#1d2d25;--brg:#7cc49a;--g1:#2e7a55;--g2:#4fa27a;--g3:#5db59b;--g4:#8db867;--g5:#5a9fae;--sheen-a:#e6faecf2;--sheen-b:#beecce80;--smoke-sheen:#cdefd9}@media (width<=800px){:root{--pad:1.25rem;--header-h:4rem}}@font-face{font-family:Chillax;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/Chillax-Variable.woff2)format("woff2-variations"),url(/fonts/Chillax-Variable.woff2)format("woff2")}@font-face{font-family:Chillax Fallback;font-weight:400 500;src:local(Arial),local(ArialMT),local(Helvetica),local(Liberation Sans);size-adjust:107.8%;ascent-override:90.9%;descent-override:30.6%;line-gap-override:8.35%}@font-face{font-family:Chillax Fallback;font-weight:600 700;src:local(Arial Bold),local(Arial-BoldMT),local(Helvetica Bold),local(Liberation Sans Bold);size-adjust:103.6%;ascent-override:94.5%;descent-override:31.8%;line-gap-override:8.7%}@font-face{font-family:Chillax Fallback Titre;font-weight:600 700;src:local(Arial Bold),local(Arial-BoldMT),local(Helvetica Bold),local(Liberation Sans Bold);size-adjust:101.78%;ascent-override:96.3%;descent-override:32.4%;line-gap-override:8.84%}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + env(safe-area-inset-top,0px));scroll-behavior:smooth}body{background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--font);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;font-weight:400;line-height:normal;transition:background-color .6s,color .6s;overflow-x:clip}img,picture,svg,canvas{max-width:100%;display:block}img{height:auto}h1,h2,h3,h4{font-weight:600;line-height:var(--lh-snug);letter-spacing:-.02em}p,li,dd{text-wrap:pretty}strong,b{font-weight:600}a{color:inherit;text-underline-offset:.2em}:focus-visible{outline:2px solid var(--brg);outline-offset:4px;border-radius:2px}::selection{background:var(--brg);color:var(--paper)}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:calc(env(safe-area-inset-top,0px) + .75rem);left:var(--pad);z-index:100;background:var(--brg);color:var(--paper);font-size:var(--fs-sm);border-radius:4px;padding:.6rem 1rem;font-weight:500;text-decoration:none;position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}main:focus{outline:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.top{z-index:20;padding:calc(env(safe-area-inset-top,0px) + 1rem) calc(var(--pad) + 44px) 1rem var(--pad);background:color-mix(in srgb, var(--paper) 82%, transparent);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:1rem;transition:opacity .5s,transform .5s;display:flex;position:fixed;inset:0 0 auto}.js .top[data-reveal]:not(.show,:focus-within){opacity:0;transform:translateY(-100%)}.top .mark{letter-spacing:-.01em;color:var(--brg);font-size:1.25rem;font-weight:700;text-decoration:none}.top nav ul{flex-wrap:wrap;justify-content:flex-end;gap:0 clamp(.9rem,2.5vw,2.25rem);margin:0;padding:0;list-style:none;display:flex}.top nav a{color:var(--muted);padding:.5rem 0;font-size:.95rem;text-decoration:none;transition:color .2s;display:block}.top nav a:hover,.top nav a.on,.top nav a[aria-current]{color:var(--ink)}.theme-btn{top:calc(env(safe-area-inset-top,0px) + .55rem);right:calc(var(--pad) - .7rem);z-index:25;width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:color .3s;display:grid;position:fixed}.theme-btn:hover{color:var(--brg)}.theme-btn:focus-visible{outline-offset:0;border-radius:50%}html:not(.js) .theme-btn{display:none}.theme-btn[data-delay]{opacity:0;animation:1s 2.9s forwards btn-in}.theme-btn[data-delay]:focus-visible{opacity:1}.theme-btn svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.theme-btn .sun,.theme-btn[aria-pressed=true] .moon{display:none}.theme-btn[aria-pressed=true] .sun{display:block}@keyframes btn-in{to{opacity:1;transform:none}}.site-foot{margin:clamp(4rem, 12vh, 8rem) var(--pad) 0;padding:1.5rem 0 calc(2rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.site-foot ul{flex-wrap:wrap;gap:.25rem 1.5rem;margin:0;padding:0;list-style:none;display:flex}.site-foot a{text-decoration:none}.site-foot a:hover{color:var(--ink)}@media (width<=800px){.top nav a{font-size:.85rem}.top nav .opt{display:none}.theme-btn{right:.6rem}.site-foot{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}.vt-bg{view-transition-name:var(--vt,none)}.top{view-transition-name:en-tete}.theme-btn{view-transition-name:theme}::view-transition-group(*){animation-duration:.75s;animation-timing-function:cubic-bezier(.7,0,.2,1)}::view-transition-old(root){animation-duration:.45s;animation-delay:.15s;animation-fill-mode:both}::view-transition-new(root){animation-duration:.4s;animation-delay:.55s;animation-fill-mode:both}::view-transition-old(*),::view-transition-new(*){height:100%}.case-hero-in{view-transition-name:hero-texte}::view-transition-new(hero-texte){animation-duration:.4s;animation-delay:.55s;animation-fill-mode:both}::view-transition-group(hero-texte){animation-duration:0s}.facts{padding:clamp(2rem, 5vh, 3rem) var(--pad);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 2rem;margin:0;display:grid}.facts[data-n="4"]{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,2fr) minmax(0,.6fr)}.facts dt{color:var(--muted);margin-bottom:.4rem;font-size:.85rem}.facts dd{margin:0;font-size:clamp(1rem,1.3vw,1.15rem);font-weight:500;line-height:1.4}.block{padding:clamp(4rem, 11vh, 8rem) var(--pad);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,2.3fr);gap:1.5rem clamp(2rem,6vw,6rem);display:grid}.block>h2{top:calc(6rem + env(safe-area-inset-top,0px));letter-spacing:-.01em;align-self:start;margin:0;font-size:clamp(1.3rem,2vw,1.7rem);font-weight:600;position:sticky}.block .lead{letter-spacing:-.015em;max-width:40ch;margin:0;font-size:clamp(1.4rem,2.6vw,2.3rem);font-weight:500;line-height:1.25}.block .lead+.lead{margin-top:1.2em}.page-head{padding:calc(clamp(7rem, 18vh, 11rem) + env(safe-area-inset-top,0px)) var(--pad) clamp(3rem, 8vh, 5rem);border-bottom:1px solid var(--line)}.page-head h1{letter-spacing:-.035em;max-width:16ch;margin:0;font-size:clamp(2.6rem,7vw,7rem);font-weight:700;line-height:.95}.page-head .lede{max-width:44ch;color:var(--muted);margin:clamp(1.5rem,4vh,2.5rem) 0 0;font-size:clamp(1.1rem,1.7vw,1.45rem);line-height:1.45}.prose{max-width:62ch;font-size:clamp(1.02rem,1.3vw,1.18rem);line-height:1.6}.prose>*+*{margin-top:1.1em}.prose h3{letter-spacing:-.01em;margin-top:2.2em;font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:600}.prose a{text-decoration-color:var(--line);text-decoration-thickness:1px}.prose a:hover{color:var(--brg);text-decoration-color:var(--brg)}.prose ul{padding:0;list-style:none}.prose ul>li{padding-left:1.4rem;position:relative}.prose ul>li+li{margin-top:.7em}.prose ul>li:before{content:"";background:var(--brg);width:.7rem;height:2px;position:absolute;top:.72em;left:0}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}.rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.rows>li{border-bottom:1px solid var(--line);grid-template-columns:minmax(7rem,.6fr) minmax(0,2fr);gap:.25rem 2rem;padding:1rem 0;display:grid}.rows .when{color:var(--muted);font-size:.9rem}.rows b{font-weight:600}.rows a{grid-column:1/-1;grid-template-columns:subgrid;text-decoration:none;display:grid}.rows a:hover b,.rows a:focus-visible b{color:var(--brg)}.headers{border:1px solid var(--line);background:color-mix(in srgb, var(--brg) 4%, var(--paper));overflow-wrap:anywhere;border-radius:12px;gap:.6rem;margin:0;padding:1.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.5;list-style:none;display:grid}.headers b{color:var(--brg);font-weight:600}.pills{flex-wrap:wrap;gap:.75rem;margin:clamp(2rem,5vh,3rem) 0 0;padding:0;list-style:none;display:flex}.pills a{border:1px solid var(--line);border-radius:var(--radius-pill);min-height:44px;color:var(--ink);align-items:center;gap:.6rem;padding:.7rem 1.2rem;font-weight:500;text-decoration:none;transition:border-color .3s,color .3s;display:inline-flex}.pills a:hover{border-color:var(--brg);color:var(--brg)}@media (width<=800px){.facts,.facts[data-n="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.block{grid-template-columns:1fr}.block>h2{position:static}.rows>li{grid-template-columns:1fr}}.prose>:first-child{margin-top:0}.contact-page{padding:clamp(3rem, 9vh, 6rem) var(--pad) 0}.contact-page .mail{margin:0}.contact-note{color:var(--muted);margin-top:clamp(2rem,5vh,3rem)}.page-404{border-bottom:0}.code-404{letter-spacing:-.04em;margin:0 0 .1em;font-size:clamp(6rem,24vw,22rem);font-weight:700;line-height:.82}body.case{--paper:#fff;--ink:#17171a;--muted:#5f5f67;--line:#e7e7ea;--brg:var(--c-text);--sheen-a:transparent;--sheen-b:transparent;background:var(--paper);color:var(--ink)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body.case{--paper:color-mix(in srgb, var(--p2) 12%, #0d0d0f);--ink:#f1f1f3;--muted:#a6a6ae;--line:#2a2a30;--brg:color-mix(in srgb, var(--p1) 62%, #fff)}}:root[data-theme=dark] body.case{--paper:color-mix(in srgb, var(--p2) 12%, #0d0d0f);--ink:#f1f1f3;--muted:#a6a6ae;--line:#2a2a30;--brg:color-mix(in srgb, var(--p1) 62%, #fff)}.case-hero{min-height:84svh;padding:calc(7rem + env(safe-area-inset-top,0px)) var(--pad) clamp(2.5rem, 7vh, 4.5rem);color:var(--on);isolation:isolate;flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.case-hero-bg{z-index:-1;background:linear-gradient(100deg, var(--p1), var(--p2));position:absolute;inset:0}.case-hero-in{will-change:transform}.case-hero .kind{margin:0;font-size:clamp(1rem,1.3vw,1.15rem);font-weight:500}.case-hero h1{letter-spacing:-.04em;color:var(--on-lg);margin:.25em 0 .3em;font-size:clamp(3.2rem,11vw,12rem);font-weight:700;line-height:.88}.case-hero .sum{max-width:44ch;margin:0;font-size:clamp(1.1rem,1.7vw,1.45rem);line-height:1.45}.case-hero .live{border-radius:var(--radius-pill);min-height:44px;color:inherit;border:1px solid;align-items:center;gap:.5rem;margin-top:2rem;padding:.7rem 1.1rem;font-weight:500;text-decoration:none;transition:background-color .3s,color .3s;display:inline-flex}.case-hero .live:hover{background:var(--on);color:var(--p2)}.case-hero .live:focus-visible{outline-color:currentColor}.case-hero .live svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.work{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,3.5rem) clamp(1.5rem,4vw,4rem);margin:0;padding:0;list-style:none;display:grid}.work li{border-top:2px solid var(--p1);padding-top:1.1rem}.work h3{letter-spacing:-.01em;margin:0 0 .6rem;font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:600}.work p{max-width:44ch;color:var(--muted);margin:0;line-height:1.6}.related{color:var(--muted);margin:1.5rem 0 0;line-height:1.6}.related a{color:var(--ink);text-decoration-color:var(--line);text-underline-offset:.2em}.related a:hover{text-decoration-color:var(--brg)}.shots{padding:clamp(4rem, 11vh, 8rem) var(--pad);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,3fr) minmax(0,1fr);align-items:end;gap:clamp(1rem,3vw,2.5rem);display:grid}.frame{border:1px solid var(--line);background:var(--paper);border-radius:12px;overflow:hidden}.frame .bar{border-bottom:1px solid var(--line);height:36px;color:var(--muted);justify-content:center;align-items:center;font-size:.8rem;display:flex}.frame .screen{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%;height:auto;display:block}.phone{border:1px solid var(--line);background:var(--paper);border-radius:30px;padding:10px}.phone .screen{aspect-ratio:9/19;object-fit:cover;object-position:top;border-radius:22px;width:100%;height:auto;display:block}.frame picture,.phone picture{display:block}.secure{background:color-mix(in srgb, var(--brg) 7%, var(--paper))}.secure>h2{color:var(--brg);align-items:center;gap:.6rem;display:flex}.secure>h2 svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}.next{padding:clamp(3rem, 9vh, 6rem) var(--pad);border-bottom:1px solid var(--line);isolation:isolate;text-decoration:none;display:block;position:relative;overflow:hidden}.next .bg{z-index:-1;background:linear-gradient(100deg, var(--p1), var(--p2));transform-origin:0;transition:transform .7s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.next span{color:var(--muted);margin-bottom:.6rem;font-size:.95rem;transition:color .35s;display:block}.next b{letter-spacing:-.035em;color:var(--ink);transition:transform .6s var(--ease), color .35s;font-size:clamp(2.6rem,8vw,8.5rem);font-weight:700;line-height:.92;display:block}.next:hover .bg,.next:focus-visible .bg{transform:scaleX(1)}.next:hover b,.next:focus-visible b{color:var(--on-lg);transform:translate(clamp(.25rem,1vw,1rem))}.next:hover span,.next:focus-visible span{color:var(--on)}.next:focus-visible{outline-offset:-4px}.case-foot{padding:2rem var(--pad) calc(2rem + env(safe-area-inset-bottom,0px));color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;font-size:.9rem;display:flex}.case-foot a{color:var(--ink);padding:.6rem 0;text-decoration:none}.case-foot a:hover{color:var(--brg)}.case-foot ul{flex-wrap:wrap;gap:0 1.5rem;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.case-foot ul a{color:var(--muted)}@media (width<=800px){.facts,.facts[data-n="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.block,.work,.shots{grid-template-columns:1fr}.block>h2{position:static}.phone{justify-self:center;width:100%;max-width:240px}.case-foot ul{margin:0}}.iri{background:linear-gradient(112deg, var(--g1) 0%, var(--g2) 18%, var(--g3) 32%, var(--g2) 44%, var(--g4) 56%, var(--g5) 68%, var(--g2) 82%, var(--g1) 100%);color:color-mix(in srgb, var(--g2) 1%, transparent);background-position:0%;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:14s ease-in-out infinite alternate drift;display:inline-block;position:relative}.iri:after{content:attr(data-text);pointer-events:none;background:radial-gradient(ellipse 30% 70% at var(--mx,50%) var(--my,50%), var(--sheen-a) 0%, var(--sheen-b) 38%, transparent 72%);color:#0000;opacity:0;-webkit-background-clip:text;background-clip:text;transition:opacity .6s;position:absolute;inset:0}.iri:hover:after,a:focus-visible .iri:after{opacity:1}@keyframes drift{0%{background-position:0%}to{background-position:100%}}.fit{white-space:nowrap;letter-spacing:-.025em;text-align:center;width:100%;margin:0;font-weight:700;line-height:.82;display:block}.hero-inner,.mail{container-type:inline-size}.fit-hero{font-family:Chillax,Chillax Fallback Titre,system-ui,sans-serif;font-size:37.7609cqi}.fit-mail{font-size:10.5739cqi}.hero{height:100svh;min-height:520px;padding:0 var(--pad);place-items:center;display:grid;position:relative;overflow:hidden}.hero-inner{width:100%}.hero .iri{display:block}.hero h1{animation:2.2s cubic-bezier(.2,.7,.2,1) .3s both hero-in;position:relative}@keyframes hero-in{0%{filter:blur(14px)}}.cue{left:50%;bottom:calc(2rem + env(safe-area-inset-bottom,0px));width:56px;height:72px;color:var(--brg);place-items:center;animation:1s 2.9s both cue-in;display:grid;position:absolute;translate:-50%}.cue svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:48px;animation:2.4s ease-in-out 3.6s infinite nudge}.cue:focus-visible{animation:none}@keyframes cue-in{0%{opacity:0;transform:translateY(12px)}}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.statement .stage{padding:8rem var(--pad);place-items:center;display:grid}.statement-text{letter-spacing:-.02em;max-width:22ch;margin:0;font-size:clamp(2rem,5.6vw,5.4rem);font-weight:500;line-height:1.04}.values .stage{padding:6rem var(--pad)}.v-art,.v-index{display:none}.v-copy{gap:3rem;display:grid}.v-copy article{flex-direction:column;justify-content:center;display:flex}.v-copy h3{letter-spacing:-.025em;color:var(--brg);margin:0 0 1.25rem;font-size:clamp(2.2rem,5vw,4.6rem);font-weight:600;line-height:.98}.v-copy p{max-width:38ch;color:var(--muted);margin:0;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.55}.v-tags{flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.v-tags li{border:1px solid var(--brg);border-radius:var(--radius-pill);color:var(--brg);padding:.4rem .9rem;font-size:.95rem;font-weight:500}.v-tags li svg{vertical-align:-2px;fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px;margin-right:.4rem;display:inline-block}.services .stage{padding:clamp(5rem, 10vh, 7rem) var(--pad) clamp(1.5rem, 4vh, 3rem);grid-template-rows:1fr auto;display:grid}.say-lead{letter-spacing:-.02em;color:var(--muted);margin:0 0 .3em;font-size:clamp(1.6rem,3.6vw,3.4rem);font-weight:500}.roll{letter-spacing:-.04em;margin:0;padding:0;font-size:clamp(2.6rem,7.4vw,7.8rem);font-weight:700;line-height:1;list-style:none;position:relative}.roll li{margin-bottom:.3em}.roll .txt{background:linear-gradient(112deg, var(--g1), var(--g3) 30%, var(--g4) 55%, var(--g5) 75%, var(--g2));color:color-mix(in srgb, var(--g2) 1%, transparent);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;padding-bottom:.08em;animation:14s ease-in-out infinite alternate drift}.roll .cta{border:1px solid var(--line);border-radius:var(--radius-pill);letter-spacing:0;min-height:44px;color:var(--ink);align-items:center;gap:.6rem;margin-top:.5em;padding:.7rem 1.2rem;font-size:clamp(1rem,1.4vw,1.25rem);font-weight:500;text-decoration:none;transition:border-color .3s,color .3s;display:inline-flex}.roll .cta:hover{border-color:var(--brg);color:var(--brg)}.roll .cta svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.say-bar{background:var(--line);height:2px;display:none;position:relative}.say-bar i{width:calc(var(--p,0) * 100%);background:var(--brg);position:absolute;inset:0 auto 0 0}.projects{padding:clamp(6rem, 16vh, 12rem) var(--pad) clamp(4rem, 10vh, 8rem)}.projects-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:clamp(2rem,6vh,4rem);display:flex}.projects-head h2{letter-spacing:-.035em;margin:0;font-size:clamp(3.2rem,9.5vw,10rem);font-weight:700;line-height:.9}.projects-head p{max-width:30ch;color:var(--muted);margin:0;line-height:1.5}.plist{--bp:clamp(.75rem, 2vw, 1.75rem);border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.plist a{margin:0 calc(var(--bp) * -1);padding:clamp(1.1rem, 2.6vh, 1.8rem) var(--bp);border-bottom:1px solid var(--line);isolation:isolate;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:1rem 2rem;text-decoration:none;display:grid;position:relative;overflow:hidden}.plist .bg{z-index:-1;background:linear-gradient(100deg, var(--p1), var(--p2));transform-origin:0;transition:transform .7s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.plist a:focus-visible{outline-offset:-2px}.plist .name{letter-spacing:-.03em;transition:transform .6s var(--ease), color .35s;font-size:clamp(2rem,6.2vw,6rem);font-weight:600;line-height:1}.plist .kind{text-align:right;color:var(--muted);font-size:clamp(.95rem,1.2vw,1.1rem);transition:color .35s}.plist .kind small{margin-top:.2rem;font-size:.85em;display:block}.plist a:hover .bg,.plist a:focus-visible .bg,.plist a.on .bg{transform:scaleX(1)}.plist a:hover .name,.plist a:focus-visible .name,.plist a.on .name{color:var(--on-lg);transform:translate(clamp(.25rem,1vw,1rem))}.plist a:hover .kind,.plist a:focus-visible .kind,.plist a.on .kind{color:var(--on)}.contact{padding:clamp(5rem, 14vh, 10rem) var(--pad) 0;border-top:1px solid var(--line)}.contact .lede{letter-spacing:-.015em;max-width:24ch;margin:0 0 clamp(1.5rem,4vh,3rem);font-size:clamp(1.4rem,3vw,2.6rem);font-weight:500;line-height:1.15}.mail{margin:0 0 clamp(3rem,10vh,7rem);text-decoration:none;display:block}.mail .fit{text-align:left;letter-spacing:-.035em;font-weight:600;line-height:1}.mail:focus-visible{outline-offset:8px}.about{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.about h2{letter-spacing:-.02em;margin:0;font-size:clamp(1.8rem,3.4vw,3rem);font-weight:600;line-height:1.05}.about h2 span{letter-spacing:0;color:var(--muted);margin-top:.6rem;font-size:.5em;font-weight:400;display:block}.about p{max-width:58ch;margin:0 0 1.1rem;font-size:clamp(1.02rem,1.3vw,1.18rem);line-height:1.6}.links{flex-wrap:wrap;gap:1.75rem;margin-top:1.75rem;display:flex}.links a{border-bottom:1px solid var(--line);padding-bottom:.2rem;text-decoration:none;transition:border-color .2s,color .2s}.links a:hover{border-color:var(--brg);color:var(--brg)}.motion .pin{position:relative}.motion .stage{top:env(safe-area-inset-top,0px);height:100svh;position:sticky;overflow:hidden}.motion .statement{height:260svh}.motion .statement .stage{padding:0 var(--pad)}.live .statement .w{opacity:.5;transition:opacity .25s linear}@media (prefers-color-scheme:dark){:root:not([data-theme=light]).live .statement .w:not(.lit){opacity:.4}}:root[data-theme=dark].live .statement .w:not(.lit){opacity:.4}.live .statement .w.lit{opacity:1;color:var(--brg);transition:opacity .25s linear,color .25s linear}.motion .values{height:520svh}.motion .values .stage{padding:clamp(5rem, 10vh, 7rem) var(--pad) clamp(1.5rem, 4vh, 3rem);grid-template-rows:1fr auto;display:grid}.motion .v-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,5vw,6rem);min-height:0;display:grid}.motion .v-art{aspect-ratio:1;justify-self:center;width:100%;max-height:72svh;display:block;position:relative}.motion .v-copy{min-height:22rem;display:block;position:relative}.motion .v-copy article{position:absolute;inset:0}.live .v-copy article{opacity:0;transition:opacity .5s, transform .6s var(--ease);pointer-events:none;transform:translateY(24px)}.live .v-copy article.on{opacity:1;pointer-events:auto;transform:none}.motion .v-index{grid-template-columns:repeat(4,1fr);gap:1rem;margin:0;padding:0;list-style:none;display:grid}.v-index li{color:var(--muted);padding-top:.9rem;font-size:.9rem;transition:color .3s;position:relative}.v-index li:before,.v-index li:after{content:"";height:2px;position:absolute;top:0;left:0}.v-index li:before{background:var(--line);right:0}.v-index li:after{width:calc(var(--p,0) * 100%);background:var(--brg)}.v-index li.on{color:var(--ink)}.motion .services{height:485svh}.motion .say{align-self:center}.motion .roll{height:2.2em}.motion .roll li{margin:0;position:absolute;inset:0 0 auto}.live .roll li{opacity:0;filter:blur(6px);pointer-events:none;transition:opacity .55s ease, transform .75s var(--ease), filter .55s ease;transform:translateY(55%)}.live .roll li.past{transform:translateY(-55%)}.live .roll li.on{opacity:1;filter:none;pointer-events:auto;transform:none}.motion .say-bar{display:block}@media (width<=800px){.statement-text{font-size:clamp(1.9rem,8.6vw,3rem)}.v-copy h3{margin-bottom:.8rem;font-size:clamp(1.9rem,8.5vw,2.6rem)}.v-copy p{font-size:1rem;line-height:1.5}.v-tags{gap:.4rem;margin-top:1rem}.v-tags li{padding:.3rem .65rem;font-size:.8rem}.projects{padding:5rem var(--pad) 3rem}.plist a{grid-template-columns:1fr;padding-top:1rem;padding-bottom:1rem}.plist .kind{text-align:left}.contact{padding:5rem var(--pad) 0}.about{grid-template-columns:1fr}.motion .values .stage{padding:calc(4.25rem + env(safe-area-inset-top,0px)) var(--pad) 1.25rem}.motion .v-grid{grid-template-rows:auto 1fr;grid-template-columns:1fr;align-items:start;gap:.5rem}.motion .v-art{max-width:min(100%,40svh);max-height:40svh}.motion .v-copy{height:100%;min-height:0}.motion .v-copy article{justify-content:flex-start;padding-top:.5rem}.motion .v-index{gap:.5rem}.v-index li{font-size:.75rem}.services .stage{padding:calc(4.5rem + env(safe-area-inset-top,0px)) var(--pad) 1.25rem}}@media (width<=800px) and (height<=720px){.motion .v-art{max-width:min(100%,32svh);max-height:32svh}.motion .v-copy h3{margin-bottom:.5rem;font-size:1.85rem}.motion .v-copy p{font-size:.92rem;line-height:1.45}.motion .v-tags{margin-top:.7rem}.motion .v-tags li{padding:.22rem .55rem;font-size:.72rem}}.v-art>.art{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .5s;position:absolute;inset:0}.v-art>.art.on{opacity:1;pointer-events:auto}.opt-scene canvas{cursor:grab;width:124%;height:124%;position:absolute;top:-12%;left:-12%;-webkit-mask-image:radial-gradient(closest-side,#000 82%,#0000 100%);mask-image:radial-gradient(closest-side,#000 82%,#0000 100%)}.opt-scene canvas.grabbing{cursor:grabbing}.castle-scene canvas{cursor:crosshair}.ia-scene canvas{cursor:pointer}.opt-hint,.slate-hint{color:var(--muted);text-align:center;pointer-events:none;margin:0;font-size:clamp(.72rem,.9vw,.82rem);line-height:1.4;transition:opacity .4s}.opt-hint{position:absolute;inset:auto 0 2%}.opt-hint.gone,.slate-hint.gone{opacity:0}.v-art>.slate-scene{perspective:1100px;place-items:center;display:grid}.slate{--d:44px;--rad:22px;aspect-ratio:1.3;width:88%;transform-style:preserve-3d;cursor:grab;position:relative;transform:translate(-140%)}.slate.grabbing{cursor:grabbing}.sf{border:1.3px solid var(--brg);pointer-events:none;position:absolute}.sf-front{border-radius:var(--rad);background:color-mix(in srgb, var(--paper) 70%, transparent);transform:translateZ(calc(var(--d) / 2));pointer-events:auto;inset:0}.sf-back{border-radius:var(--rad);opacity:.45;transform:translateZ(calc(var(--d) / -2));inset:0}.sf-top,.sf-bottom{left:var(--rad);right:var(--rad);height:var(--d);opacity:.6}.sf-left,.sf-right{top:var(--rad);bottom:var(--rad);width:var(--d);opacity:.6}.sf-top{transform-origin:top;transform:translateZ(calc(var(--d) / -2)) rotateX(90deg);top:0}.sf-bottom{transform-origin:bottom;transform:translateZ(calc(var(--d) / -2)) rotateX(-90deg);bottom:0}.sf-left{transform-origin:0;transform:translateZ(calc(var(--d) / -2)) rotateY(-90deg);left:0}.sf-right{transform-origin:100%;transform:translateZ(calc(var(--d) / -2)) rotateY(90deg);right:0}.slate-brand{text-align:center;color:var(--brg);pointer-events:none;font-size:clamp(.7rem,1.1vw,.95rem);font-weight:700;position:absolute;inset:4% 0 auto}.slate-screen{border:1.3px solid var(--brg);background:color-mix(in srgb, var(--brg) 5%, var(--paper));cursor:crosshair;border-radius:10px;position:absolute;inset:12.5% 8% 25%;overflow:hidden}.slate-screen canvas{width:100%;height:100%;position:absolute;inset:0}.slate-hint{position:absolute;inset:auto 1rem .9rem}.knob{aspect-ratio:1;width:12%;transform-style:preserve-3d;pointer-events:none;position:absolute;bottom:6%}.knob.kl{left:6%}.knob.kr{right:6%}.knob i{border:1.2px solid var(--brg);border-radius:50%;position:absolute;inset:0}.knob i:first-child{transform:translateZ(calc(var(--d) / 2 + 1px));opacity:.5}.knob i:nth-child(2){transform:translateZ(calc(var(--d) / 2 + 8px));opacity:.7}.knob i:nth-child(3){transform:translateZ(calc(var(--d) / 2 + 15px));opacity:.85}.knob b{border:1.3px solid var(--brg);background:var(--paper);transform:translateZ(calc(var(--d) / 2 + 16px)) rotate(var(--r,0deg));border-radius:50%;position:absolute;inset:0}.knob b:before,.knob b:after{content:"";border-left:1.3px solid var(--brg);position:absolute;top:14%;bottom:14%;left:50%;transform:translate(-50%)}.knob b:after{transform:translate(-50%)rotate(90deg)}.scene-btn{display:none}.scenes-ready .scene-btn{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;display:inline-flex;position:absolute;overflow:hidden}.scenes-ready .scene-btn:focus-visible{clip-path:none;border:1px solid var(--brg);border-radius:var(--radius-pill);background:var(--paper);width:auto;height:auto;min-height:44px;color:var(--brg);font:inherit;cursor:pointer;align-self:flex-start;align-items:center;margin-top:1rem;padding:.5rem 1rem;font-size:.95rem;font-weight:500;position:static;overflow:visible}.v-still{display:none}html:not(.motion) .v-copy article{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,5vw,5rem);display:grid}html:not(.motion) .v-still{aspect-ratio:1;background:var(--brg);width:100%;max-width:26rem;-webkit-mask:var(--still) center / contain no-repeat;mask:var(--still) center / contain no-repeat;justify-self:center;display:block}.v-still[data-still=unique]{--still:url(/scenes/unique.webp)}.v-still[data-still=optimise]{--still:url(/scenes/optimise.webp)}.v-still[data-still=ia]{--still:url(/scenes/ia.webp)}.v-still[data-still=securite]{--still:url(/scenes/securite.webp)}@media (width<=800px){html:not(.motion) .v-copy article{grid-template-columns:1fr;gap:.5rem}html:not(.motion) .v-still{justify-self:start;max-width:14rem}.opt-hint,.slate-hint{font-size:.72rem}}@media (width<=800px) and (height<=720px){.opt-hint,.slate-hint{display:none}}.hero canvas.smoke{pointer-events:none;opacity:0;max-width:none;transition:opacity .8s;display:block;position:absolute}.hero h1.smoke{filter:none;animation:none}.hero h1.smoke canvas.smoke{opacity:1}.hero h1.smoke .iri{opacity:0;transition:opacity .8s}.hero h1.smoke .iri:after{display:none}.scenes-ready .v-art>.art.on canvas,.scenes-ready .v-art>.art.on .slate,.hero h1.smoke{touch-action:none}
