@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/inter-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg: #ffffff;--color-text: #333333;--color-surface: #f3f4f6;--color-surface-text: #4b5563;--color-muted: #f9fafb;--color-text-muted: #6b7280;--color-border: #e5e7eb;--color-primary: #3b82f6;--color-action: #2563eb;--color-action-hover: #1d4ed8;--color-accent: #e0f2fe;--color-accent-text: #1e3a8a;--color-danger: #ef4444;--color-input-border: #6b7280;--color-on-action: #ffffff;--color-dark: #171717;--color-dark-card: #262626;--color-dark-text: #e5e5e5;--color-dark-muted: #a3a3a3;--color-dark-border: #404040;--hero-veil: rgb(23 23 23 / .62);--shadow: 0 4px 8px -1px hsl(0 0% 0% / .1);--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-base: 1.125rem;--text-lg: clamp(1.25rem, 1rem + .8vw, 1.75rem);--text-statement: clamp(1.625rem, 1.1rem + 2.2vw, 3rem);--text-h1: clamp(2.5rem, 1.6rem + 3.2vw, 4rem);--text-number: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);--text-display: clamp(3.5rem, 2rem + 6.4vw, 8rem);--leading-body: 1.6;--leading-tight: 1;--leading-snug: 1.15;--tracking-tight: -.02em;--tracking-mono: .02em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--space-10: 8rem;--gutter: clamp(1.25rem, .9rem + 1.5vw, 2rem);--section-pad: clamp(4.5rem, 3rem + 6vw, 9rem);--container: 84rem;--measure: 38rem;--header-h: 4.5rem;--tap: 3rem;--radius: .375rem;--radius-sm: calc(var(--radius) - 2px);--radius-lg: calc(var(--radius) + 2px);--radius-full: 999px;--z-header: 90;--z-menu: 85;--z-loader: 1000;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, .01, .05, .99);--ease-mask: cubic-bezier(.6, 0, 0, 1);--dur-fast: .18s;--dur-base: .32s;--dur-slow: .7s}@media (min-width: 768px){:root{--header-h: 5rem}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-h)}body{margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);font-weight:400;line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}:where(ul[role=list],ol){list-style:none;padding:0}img,svg{display:block;max-width:100%}img{height:auto}input,button,select,textarea{font:inherit;color:inherit}button{cursor:pointer}address{font-style:normal}html.js.is-loading,html.js.is-loading body{overflow:hidden;overscroll-behavior:none}html.js.is-loading{scrollbar-gutter:stable}h1,h2,h3,h4{font-weight:500;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);text-wrap:balance}h2{font-size:var(--text-statement)}h3{font-size:var(--text-lg)}p{text-wrap:pretty}strong{font-weight:600}a{color:var(--color-action);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--color-action-hover);text-decoration-thickness:2px}.mono{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:var(--tracking-mono);line-height:1.5;text-transform:uppercase}.statement{max-width:22em;font-size:var(--text-statement);font-weight:500;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}main section[id]{scroll-margin-top:.75rem}.skip-link{position:absolute;top:var(--space-2);left:var(--space-2);z-index:calc(var(--z-loader) + 1);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-dark);color:var(--color-dark-text);font-weight:500;text-decoration:none;transform:translateY(-200%)}.skip-link:focus{transform:none}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-tri{fill:currentColor;stroke:none}.tag{--tag-h: 1.375rem;display:inline-flex;align-items:center;min-height:var(--tag-h);margin-bottom:var(--space-4);padding:0 .4rem;border-radius:var(--radius-sm);background:var(--color-dark);color:var(--color-dark-text);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-mono);line-height:1;text-transform:uppercase;white-space:nowrap}.tag--dark{background:var(--color-dark-text);color:var(--color-dark)}@media (min-width: 768px){.tag:has(+.statement){float:left;margin:calc((var(--text-statement) * 1.15 - var(--tag-h)) / 2) var(--space-4) 0 0}}.btn{display:inline-flex;align-items:center;gap:var(--space-4);min-height:var(--tap);padding:.375rem .375rem .375rem var(--space-4);border:0;border-radius:var(--radius-lg);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-mono);line-height:1.2;text-align:left;text-decoration:none;text-transform:uppercase;transition:background-color var(--dur-fast) linear,color var(--dur-fast) linear,box-shadow var(--dur-fast) linear}.btn-square{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;flex:none;border-radius:var(--radius);background:var(--color-bg);color:var(--color-dark);transition:transform var(--dur-fast) var(--ease-out)}.btn-square .icon{width:1.125rem;height:1.125rem}.btn:hover .btn-square,.btn-call--xl:hover .btn-square,.btn-project:hover .btn-square{transform:translate(2px)}.btn-dark{background:var(--color-dark);color:var(--color-dark-text)}.btn-dark:hover{background:var(--color-dark-card);color:var(--color-dark-text)}.btn-call,.btn-call--xl{background:var(--color-action);color:var(--color-on-action)}.btn-call:hover,.btn-call--xl:hover{background:var(--color-action-hover);color:var(--color-on-action)}.btn-call .btn-square,.btn-call--xl .btn-square{color:var(--color-action)}.btn-call--xl{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:4.5rem;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border-radius:var(--radius-lg);text-decoration:none;transition:background-color var(--dur-fast) linear}.btn-call--xl .btn-square{width:3rem;height:3rem}.btn-call--xl .btn-square .icon{width:1.375rem;height:1.375rem}.btn-call-text{display:grid;gap:var(--space-1)}.btn-call-kicker{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-mono);line-height:1.3;text-transform:uppercase}.btn-call-number{font-size:var(--text-number);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1;white-space:nowrap}.btn-project{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:4.5rem;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text);font-size:var(--text-lg);font-weight:500;letter-spacing:var(--tracking-tight);line-height:1.2;text-decoration:none;transition:background-color var(--dur-fast) linear}.btn-project:hover{background:var(--color-surface);color:var(--color-text)}.btn-project .btn-square{width:3rem;height:3rem;background:var(--color-dark);color:var(--color-dark-text)}.btn-project .btn-square .icon{width:1.375rem;height:1.375rem}.text-link{display:inline-flex;align-items:center;min-height:var(--tap);font-weight:500}.js [data-reveal]:not(.is-in)>*,.js [data-step]:not(.is-in){clip-path:inset(0 0 100% 0);transform:translateY(1.5rem)}.js [data-reveal].is-in>*,.js [data-step].is-in{animation:reveal-up var(--dur-slow) var(--ease-out) var(--reveal-delay, 0ms) backwards}@keyframes reveal-up{0%{clip-path:inset(0 0 100% 0);transform:translateY(1.5rem)}to{clip-path:inset(0 0 0 0);transform:none}}.js [data-reveal]:not(.is-in)>.is-split,.js [data-reveal].is-in>.is-split{clip-path:none;transform:none;animation:none}.sw{display:inline-block;clip-path:inset(-.4em -.2em -.12em -.2em)}.sw-i{display:inline-block}.is-split:not(.is-in) .sw-i{transform:translateY(115%)}.is-split.is-in .sw-i{transition:transform 1s var(--ease-mask) var(--d, 0ms)}.odo{display:inline-block;white-space:nowrap}.odo-d{display:inline-block;height:1em;overflow:hidden;line-height:1;vertical-align:top}.odo-c{display:block;transform:translateY(calc(var(--n, 0) * -1em));transition:transform var(--odo-dur, 1.6s) var(--ease-out) var(--od, 0ms)}.odo-c>span{display:block;height:1em}.logo{--logo-ink: var(--color-text);--logo-paper: var(--color-bg);display:inline-flex;align-items:stretch;min-height:2.25rem;border:1px solid var(--logo-ink);border-radius:var(--radius-sm);color:var(--logo-ink);font-size:var(--text-sm);font-weight:600;letter-spacing:.06em;line-height:1;text-decoration:none;white-space:nowrap;transition:color var(--dur-base) linear,border-color var(--dur-base) linear}.logo:hover{color:var(--logo-ink)}.logo-ei,.logo-name{display:inline-flex;align-items:center;padding:0 .55em}.logo-ei{background:var(--logo-ink);color:var(--logo-paper);transition:background-color var(--dur-base) linear,color var(--dur-base) linear}#loader{position:fixed;inset:0;z-index:var(--z-loader);display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--gutter) + env(safe-area-inset-top,0px)) var(--gutter) calc(var(--gutter) + env(safe-area-inset-bottom,0px));background:var(--color-bg);color:var(--color-text);overflow:hidden;transition:transform var(--dur-slow) var(--ease-in-out)}#loader[hidden]{display:none}#loader.is-done{transform:translateY(-100%)}html:not(.js) #loader{display:none}.loader-mark{align-self:center;margin:auto 0;min-height:3.5rem;font-size:clamp(1.25rem,1rem + 1.4vw,2rem)}.loader-foot{display:grid;gap:var(--space-3)}.loader-count{display:flex;align-items:baseline;font-family:var(--font-mono);font-size:var(--text-number);font-variant-numeric:tabular-nums;line-height:1}.loader-count-digits{min-width:3ch;text-align:right}.loader-count-sign{margin-left:.15em;font-size:.5em}.loader-bar{height:2px;background:var(--color-border);overflow:hidden}.loader-bar-fill{height:100%;background:var(--color-action);transform:scaleX(0);transform-origin:left center}.hero{position:relative;isolation:isolate;min-height:100svh;background:var(--color-dark);color:var(--color-bg)}.hero-media{position:absolute;inset:0;z-index:-1;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}.hero-media:after{content:"";position:absolute;inset:0;background:var(--hero-veil)}.hero-inner{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto auto;row-gap:var(--space-5);min-height:100svh;padding-top:calc(var(--header-h) + var(--space-6));padding-bottom:var(--gutter)}.hero-text{align-self:center}.hero-title{font-size:var(--text-h1);font-weight:500;line-height:1.04;letter-spacing:-.025em}.hero-line{display:block;clip-path:inset(-.3em -.2em -.14em -.2em)}.hero-line-inner{display:block;transition:transform 1.2s var(--ease-mask)}.hero-line:nth-child(2) .hero-line-inner{transition-delay:90ms}.anim body:not(.is-ready) .hero-line-inner{transform:translateY(115%)}.hero-lead{max-width:30rem;margin-top:var(--space-4);font-size:var(--text-base);line-height:1.5}.hero .btn-project{width:100%;margin-top:var(--space-6)}.hero-stat{line-height:1.6}.hero-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.hero-link{position:relative;display:block;aspect-ratio:16 / 10;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-dark-card);color:var(--color-text);text-decoration:none}.hero-link:hover{color:var(--color-text)}.hero-link img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}.hero-link:hover img{transform:scale(1.04)}.hero-link-bar{position:absolute;right:.375rem;bottom:.375rem;left:.375rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:1.75rem;padding:.25rem .25rem .25rem .5rem;border-radius:var(--radius-sm);background:var(--color-bg);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-mono);line-height:1.2;text-transform:uppercase}.hero-link-arrow{display:grid;place-items:center;width:1.25rem;height:1.25rem;flex:none;border-radius:2px;background:var(--color-dark);color:var(--color-bg)}.hero-link-arrow .icon{width:.875rem;height:.875rem}@media (min-width: 480px){.hero .btn-project{width:auto}}@media (min-width: 768px){.hero-links{grid-template-columns:repeat(2,13rem);justify-self:end}.hero-link{aspect-ratio:5 / 4}}@media (min-width: 1024px){.hero-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr auto;column-gap:var(--space-8);padding-bottom:var(--space-6)}.hero-text{grid-column:1;grid-row:1 / span 2}.hero-stat{grid-column:2;grid-row:1;align-self:center}.hero-links{grid-column:2;grid-row:2}}[data-hero-in]{transition:transform var(--dur-slow) var(--ease-out) var(--hero-delay, 0ms)}.js body:not(.is-ready) [data-hero-in]{transform:translateY(.75rem)}.hero-lead{--hero-delay: .16s}.hero .btn-project{--hero-delay: .24s}.hero-stat{--hero-delay: .3s}.hero-links{--hero-delay: .36s}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}.js [data-reveal]:not(.is-in)>*,.js [data-step]:not(.is-in){clip-path:none;transform:none}.js body:not(.is-ready) [data-hero-in],.anim body:not(.is-ready) .hero-line-inner,.is-split:not(.is-in) .sw-i{transform:none}.hero-link:hover img{transform:none}}#site-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);height:var(--header-h);background:var(--color-bg);color:var(--color-text);box-shadow:0 1px 0 0 var(--color-border);transition:background-color var(--dur-base) linear,color var(--dur-base) linear,box-shadow var(--dur-base) linear}html:not(.menu-open) #site-header.is-over-hero{background:transparent;color:var(--color-bg);box-shadow:0 1px 0 0 transparent}html:not(.menu-open) #site-header.is-over-hero .logo{--logo-ink: var(--color-bg);--logo-paper: var(--color-dark)}.header-inner{display:flex;align-items:center;gap:var(--space-3);height:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}#site-header .logo{margin-right:auto}@media (max-width: 479.98px){#site-header .logo{flex-direction:column;min-height:0;font-size:.75rem}#site-header .logo-ei,#site-header .logo-name{padding:.32em .55em}}#pill-nav{display:none}@media (min-width: 1120px){#pill-nav{position:relative;display:flex;align-items:center;gap:.125rem;margin-right:var(--space-4)}#pill-nav a{position:relative;z-index:1;display:inline-flex;align-items:center;min-height:var(--tap);padding:0 .9rem;color:inherit;font-size:var(--text-sm);font-weight:500;text-decoration:none;white-space:nowrap}.pill-cursor{position:absolute;top:.5rem;bottom:.5rem;left:0;width:var(--pill-w, 0);border-radius:var(--radius-full);box-shadow:inset 0 0 0 1px currentColor;transform:translate(var(--pill-x, 0));opacity:0;transition:transform var(--dur-base) var(--ease-out),width var(--dur-base) var(--ease-out),opacity var(--dur-fast) linear}#pill-nav.cursor-visible .pill-cursor{opacity:1}}.header-call{flex:none}html:not(.menu-open) #site-header.is-over-hero .header-call{background:transparent;color:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-bg)}html:not(.menu-open) #site-header.is-over-hero .header-call .btn-square{color:var(--color-dark)}html:not(.menu-open) #site-header.is-over-hero .header-call:hover{background:var(--color-action);box-shadow:none}#menu-toggle{display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--tap);flex:none;padding:0;border:0;background:transparent;color:inherit}.menu-toggle-label{display:none;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-mono);text-transform:uppercase}.menu-toggle-round{position:relative;width:var(--tap);height:var(--tap);border:1px solid currentColor;border-radius:50%}.menu-toggle-round span{position:absolute;top:50%;left:50%;width:1rem;height:1.5px;margin:-.75px 0 0 -.5rem;background:currentColor;transition:transform var(--dur-base) var(--ease-out)}.menu-toggle-round span:nth-child(1){transform:translateY(-3px)}.menu-toggle-round span:nth-child(2){transform:translateY(3px)}.menu-open .menu-toggle-round span:nth-child(1){transform:rotate(45deg)}.menu-open .menu-toggle-round span:nth-child(2){transform:rotate(-45deg)}@media (min-width: 480px){.menu-toggle-label{display:inline}}html:not(.js) #menu-toggle{display:none}@media (min-width: 1120px){#menu-toggle{display:none}}.menu-open body{overflow:hidden}#mobile-menu{position:fixed;inset:0;z-index:var(--z-menu);padding:calc(var(--header-h) + var(--space-5)) var(--gutter) calc(var(--space-7) + env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;background:var(--color-bg);color:var(--color-text);visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .5s var(--ease-in-out) .1s,visibility 0s linear .6s}#mobile-menu.is-open{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path .7s var(--ease-in-out),visibility 0s linear 0s}.mobile-menu-inner{max-width:40rem;margin-inline:auto}#mobile-menu nav{display:grid}#mobile-menu nav a{position:relative;display:flex;align-items:center;min-height:3.75rem;overflow:hidden;color:var(--color-text);font-size:clamp(1.625rem,1.2rem + 2vw,2.25rem);font-weight:500;letter-spacing:var(--tracking-tight);text-decoration:none}#mobile-menu nav a:hover{color:var(--color-action)}#mobile-menu nav a:nth-child(1){--i: 0}#mobile-menu nav a:nth-child(2){--i: 1}#mobile-menu nav a:nth-child(3){--i: 2}#mobile-menu nav a:nth-child(4){--i: 3}#mobile-menu nav a:nth-child(5){--i: 4}#mobile-menu nav a:nth-child(6){--i: 5}#mobile-menu nav a:nth-child(7){--i: 6}#mobile-menu nav a span{display:block;transform:translateY(110%);transition:transform .35s var(--ease-in-out)}#mobile-menu nav a:after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:var(--color-border);transform:scaleX(0);transform-origin:left center;transition:transform .35s var(--ease-in-out)}#mobile-menu.is-open nav a span{transform:none;transition:transform .9s var(--ease-mask) calc(.3s + var(--i, 0) * .06s)}#mobile-menu.is-open nav a:after{transform:none;transition:transform 1s var(--ease-in-out) calc(.25s + var(--i, 0) * .06s)}.mobile-menu-foot{margin-top:var(--space-6);transform:translateY(.75rem);transition:transform .35s var(--ease-in-out);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-mono);text-transform:uppercase}#mobile-menu.is-open .mobile-menu-foot{transform:none;transition:transform .9s var(--ease-out) .7s}.depannage{padding-block:var(--section-pad);background:var(--color-bg)}.depannage-grid{display:grid;gap:var(--space-8)}.depannage-lead{max-width:var(--measure);margin-top:var(--space-4);color:var(--color-surface-text)}.reflexes{border-top:1px solid var(--color-border)}.reflexe{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--space-5);row-gap:var(--space-2);padding-block:var(--space-6);border-bottom:1px solid var(--color-border)}.reflexe-icon{grid-row:span 2;width:var(--tap);height:var(--tap);padding:.75rem;border-radius:var(--radius-lg);background:var(--color-accent);fill:none;stroke:var(--color-accent-text);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.reflexe h3{align-self:center}.reflexe p{max-width:var(--measure);color:var(--color-surface-text)}@media (min-width: 1024px){.depannage-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--space-9);align-items:start}}.prestations{padding-block:var(--section-pad);background:var(--color-surface)}.section-head{margin-bottom:var(--space-8)}.kw{transition:color var(--dur-base) linear}.js [data-kinetic] .kw:not(.is-lit){color:var(--color-text-muted)}.cards{display:grid;gap:var(--space-2)}.card{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--space-4);row-gap:var(--space-1);align-content:start;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-bg)}.card-icon{grid-row:span 2;display:grid;place-items:center;width:var(--tap);height:var(--tap);border-radius:var(--radius-lg);background:var(--color-accent);color:var(--color-accent-text);transition:background-color var(--dur-base) linear,color var(--dur-base) linear}.card h3{align-self:center}.card p{color:var(--color-surface-text);font-size:var(--text-md)}.picto{width:1.75rem;height:1.75rem}.picto path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:round}.js .picto path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset var(--dur-slow) var(--ease-in-out) var(--trace-delay, 0ms)}.js .picto.is-drawn path{stroke-dashoffset:0}@media (hover: hover) and (pointer: fine){.card:hover .card-icon{background:var(--color-action);color:var(--color-on-action)}.js .card:hover .picto.is-drawn path{animation:picto-retrace var(--dur-slow) var(--ease-in-out)}}@keyframes picto-retrace{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.section-foot{margin-top:var(--space-7)}@media (min-width: 768px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(7rem,auto) auto auto;gap:var(--space-3)}.card{grid-row:span 3;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;padding:var(--space-6)}.card-icon{grid-row:auto}.card h3{align-self:end}}@media (min-width: 1024px){.cards{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(9rem,auto) auto auto}}@media (prefers-reduced-motion: reduce){.js [data-kinetic] .kw:not(.is-lit){color:inherit}.js .picto path{stroke-dashoffset:0}}.realisations{--real-h: min(96vw, 30rem);padding-block:var(--section-pad);background:var(--color-bg)}.dial,.dial-meta,.dial-nav{display:none}.realisations-stage{margin-top:var(--space-7)}.realisations-viewport{margin-inline:calc(-1 * var(--gutter));overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:thin;scrollbar-color:var(--color-input-border) transparent}.realisations-viewport:focus-visible{outline-offset:-3px}.realisations-track{display:flex;align-items:flex-start;gap:var(--space-3);width:max-content;padding:0 var(--gutter) var(--space-4)}.real{--ar: .75;flex:none;width:calc(var(--real-h) * var(--ar));scroll-snap-align:start}.real img{width:100%;height:var(--real-h);object-fit:cover;border-radius:var(--radius-lg);background:var(--color-surface)}.real--small{width:calc(var(--real-h) * .75 * var(--ar))}.real--small img{height:calc(var(--real-h) * .75)}.real figcaption{max-width:34ch;margin-top:var(--space-3);color:var(--color-surface-text);font-size:var(--text-md);line-height:1.45}@media (min-width: 1024px){.realisations:not(.is-dial) .realisations-viewport{margin-inline:0;overflow:visible;scroll-snap-type:none}.realisations:not(.is-dial) .realisations-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-7) var(--space-4);width:auto;padding:0}.realisations:not(.is-dial) .real{width:auto}.realisations:not(.is-dial) .real img{height:auto;aspect-ratio:var(--ar)}}.realisations.is-dial{--dial-d: min(46vw, calc(100svh - var(--header-h) - var(--space-8)), 44rem);--dial-s: calc(var(--dial-d) * .62);height:calc(100svh + var(--dial-n, 12) * 24svh);padding-block:0;scroll-margin-top:calc(-1 * var(--header-h))}.is-dial .realisations-pin{position:sticky;top:0;height:100svh;padding-top:var(--header-h);overflow:hidden}.is-dial .realisations-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--dial-d) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);column-gap:var(--space-6);height:100%;padding-block:var(--space-6)}.is-dial .realisations-head{grid-column:1;grid-row:1}.is-dial .realisations-stage{position:relative;grid-column:2;grid-row:1 / -1;align-self:center;width:var(--dial-d);height:var(--dial-d);margin-top:0}.is-dial .dial-nav{display:block;grid-column:1;grid-row:2;align-self:end}.dial-nav-label{margin-bottom:var(--space-3);color:var(--color-text-muted)}.dial-list{font-size:clamp(1rem,2.9svh,1.75rem);font-weight:500;letter-spacing:var(--tracking-tight);line-height:1.15}.dial-list button{display:flex;align-items:center;min-height:1.5rem;padding:0;border:0;background:none;color:var(--color-text-muted);text-align:left;transition:color var(--dur-fast) linear}.dial-list button:before{content:"";flex:none;width:0;height:2px;margin-right:0;background:currentColor;transition:width var(--dur-base) var(--ease-out),margin-right var(--dur-base) var(--ease-out)}.dial-list button:hover,.dial-list button[aria-current=true]{color:var(--color-text)}.dial-list button[aria-current=true]:before{width:.6em;margin-right:.4em}.is-dial .dial{position:absolute;inset:0;display:block}.dial-ring{position:absolute;inset:0;width:100%;height:100%}.dial-ring path{fill:none;stroke:var(--color-border);stroke-width:.25}.dial-ring--on path{stroke:var(--color-text)}.dial-ring--on{-webkit-mask-image:conic-gradient(currentColor calc(var(--p, 0) * 360deg),transparent 0);mask-image:conic-gradient(currentColor calc(var(--p, 0) * 360deg),transparent 0)}.is-dial .realisations-viewport{position:absolute;inset:0;display:grid;place-items:center;margin:0;overflow:visible;scroll-snap-type:none}.is-dial .realisations-track{display:grid;place-items:center;width:auto;padding:0}.is-dial .real,.is-dial .real--small{grid-area:1 / 1;width:min(var(--dial-s),calc(var(--dial-s) * var(--ar)));opacity:0;transform:scale(.96);transition:opacity var(--dur-base) linear,transform var(--dur-slow) var(--ease-out)}.is-dial .real.is-active{opacity:1;transform:none}.is-dial .real img,.is-dial .real--small img{height:auto;aspect-ratio:var(--ar)}.is-dial .real figcaption{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.is-dial .dial-meta{display:block;grid-column:3;grid-row:1 / -1;align-self:center;justify-self:end;max-width:16rem;text-align:right}.dial-count{color:var(--color-text-muted)}.dial-index{color:var(--color-text)}.dial-caption{margin-top:var(--space-2);color:var(--color-surface-text);font-size:var(--text-md);line-height:1.45}.realisations.is-hscroll{height:calc(100svh + var(--hs-dist, 0px));padding-block:0;scroll-margin-top:calc(-1 * var(--header-h))}.is-hscroll .realisations-pin{position:sticky;top:0;height:100svh;padding-top:var(--header-h);overflow:hidden}.is-hscroll .realisations-layout{display:flex;flex-direction:column;height:100%;padding-block:var(--space-5)}.is-hscroll .realisations-stage{flex:1;min-height:0;margin-top:var(--space-5)}.is-hscroll .realisations-viewport{height:100%;overflow:hidden;scroll-snap-type:none}.is-hscroll .realisations-track{height:100%;padding-bottom:0;will-change:transform}.is-hscroll .real{--hs-ih: min(calc(var(--hs-stage-h, 60svh) - 5.75rem), calc(84vw / var(--ar)));width:calc(var(--hs-ih) * var(--ar));scroll-snap-align:none}.is-hscroll .real img{height:var(--hs-ih)}.is-hscroll .real figcaption{max-width:none}.is-hscroll .dial-meta{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-3)}.is-hscroll .dial-caption{display:none}.is-hscroll .dial-meta:after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--color-text) calc(var(--p, 0) * 100%),var(--color-border) 0)}.apropos{padding-block:var(--section-pad);background:var(--color-bg)}.apropos-head{margin-bottom:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.apropos-grid{display:grid;gap:var(--space-8)}.apropos-photo{max-width:32rem}.apropos-photo img{width:100%;height:auto;border-radius:var(--radius-lg);background:var(--color-surface)}.apropos-photo figcaption{margin-top:var(--space-3);color:var(--color-text-muted)}.stats{display:grid}.stat{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon number" "icon label";column-gap:var(--space-4);row-gap:var(--space-1);padding-block:var(--space-4);border-top:1px solid var(--color-border)}.stat-icon{grid-area:icon;width:1.5rem;height:1.5rem;margin-top:.25rem;fill:none;stroke:var(--color-text);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.stat-number{grid-area:number;font-size:var(--text-h1);font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1}.stat-label{grid-area:label;color:var(--color-text-muted)}.apropos-text{display:grid;gap:var(--space-4);max-width:var(--measure);margin-top:var(--space-8)}@media (min-width: 640px){.stats{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--space-5)}.stat{align-content:start;grid-template-columns:minmax(0,1fr);grid-template-areas:"icon" "number" "label";row-gap:var(--space-3);padding-top:var(--space-5)}.stat-icon{margin:0 0 var(--space-4)}}@media (min-width: 1024px){.apropos-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-9);align-items:start}.apropos-photo{position:sticky;top:calc(var(--header-h) + var(--space-6));max-width:none}}.avis{padding-block:var(--section-pad);background:var(--color-surface);text-align:center}.avis-inner{display:flex;flex-direction:column;align-items:center}.avis-title{max-width:22em}.avis-value{margin-top:var(--space-7);font-size:var(--text-display);font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1}.avis-source{margin-top:var(--space-4);color:var(--color-surface-text)}.avis-link{max-width:var(--measure);margin-top:var(--space-7)}.social{padding-block:var(--space-9);background:var(--color-dark);color:var(--color-dark-text)}.social-inner{display:grid;gap:var(--space-7);align-items:end}.social .btn-project{width:100%}@media (min-width: 480px){.social .btn-project{width:auto;justify-self:start}}@media (min-width: 900px){.social-inner{grid-template-columns:minmax(0,1fr) auto}}.contact{background:var(--color-bg)}.contact-grid{display:grid;gap:var(--space-9);padding-block:var(--section-pad)}@media (min-width: 1024px){.contact-grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}}.contact-subtitle{font-size:var(--text-lg)}.contact-details{padding-top:var(--space-2)}.contact-intro{max-width:var(--measure);margin-top:var(--space-3);color:var(--color-surface-text)}.contact-form{display:grid;gap:var(--space-5);margin-top:var(--space-6)}.form-row{display:grid;gap:var(--space-5)}@media (min-width: 640px){.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-field{display:grid;gap:var(--space-2);align-content:start}.form-label{font-size:var(--text-md);font-weight:500;line-height:1.3}.channel{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:3.25rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-input-border);border-radius:var(--radius);background:var(--color-muted);color:var(--color-text);font-size:var(--text-base);font-weight:500;line-height:1.4;text-decoration:none;overflow-wrap:anywhere;transition:border-color var(--dur-fast) linear,background-color var(--dur-fast) linear,color var(--dur-fast) linear}.channel .icon{flex:none;width:1rem;height:1rem}.channel:hover{border-color:var(--color-action);background:var(--color-bg);color:var(--color-action)}.field-hint{padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-text);font-size:var(--text-sm)}.form-submit{justify-self:start}@media (max-width: 639.98px){.form-submit{justify-self:stretch;justify-content:space-between}}.form-note{color:var(--color-text-muted);font-size:var(--text-sm)}.contact-list{display:grid;margin-top:var(--space-5);border-top:1px solid var(--color-border)}.contact-list li{display:grid;gap:var(--space-1);padding-block:var(--space-4);border-bottom:1px solid var(--color-border)}.contact-list .label{color:var(--color-text-muted)}.contact-list .text-link{justify-self:start}.todo-note{justify-self:start;padding:.1rem .5rem;border:1px dashed var(--color-input-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-sm)}.contact-map-wrap{padding-bottom:var(--section-pad)}.contact-map{position:relative;aspect-ratio:4 / 5;overflow:hidden;border-radius:var(--radius-lg);background-color:var(--color-surface);background-image:linear-gradient(var(--color-border) 1px,transparent 1px),linear-gradient(90deg,var(--color-border) 1px,transparent 1px);background-size:2.5rem 2.5rem;background-position:center}@media (min-width: 640px){.contact-map{aspect-ratio:16 / 9}}@media (min-width: 1024px){.contact-map{aspect-ratio:21 / 8}}.map-facade{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-6);text-align:center}.map-pin{width:2.5rem;height:2.5rem;fill:var(--color-bg);stroke:var(--color-text);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.map-note{max-width:26rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--color-bg);color:var(--color-surface-text);font-size:var(--text-sm)}.map-load[hidden]{display:none}.contact-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.contact-map.is-loaded .map-facade{display:none}.map-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 var(--space-5);margin-top:var(--space-2);color:var(--color-text-muted)}.site-footer{padding-top:var(--space-9);padding-bottom:var(--space-6);border-top:1px solid var(--color-border);background:var(--color-bg);font-size:var(--text-sm)}.footer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-7) var(--space-5)}.footer-brand{grid-column:1 / -1}.logo--footer{margin-bottom:var(--space-3)}.site-footer .tag{background:transparent;color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-text)}.footer-col ul{display:grid}.footer-col li{color:var(--color-text-muted)}.footer-col a{display:inline-flex;align-items:center;min-height:var(--tap);color:var(--color-text-muted);text-decoration:none}.footer-col a:hover{color:var(--color-text);text-decoration:underline}.footer-col a[aria-current=page]{color:var(--color-text);font-weight:500}.footer-col address{color:var(--color-text-muted);font-style:normal;line-height:1.6}@media (min-width: 768px){.footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1024px){.footer-grid{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr))}.footer-brand{grid-column:auto}}.footer-bottom{position:relative;margin-top:var(--space-8);padding-top:var(--space-5);color:var(--color-text-muted);font-size:var(--text-xs);text-align:center}.footer-bottom:before{content:"";position:absolute;top:0;inset-inline:var(--gutter);border-top:1px solid var(--color-border)}.header-home{display:inline-flex;align-items:center;min-height:var(--tap);padding-inline:var(--space-2);color:inherit;font-size:var(--text-sm);font-weight:500;text-decoration:none}.header-home:hover{color:inherit;text-decoration:underline}.legal{padding-top:calc(var(--header-h) + var(--space-8));padding-bottom:var(--section-pad)}.legal-inner{max-width:46rem}.legal h1{font-size:var(--text-statement)}.legal-updated{margin-top:var(--space-3);color:var(--color-text-muted)}.legal .legal-intro{margin-top:var(--space-5)}.legal section{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.legal h2{font-size:var(--text-lg)}.legal h3{margin-top:var(--space-6);font-size:var(--text-base)}.legal p,.legal ul,.legal dl{max-width:var(--measure);margin-top:var(--space-3)}.legal ul{padding-left:1.25rem;list-style:square}.legal li+li{margin-top:var(--space-2)}.legal li::marker{color:var(--color-text-muted)}.legal a[href^="tel:"]{display:inline-flex;align-items:center;min-height:var(--tap);font-weight:600;white-space:nowrap}.legal .nobr{white-space:nowrap}.legal dl{display:grid;gap:var(--space-1) var(--space-5);max-width:none}.legal dt{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500}.legal dd{margin-bottom:var(--space-3)}@media (min-width: 640px){.legal dl{grid-template-columns:14rem minmax(0,1fr)}.legal dt{padding-top:.15rem}.legal dd{margin-bottom:var(--space-2)}}.legal-todo{display:inline;padding:.05em .4em;border-radius:var(--radius-sm);outline:1px dashed var(--color-input-border);outline-offset:-1px;background:var(--color-muted);color:var(--color-text);box-decoration-break:clone;-webkit-box-decoration-break:clone}p.legal-todo,li.legal-todo,dd.legal-todo{display:block;padding:var(--space-3) var(--space-4)}.notfound{padding-top:calc(var(--header-h) + var(--space-9));padding-bottom:var(--section-pad)}.notfound h1{max-width:14ch;font-size:var(--text-h1);line-height:var(--leading-tight)}.notfound p:not(.tag){max-width:var(--measure);margin-top:var(--space-5);color:var(--color-surface-text)}.notfound-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-7)}
