@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Light.ttf)format("truetype");font-weight:300;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-SemiBold.ttf)format("truetype");font-weight:600;font-display:swap}:root{--noir:#000;--blanc:#fff;--filet:#00000026;--marge:clamp(16px, 2.2vw, 32px);--largeur:1440px;--hauteur-entete:64px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:clamp(16px,.8vw + 9px,19px);font-weight:400;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.2em}a:hover{color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.01em;margin:0 0 .5em;font-weight:300;line-height:1.1}h1{font-size:clamp(2.5rem,6vw,6rem)}h2{font-size:clamp(1.75rem,3vw,3rem)}h3{font-size:clamp(1.2rem,1.4vw,1.6rem);font-weight:400}p{margin:0 0 1em}.container{width:100%;max-width:var(--largeur);padding-inline:var(--marge);margin-inline:auto}.section{padding-block:clamp(48px,8vw,120px)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--text);color:var(--bg);z-index:100;padding:8px 16px;position:absolute;top:0;left:-9999px}.skip-link:focus{top:8px;left:8px}.lead{color:var(--muted);max-width:46ch;font-size:clamp(1.15rem,1.4vw,1.6rem)}.etiquette{letter-spacing:.02em;color:var(--muted);margin:0 0 .6em;font-size:.8rem;font-weight:500}.button{background:var(--text);color:var(--bg);border-radius:999px;align-items:center;gap:8px;padding:14px 28px;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent);color:var(--text)}.site-header{z-index:50;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(12px);position:sticky;top:0}.header-inner{height:var(--hauteur-entete);max-width:var(--largeur);padding-inline:var(--marge);justify-content:space-between;align-items:center;gap:24px;margin-inline:auto;display:flex}.brand img{filter:invert();width:auto;height:26px}.nav-large ul{gap:clamp(16px,2vw,32px);margin:0;padding:0;font-size:.9rem;font-weight:500;list-style:none;display:flex}.nav-large a{text-decoration:none}.nav-large a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px}.nav-connexion a{border:1px solid;border-radius:999px;padding:7px 16px}.nav-connexion a:hover{background:var(--text);color:var(--bg)}.nav-mobile{display:none}.sombre{background:var(--noir);color:var(--blanc)}.sombre .site-header{backdrop-filter:none;color:var(--blanc);mix-blend-mode:normal;background:0 0;position:fixed;inset:0 0 auto}.sombre .brand img{filter:none}.sombre .nav-connexion a:hover{background:var(--blanc);color:var(--noir)}.sombre a:hover{color:var(--accent)}.hero-accueil{background:var(--noir);min-height:100svh;color:var(--blanc);padding:calc(var(--hauteur-entete) + 40px) var(--marge) clamp(48px, 10vh, 120px);align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero-bande{opacity:.95;pointer-events:none;background:url(/images/bande-iridescente.jpg) 0 0/cover no-repeat;width:min(62vw,980px);height:100%;position:absolute;top:0;right:0}.hero-texte{max-width:var(--largeur);width:100%;margin-inline:auto;position:relative}.hero-accueil h1{margin-bottom:.4em;font-size:clamp(2.6rem,6.4vw,7rem);line-height:1.05}.hero-accueil h1>span{display:block}.hero-ligne2{white-space:nowrap}.point{margin-left:.05em}.hero-intro{color:#ffffffd9;max-width:36ch;margin:0;font-size:clamp(.95rem,1vw,1.15rem)}.mots{vertical-align:baseline;display:inline-grid}.mots>span:not(.sr-only){opacity:0;animation:mot calc(var(--n) * 2.4s) linear infinite;animation-delay:calc((var(--i) - var(--n)) * 2.4s);grid-area:1/1}@keyframes mot{0%{opacity:0}4%{opacity:1}20%{opacity:1}24%{opacity:0}to{opacity:0}}.hero-reseaux{right:var(--marge);gap:14px;margin:0;padding:0;font-size:.8rem;font-weight:600;list-style:none;display:grid;position:absolute;top:50%}.hero-reseaux a{text-decoration:none}.portfolio{background:var(--noir);color:var(--blanc);padding:clamp(48px, 8vw, 110px) 0 clamp(48px, 8vw, 110px) var(--marge)}.portfolio h2{max-width:var(--largeur);margin:0 auto 1.2em;font-size:clamp(1.8rem,2.6vw,3rem)}.carrousel{scroll-snap-type:x mandatory;padding-right:var(--marge);scrollbar-width:thin;scrollbar-color:#fff6 transparent;grid-auto-columns:clamp(270px,30vw,460px);grid-auto-flow:column;gap:clamp(12px,1.4vw,20px);padding-bottom:12px;display:grid;overflow-x:auto}.carrousel>*{scroll-snap-align:start}.card{aspect-ratio:4/5;color:var(--blanc);background:#111;border-radius:6px;position:relative;overflow:hidden}.card-link{color:inherit;text-decoration:none;position:absolute;inset:0}.card img{object-fit:cover;width:100%;height:100%;transition:transform .6s;position:absolute;inset:0}.card-link:hover img{transform:scale(1.04)}.card-voile{background:linear-gradient(#00000040 0%,#0000 30% 55%,#0000008c 100%);position:absolute;inset:0}.card-tags{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:500;line-height:1.4;position:absolute;top:16px;left:16px;right:56px}.card-fleche{background:var(--blanc);clip-path:polygon(0 0,100% 0,100% 100%,82% 100%,82% 18%,0 18%);width:26px;height:26px;position:absolute;top:14px;right:14px}.card-body{position:absolute;bottom:16px;left:16px;right:16px}.card-body h3{margin:0 0 4px;font-size:clamp(1.1rem,1.4vw,1.5rem);font-weight:500}.card-body p{opacity:.9;margin:0;font-size:.8rem;line-height:1.4}.card-link:hover{color:var(--blanc)}.accueil-contenu{background:var(--bg);color:var(--text);padding-block:clamp(64px,10vw,140px)}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(12px,1.4vw,20px);display:grid}.prose{max-width:980px}.prose h2{margin-top:1.6em}.prose h3{margin-top:1.4em}.prose p,.prose li{color:var(--muted)}.prose strong{color:var(--text);font-weight:500}.prose ul{margin:0 0 1.2em;padding-left:1.1em}.prose li{margin-bottom:.3em}.prose img{border-radius:6px;width:100%;margin:clamp(32px,5vw,64px) 0}.prose a{color:var(--text)}.prose-accueil>h2:first-child{margin-top:0}.projet-couverture{min-height:min(92svh,1000px);color:var(--blanc);margin-top:calc(-1 * var(--hauteur-entete));background:#222;align-items:flex-end;display:flex;position:relative;overflow:hidden}.projet-couverture img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.projet-voile{background:linear-gradient(#0000 55%,#00000073 100%);position:absolute;inset:0}.projet-titre{width:100%;max-width:var(--largeur);padding:0 var(--marge) clamp(32px, 6vh, 72px);margin-inline:auto;position:relative}.projet-client{margin:0 0 .6em;font-size:.9rem;font-weight:500}.projet-titre h1{max-width:26ch;margin:0;font-size:clamp(1.6rem,3vw,3.2rem);font-weight:400}.projet-corps{padding-block:clamp(56px,9vw,140px) clamp(40px,6vw,96px)}.projet-intro{max-width:28ch;color:var(--text);margin:0 auto clamp(48px,7vw,110px);font-size:clamp(1.4rem,2.6vw,2.8rem);font-weight:300;line-height:1.25}.facts{border-block:1px solid var(--filet);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px 32px;margin:0 0 clamp(56px,8vw,120px);padding-block:28px;display:grid}.facts dt{color:var(--muted);margin-bottom:6px;font-size:.8rem;font-weight:500}.facts dd{margin:0;font-size:.95rem}.prose-projet{margin-inline:auto}.prose-projet .etiquette{margin-top:clamp(48px,7vw,110px)}.prose-projet .etiquette+h2{max-width:24ch;margin-top:0}.prose-projet>.etiquette:first-child{margin-top:0}.projet-suivant{background:var(--text);color:var(--bg)}.projet-suivant a{max-width:var(--largeur);padding:clamp(48px, 7vw, 110px) var(--marge);gap:6px;margin-inline:auto;text-decoration:none;display:grid}.projet-suivant .etiquette{color:color-mix(in srgb, var(--bg) 70%, transparent);margin:0}.projet-suivant-nom{font-size:clamp(2rem,5vw,5rem);font-weight:300;line-height:1.05}.projet-suivant-accroche{color:color-mix(in srgb, var(--bg) 75%, transparent);max-width:50ch}.projet-suivant a:hover .projet-suivant-nom{color:var(--accent)}.site-footer{background:var(--noir);color:var(--blanc);padding-block:56px 28px;font-size:.9rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:32px;display:flex}.footer-name{margin-bottom:.4em;font-size:1.4rem;font-weight:300}.site-footer a{color:var(--blanc)}.site-footer a:hover{color:var(--accent)}.socials{gap:20px;margin:0;padding:0;list-style:none;display:flex}.footer-legal{color:#fff9;border-top:1px solid #ffffff26;justify-content:space-between;gap:16px;margin-top:40px;padding-top:20px;font-size:.8rem;display:flex}.footer-legal p{margin:0}@media (width<=760px){.nav-large{display:none}.nav-mobile{display:block;position:relative}.nav-mobile summary{cursor:pointer;align-items:center;gap:10px;font-size:.9rem;font-weight:500;list-style:none;display:flex}.nav-mobile summary::-webkit-details-marker{display:none}.burger,.burger:before{background:currentColor;width:22px;height:1.5px;display:block;position:relative}.burger:before{content:"";width:16px;position:absolute;top:6px;right:0}.burger{top:-3px}.nav-mobile nav{background:var(--bg);min-width:220px;color:var(--text);border-radius:0 0 20px 20px;padding:12px 24px 20px;position:absolute;top:calc(100% + 14px);right:0;box-shadow:0 20px 50px #0003}.nav-mobile ul{margin:0;padding:0;list-style:none}.nav-mobile a{padding:12px 0;font-size:1.15rem;text-decoration:none;display:block}.sombre .nav-mobile nav a{color:var(--text)}.hero-bande{opacity:.7;width:100vw}.hero-ligne2{white-space:normal}.hero-reseaux{top:auto;bottom:24px}.carrousel{grid-auto-columns:78vw}.footer-legal{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mots>span:not(.sr-only){opacity:0;animation:none}.mots>span:first-child{opacity:1;transform:none}.card img{transition:none}}
