:root{color-scheme:light;--background: 0 0% 100%;--foreground: 210 11% 15%;--card: 0 0% 100%;--primary: 181 30% 38%;--primary-foreground: 0 0% 100%;--secondary: 195 15% 95%;--muted-foreground: 210 8% 46%;--border: 210 16% 90%;--ring: 181 30% 38%;--section-alt: 185 22% 94%;--radius: .5rem;--gradient-primary: linear-gradient(135deg, hsl(181 30% 38%), hsl(181 35% 27%));--gradient-hero: linear-gradient(135deg, hsl(210 11% 15%) 0%, hsl(181 30% 25%) 100%);--shadow-card: 0 4px 24px -4px hsl(181 30% 38% / .08);--shadow-elevated: 0 12px 40px -8px hsl(181 30% 38% / .15);--nav-bg: hsl(0 0% 100% / .9);--on-primary-solid: #fff;--alt-edge: none;--tag-fg: 181 34% 34%;--shot-shadow: 0 30px 60px -38px hsl(210 11% 15% / .45), 0 2px 6px hsl(210 11% 15% / .05);--quand-sombre: none;--quand-clair: block;--font-heading: "Sora", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--nav-h: 5.5rem}@media (min-width: 768px){:root{--nav-h: 6.5rem}}@media (min-width: 1024px){:root{--nav-h: 7.5rem}}@media (min-width: 1280px){:root{--nav-h: 8.5rem}}@media (min-width: 1536px){:root{--nav-h: 9.5rem}}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--background: 200 16% 9%;--foreground: 190 10% 92%;--card: 200 12% 21%;--primary: 181 40% 62%;--secondary: 200 11% 24%;--muted-foreground: 195 8% 70%;--border: 200 8% 32%;--ring: 181 40% 62%;--section-alt: 200 14% 16%;--alt-edge: inset 0 1px 0 hsl(200 8% 40% / .5), inset 0 -1px 0 hsl(200 8% 40% / .5);--gradient-primary: linear-gradient(135deg, hsl(181 32% 36%), hsl(181 38% 26%));--shadow-card: 0 4px 24px -4px hsl(0 0% 0% / .5);--shadow-elevated: 0 12px 40px -8px hsl(0 0% 0% / .6);--nav-bg: hsl(200 16% 9% / .88);--on-primary-solid: hsl(200 20% 10%);--tag-fg: 181 40% 62%;--shot-shadow: 0 30px 60px -38px hsl(0 0% 0% / .8), 0 2px 6px hsl(0 0% 0% / .5);--quand-sombre: block;--quand-clair: none}}:root[data-theme=dark]{color-scheme:dark;--background: 200 16% 9%;--foreground: 190 10% 92%;--card: 200 12% 21%;--primary: 181 40% 62%;--secondary: 200 11% 24%;--muted-foreground: 195 8% 70%;--border: 200 8% 32%;--ring: 181 40% 62%;--section-alt: 200 14% 16%;--alt-edge: inset 0 1px 0 hsl(200 8% 40% / .5), inset 0 -1px 0 hsl(200 8% 40% / .5);--gradient-primary: linear-gradient(135deg, hsl(181 32% 36%), hsl(181 38% 26%));--shadow-card: 0 4px 24px -4px hsl(0 0% 0% / .5);--shadow-elevated: 0 12px 40px -8px hsl(0 0% 0% / .6);--nav-bg: hsl(200 16% 9% / .88);--on-primary-solid: hsl(200 20% 10%);--tag-fg: 181 40% 62%;--shot-shadow: 0 30px 60px -38px hsl(0 0% 0% / .8), 0 2px 6px hsl(0 0% 0% / .5);--quand-sombre: block;--quand-clair: none}*,*:before,*:after{box-sizing:border-box;border:0 solid hsl(var(--border))}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);line-height:1.5;color:hsl(var(--foreground));background:hsl(var(--background))}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}h1,h2,h3,h4{font-family:var(--font-heading);font-size:inherit;font-weight:inherit}ul,ol{list-style:none;padding:0}img,svg,canvas{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:inherit}button,input,textarea{font:inherit;color:inherit;margin:0}button{background:transparent;cursor:pointer;padding:0}.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}.icon{flex-shrink:0}.container{width:100%;margin-inline:auto;padding-inline:1rem}@media (min-width: 1400px){.container{max-width:1400px}}.section{padding-block:6rem}.bg-white{background:hsl(var(--background))}.bg-alt{background:hsl(var(--section-alt));box-shadow:var(--alt-edge)}.anchor,.anchor-sm{scroll-margin-top:calc(var(--nav-h) + 1px)}.narrow-5xl{max-width:64rem;margin-inline:auto}.narrow-6xl{max-width:72rem;margin-inline:auto}.section-head{text-align:center;max-width:42rem;margin:0 auto 4rem}.eyebrow{font-size:.875rem;line-height:1.25rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--primary));margin-bottom:.5rem}.h2{font-family:var(--font-heading);font-size:1.875rem;line-height:2.25rem;font-weight:700;color:hsl(var(--foreground))}@media (min-width: 768px){.h2{font-size:2.25rem;line-height:2.5rem}}.lead-muted{margin-top:1rem;color:hsl(var(--muted-foreground))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:calc(var(--radius) - 2px);font-weight:500;transition:opacity .2s,background-color .2s,transform .2s}.btn-primary{background:var(--gradient-primary);color:hsl(var(--primary-foreground))}.btn-primary:hover{opacity:.9}.btn-outline{border:1px solid hsl(var(--border));color:hsl(var(--foreground))}.btn-outline:hover{background:hsl(var(--secondary))}.btn-sm{padding:.625rem 1.25rem;font-size:.875rem;line-height:1.25rem}.btn-lg{padding:.75rem 2rem;font-size:1rem;line-height:1.5rem}.site-nav{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid hsl(var(--border))}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding-block:.75rem}.nav-logo{display:flex;align-items:center}.nav-logo img{height:4rem;width:auto}@media (min-width: 768px){.nav-logo img{height:5rem}}@media (min-width: 1024px){.nav-logo img{height:6rem}}@media (min-width: 1280px){.nav-logo img{height:7rem}}@media (min-width: 1536px){.nav-logo img{height:8rem}}.nav-logo .logo-fonce{display:var(--quand-clair)}.nav-logo .logo-clair{display:var(--quand-sombre)}.nav-end{display:flex;align-items:center;gap:.5rem}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:2.5rem;height:2.5rem;border-radius:9999px;border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));transition:color .2s,border-color .2s,background-color .2s}.theme-toggle:hover{color:hsl(var(--foreground));border-color:hsl(var(--primary) / .45);background:hsl(var(--secondary))}.theme-toggle .icon-sun{display:var(--quand-sombre)}.theme-toggle .icon-moon{display:var(--quand-clair)}.nav-links{display:none;align-items:center;gap:2.5rem}@media (min-width: 768px){.nav-links{display:flex}}.nav-link{position:relative;font-size:1rem;line-height:1.5rem;font-weight:500;color:hsl(var(--muted-foreground));transition:color .2s}.nav-link:after{content:"";position:absolute;left:0;bottom:-.5rem;height:2px;width:0;background:hsl(var(--primary));transition:width .3s}.nav-link:hover{color:hsl(var(--foreground))}.nav-link:hover:after{width:100%}.nav-cta{padding:.625rem 1.5rem;font-size:1rem;line-height:1.5rem}.nav-toggle{display:inline-flex;color:hsl(var(--foreground))}@media (min-width: 768px){.nav-toggle{display:none}}.nav-toggle .icon-close,.nav-toggle[aria-expanded=true] .icon-open{display:none}.nav-toggle[aria-expanded=true] .icon-close{display:block}.mobile-menu{display:none;border-top:1px solid hsl(var(--border));background:hsl(var(--background));padding:0 1rem 1rem}.mobile-menu.is-open{display:block}@media (min-width: 768px){.mobile-menu,.mobile-menu.is-open{display:none}}.mobile-menu a:not(.btn){display:block;padding-block:.75rem;font-size:.875rem;color:hsl(var(--muted-foreground))}.mobile-menu a:not(.btn):hover{color:hsl(var(--primary))}.mobile-menu .btn{display:flex;margin-top:.5rem;padding:.5rem 1.25rem;font-size:.875rem}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-top:7rem}@media (min-width: 768px){.hero{padding-top:8rem}}@media (min-width: 1024px){.hero{padding-top:7rem}}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-hero);opacity:.6}.hero-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.hero-content{position:relative;z-index:10;text-align:center;max-width:48rem}.hero-kicker{font-family:var(--font-body);font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.25em;color:#ffffffb3;margin-bottom:1.25rem}@media (min-width: 768px){.hero-kicker{font-size:.875rem;line-height:1.25rem}}.hero-kicker .kicker-city{display:block;margin-top:.25rem}.hero-kicker .kicker-sep{display:none}@media (min-width: 640px){.hero-kicker .kicker-city{display:inline;margin-top:0}.hero-kicker .kicker-sep{display:inline}}.hero-title{font-family:var(--font-heading);font-size:2.25rem;line-height:2.5rem;font-weight:700;color:#fff;margin-bottom:1.5rem}@media (min-width: 768px){.hero-title{font-size:3.75rem;line-height:1}}.hero-text{font-size:1.125rem;line-height:1.75rem;color:#fffc;margin-bottom:2.5rem}@media (min-width: 768px){.hero-text{font-size:1.25rem;line-height:1.75rem}}.hero-actions{display:flex;flex-direction:column;gap:1rem;justify-content:center}@media (min-width: 640px){.hero-actions{flex-direction:row}}.btn-ghost-light{border:1px solid hsl(0 0% 100% / .3);color:#fff}.btn-ghost-light:hover{background:#ffffff1a}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-up{opacity:0;animation:fade-up .6s ease-out forwards}.delay-1{animation-delay:.15s}.delay-2{animation-delay:.3s}.services-grid{display:grid;gap:1.5rem;max-width:64rem;margin-inline:auto}@media (min-width: 768px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem}}.service-card{position:relative;overflow:hidden;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1rem;padding:2rem 1.75rem 1.875rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.service-card:before{content:"";position:absolute;top:0;left:0;height:3px;width:0;background:var(--gradient-primary);transition:width .45s cubic-bezier(.22,1,.36,1)}.service-card:hover{transform:translateY(-4px);border-color:hsl(var(--primary) / .35);box-shadow:var(--shadow-elevated)}.service-card:hover:before{width:100%}.service-num{position:absolute;top:1.25rem;right:1.5rem;font-family:var(--font-heading);font-size:2.75rem;line-height:1;font-weight:700;color:hsl(var(--primary) / .12);transition:color .3s ease}.service-card:hover .service-num{color:hsl(var(--primary) / .28)}.service-icon{width:2.75rem;height:2.75rem;border-radius:.875rem;background:hsl(var(--primary) / .1);color:hsl(var(--primary));display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;transition:background-color .3s ease,color .3s ease,transform .3s ease}.service-card:hover .service-icon{background:var(--gradient-primary);color:#fff;transform:translateY(-2px)}.service-card h3{font-size:1.25rem;line-height:1.75rem;font-weight:700;letter-spacing:-.01em;padding-bottom:1rem;margin-bottom:1.125rem;border-bottom:1px solid hsl(var(--border))}@media (min-width: 768px){.service-card h3{font-size:1.375rem;line-height:1.875rem}}.service-list{display:grid;gap:.875rem}.service-list li{display:grid;grid-template-columns:.75rem 1fr;gap:.625rem;font-size:.875rem;line-height:1.65;color:hsl(var(--muted-foreground))}.service-list li:before{content:"";width:.375rem;height:.375rem;margin-top:.5rem;border-radius:9999px;background:hsl(var(--primary));opacity:.55;transition:opacity .3s ease,transform .3s ease}.service-card:hover .service-list li:before{opacity:1;transform:scale(1.2)}.service-list .kw,.panel strong{font-weight:700;color:hsl(var(--foreground));background-image:linear-gradient(hsl(var(--primary) / .3),hsl(var(--primary) / .3));background-repeat:no-repeat;background-position:0 100%;background-size:0 2px;transition:color .35s ease,text-shadow .35s ease,background-size .5s cubic-bezier(.22,1,.36,1)}.service-card:hover .service-list .kw,.panel:hover strong{color:hsl(var(--primary));text-shadow:0 0 .5px currentColor,0 0 .5px currentColor;background-size:100% 2px}.projects{max-width:64rem;margin-inline:auto;display:grid;gap:2.5rem}.project-card{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:2rem;align-items:center;background:var(--gradient-hero);color:#fff;border-radius:1.25rem;padding:1.75rem;box-shadow:0 24px 60px -30px #22262a8c;transition:box-shadow .3s ease,transform .3s ease}.project-card:after{content:"";position:absolute;z-index:-1;inset:-40% -20% auto auto;width:60%;aspect-ratio:1;background:radial-gradient(circle,hsl(181 45% 55% / .28),transparent 65%)}.project-card:hover{transform:translateY(-4px);box-shadow:0 32px 70px -28px #22262a99}@media (min-width: 768px){.project-card{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);padding:2.5rem;gap:3rem}}.project-cover-link{display:block;transition:transform .35s ease}.project-cover-link:hover{transform:translateY(-6px)}.browser{overflow:hidden;border-radius:.75rem;background:#fff;box-shadow:0 26px 50px -18px #090d11b3}.browser-bar{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#f0f3f4;border-bottom:1px solid hsl(210 16% 90%)}.browser-bar .dot{width:.5rem;height:.5rem;border-radius:9999px;background:#22262a2e}.browser-bar .url{margin-left:.75rem;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-radius:9999px;background:#fff;padding:.1875rem .75rem;font-size:11px;color:#6c757f}.browser img{width:100%}.project-sector{font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:#90d4d5}.project-card h3{font-size:1.625rem;line-height:2.125rem;font-weight:700;margin-top:.625rem}@media (min-width: 768px){.project-card h3{font-size:1.875rem;line-height:2.375rem}}.project-meta{font-size:.875rem;color:#ffffffbd;margin-top:.375rem}.project-summary{color:#fffffff2;line-height:1.7;margin-top:1.125rem}.project-summary .kw{background-image:linear-gradient(#97d7d8d9,#97d7d8d9);background-repeat:no-repeat;background-position:0 100%;background-size:0 2px;transition:color .35s ease,text-shadow .35s ease,background-size .5s cubic-bezier(.22,1,.36,1)}.project-card:hover .project-summary .kw{color:#fff;text-shadow:0 0 .45px #fff,0 0 .45px #fff,0 0 18px hsl(181 45% 60% / .5)}.project-card .tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.project-card .tag{padding:.3125rem .875rem;border-radius:9999px;background:#ffffff0f;border:1px solid hsl(0 0% 100% / .22);font-size:.75rem;line-height:1rem;font-weight:500;color:#ffffffd9;transition:border-color .2s,background-color .2s}.project-card:hover .tag{border-color:#6bc5c78c}.project-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.875rem}@media (min-width: 480px){.project-actions{flex-direction:row}}.project-actions .btn-primary{background:#fff;color:#22262a}.project-actions .btn-primary:hover{opacity:1;background:#e1f3f4}.project-actions .btn-outline{border-color:#ffffff59;color:#fff}.project-actions .btn-outline:hover{background:#ffffff1a}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.tag{padding:.25rem .75rem;border-radius:9999px;background:hsl(var(--secondary));border:1px solid hsl(var(--border));font-size:.75rem;line-height:1rem;font-weight:500;color:hsl(var(--foreground) / .8)}.about{display:grid;gap:4rem}.about-intro{display:grid;gap:3.5rem;align-items:center}@media (min-width: 900px){.about-intro{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4.5rem}}.about-portrait{position:relative;max-width:21rem;width:100%;margin-inline:auto}.about-portrait:before{content:"";position:absolute;top:1.5rem;right:-1.25rem;bottom:-1.5rem;left:1.25rem;background:var(--gradient-primary);border-radius:1.25rem;opacity:.9}.about-portrait img{position:relative;width:100%;aspect-ratio:4 / 5;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;border-radius:1.25rem;box-shadow:0 24px 50px -26px #22262a8c}.about-badge{position:relative;display:grid;gap:.125rem;margin:-2.25rem 0 0 -.75rem;width:-moz-fit-content;width:fit-content;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;padding:.75rem 1.125rem;box-shadow:var(--shadow-card);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.about-badge span{font-family:var(--font-heading);font-size:1rem;font-weight:700;letter-spacing:0;text-transform:none;color:hsl(var(--foreground))}.about-text{display:grid;gap:1.25rem;color:hsl(var(--muted-foreground));line-height:1.75}.about-lead{font-family:var(--font-heading);font-size:1.5rem;line-height:2rem;font-weight:700;color:hsl(var(--foreground));letter-spacing:-.01em}@media (min-width: 768px){.about-lead{font-size:1.75rem;line-height:2.375rem}}.traits{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.traits li{padding:.375rem .875rem;border:1px solid hsl(var(--primary) / .3);border-radius:9999px;font-size:.8125rem;font-weight:500;color:hsl(var(--primary));transition:background-color .25s,color .25s,transform .25s}.traits li:hover{background:hsl(var(--primary));color:var(--on-primary-solid);transform:translateY(-2px)}.panels{display:grid;gap:1.75rem}@media (min-width: 900px){.panels{grid-template-columns:repeat(2,minmax(0,1fr))}}.panel{position:relative;overflow:hidden;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1rem;padding:2rem 1.75rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.panel:before{content:"";position:absolute;top:0;left:0;height:3px;width:0;background:var(--gradient-primary);transition:width .45s cubic-bezier(.22,1,.36,1)}.panel:hover{transform:translateY(-4px);border-color:hsl(var(--primary) / .35);box-shadow:var(--shadow-elevated)}.panel:hover:before{width:100%}.panel-icon{width:2.75rem;height:2.75rem;border-radius:.875rem;background:hsl(var(--primary) / .1);color:hsl(var(--primary));display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;transition:background-color .3s ease,color .3s ease}.panel:hover .panel-icon{background:var(--gradient-primary);color:#fff}.panel h3{font-size:1.25rem;line-height:1.75rem;font-weight:700;padding-bottom:1rem;margin-bottom:1.125rem;border-bottom:1px solid hsl(var(--border))}.panel p{color:hsl(var(--muted-foreground));line-height:1.7;font-size:.9375rem}.panel p+p{margin-top:.875rem}.engagements{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:1.75rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1.25rem;padding:2.25rem 1.75rem 1.75rem;box-shadow:0 22px 55px -30px #22262a73}@media (min-width: 768px){.engagements{padding:2.5rem 2.25rem 2rem}}.engagements:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary)}.engagements:after{content:"";position:absolute;z-index:-1;right:-14%;bottom:-55%;width:26rem;height:26rem;pointer-events:none;background:radial-gradient(circle,hsl(var(--primary) / .12),transparent 68%)}.engagements-title,.journey-title{font-family:var(--font-heading);font-size:1.25rem;line-height:1.3;font-weight:700;letter-spacing:-.01em;color:hsl(var(--foreground));display:flex;align-items:center;gap:.875rem}.engagements-title:before,.journey-title:before{content:"";flex:none;width:1.75rem;height:3px;border-radius:3px;background:var(--gradient-primary)}.engagements ul{display:grid;-moz-column-gap:2.75rem;column-gap:2.75rem}@media (min-width: 640px){.engagements ul{grid-template-columns:repeat(2,minmax(0,1fr))}}.engagements li{display:flex;align-items:center;gap:.875rem;padding:.9375rem .25rem;border-top:1px solid hsl(var(--border));font-size:.9375rem;font-weight:600;color:hsl(var(--foreground));transition:color .25s ease}@media (min-width: 768px){.engagements li{font-size:1rem}}.eng-check{flex:none;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:9999px;background:var(--gradient-primary);color:#fff;box-shadow:0 7px 16px -7px hsl(var(--primary) / .75);transition:transform .35s cubic-bezier(.22,1,.36,1)}.engagements li:hover .eng-check{transform:scale(1.14) rotate(-8deg)}.engagements li:hover{color:hsl(var(--primary))}.figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 0;background:var(--gradient-primary);border-radius:1rem;padding:2.25rem 1.5rem;box-shadow:var(--shadow-elevated)}@media (min-width: 768px){.figures{grid-template-columns:repeat(4,minmax(0,1fr));padding:2.5rem 2rem}}.figures li{display:grid;gap:.375rem;text-align:center;padding-inline:1rem}.figures li+li{border-left:1px solid hsl(0 0% 100% / .25)}@media (max-width: 767px){.figures li:nth-child(odd){border-left:0}}.figure-value{font-family:var(--font-heading);font-size:1.875rem;line-height:1.2;font-weight:700;color:#fff}@media (min-width: 768px){.figure-value{font-size:2.25rem}}.figure-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.12em;color:#fffc;font-weight:600}.journey{display:grid;gap:1.75rem}.journey-line{display:grid;gap:1rem;position:relative}.journey-line li{position:relative;padding-left:2.125rem}.journey-line li:not(:last-child):before{content:"";position:absolute;left:.4375rem;top:1.5rem;bottom:-1.5rem;width:2px;background:hsl(var(--primary) / .35)}.journey-dot{position:absolute;left:0;top:.5rem;z-index:1;width:1rem;height:1rem;border-radius:9999px;background:hsl(var(--section-alt));box-shadow:inset 0 0 0 2px hsl(var(--primary) / .5);transition:background-color .3s ease,box-shadow .3s ease,transform .35s cubic-bezier(.22,1,.36,1)}@media (min-width: 900px){.journey-line{grid-template-columns:repeat(5,minmax(0,1fr));gap:1.25rem;padding-top:2.5rem}.journey-line li:not(:last-child):before{content:none}.journey-line:before{content:"";position:absolute;left:.5rem;right:0;top:.4375rem;height:2px;background:linear-gradient(90deg,hsl(var(--primary) / .2),hsl(var(--primary) / .75) 72%,hsl(var(--primary) / 0) 97%)}.journey-line li{padding-left:0}.journey-dot{top:-2.5rem;left:0}}.journey-card{display:grid;gap:.4375rem;align-content:start;height:100%;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.875rem;padding:1.125rem 1.125rem 1.25rem;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease}.journey-line li:hover .journey-card{transform:translateY(-4px);border-color:hsl(var(--primary) / .35);box-shadow:0 18px 40px -26px #22262a80}.journey-line li:hover .journey-dot{background:hsl(var(--primary));transform:scale(1.15);box-shadow:inset 0 0 0 2px hsl(var(--primary)),0 0 0 5px hsl(var(--primary) / .16)}.journey-year{font-family:var(--font-heading);font-size:1.0625rem;line-height:1.25;font-weight:700;letter-spacing:-.01em;color:hsl(var(--foreground))}.journey-kind{justify-self:start;font-size:.625rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:hsl(var(--primary));background:hsl(var(--primary) / .1);border-radius:9999px;padding:.1875rem .5625rem}.journey-line p{font-size:.875rem;line-height:1.6;color:hsl(var(--muted-foreground))}.journey-line li.is-ongoing .journey-dot{background:hsl(var(--primary));box-shadow:inset 0 0 0 2px hsl(var(--primary))}.journey-line li.is-current .journey-card{background:var(--gradient-primary);border-color:transparent;box-shadow:0 20px 42px -24px hsl(var(--primary) / .85)}.journey-line li.is-current .journey-year{color:#fff}.journey-line li.is-current .journey-kind{color:#fff;background:#ffffff38}.journey-line li.is-current p{color:#ffffffe0}.journey-line li.is-current .journey-dot{background:hsl(var(--primary));box-shadow:inset 0 0 0 2px hsl(var(--primary)),0 0 0 5px hsl(var(--primary) / .18)}.journey-line li.is-current .journey-dot:after{content:"";position:absolute;top:-.375rem;right:-.375rem;bottom:-.375rem;left:-.375rem;border-radius:9999px;border:2px solid hsl(var(--primary) / .5);animation:journey-pulse 2.8s ease-out infinite}@keyframes journey-pulse{0%{transform:scale(.68);opacity:.85}70%,to{transform:scale(1.5);opacity:0}}@media (prefers-reduced-motion: reduce){.journey-line li.is-current .journey-dot:after{animation:none}}.contact-grid{display:grid;gap:3rem;max-width:56rem;margin-inline:auto}@media (min-width: 768px){.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.form{display:grid;gap:1.25rem}.form label.field-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.375rem}.form input[type=text],.form input[type=email],.form textarea{width:100%;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);padding:.625rem 1rem;font-size:.875rem;background:hsl(var(--card));color:hsl(var(--foreground))}.form textarea{resize:none}.form input:focus,.form textarea:focus{outline:none;box-shadow:0 0 0 2px hsl(var(--ring))}.form ::-moz-placeholder{color:hsl(var(--muted-foreground));opacity:1}.form ::placeholder{color:hsl(var(--muted-foreground));opacity:1}.consent{display:flex;align-items:flex-start;gap:.75rem}.consent input{margin-top:.25rem;width:1rem;height:1rem;accent-color:hsl(var(--primary));flex-shrink:0}.consent label{font-size:.75rem;line-height:1.625;color:hsl(var(--muted-foreground))}.consent a{color:hsl(var(--primary));text-decoration:underline}.form-submit{width:100%;padding-block:.75rem;font-size:.875rem}.form-submit:disabled{opacity:.6;cursor:default}.form-error{display:flex;align-items:flex-start;gap:.5rem;background:#fef2f2;border:1px solid #fecaca;border-radius:calc(var(--radius) - 2px);padding:.75rem;font-size:.875rem;color:#b91c1c}.form-success{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.75rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:calc(var(--radius) - 2px);padding:2rem}.form-success .icon{color:#16a34a}.form-success h3{font-size:1.25rem;line-height:1.75rem;font-weight:600;color:#166534}.form-success p{font-size:.875rem;color:#15803d}[hidden]{display:none!important}.contact-info{display:flex;flex-direction:column;justify-content:center;gap:2rem}.contact-info li{display:flex;align-items:center;gap:1rem;font-size:.875rem;color:hsl(var(--muted-foreground))}.contact-info a:hover{color:hsl(var(--primary))}.info-icon{width:2.5rem;height:2.5rem;border-radius:calc(var(--radius) - 2px);background:hsl(var(--secondary));display:flex;align-items:center;justify-content:center;color:hsl(var(--primary));flex-shrink:0}.site-footer{background:var(--gradient-hero);padding-block:3rem}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.footer-logo{height:8rem;width:auto;filter:brightness(0) invert(1)}.footer-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1rem;text-align:center;font-size:.75rem;line-height:1rem;color:#fff9}.footer-meta a[aria-label]{display:inline-flex;width:1.25rem;height:1.25rem;align-items:center;justify-content:center}.footer-meta a:hover{color:#fff}.case{padding:calc(var(--nav-h) + 2.5rem) 0 6rem;background:hsl(var(--background))}@media (min-width: 1280px){.case{padding-top:10.5rem}}.case .container{max-width:64rem}.breadcrumb{font-size:.875rem;color:hsl(var(--muted-foreground));margin-bottom:2rem}.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.breadcrumb a:hover{color:hsl(var(--primary))}.breadcrumb [aria-current]{color:hsl(var(--foreground));font-weight:500}.case-header{display:grid;gap:2.5rem}@media (min-width: 768px){.case-header{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}}.case-kicker{font-size:.875rem;line-height:1.25rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--primary));margin-bottom:.75rem}.case h1{font-size:1.875rem;line-height:1.25;font-weight:700}@media (min-width: 768px){.case h1{font-size:3rem}}.case-summary{margin-top:1.25rem;color:hsl(var(--muted-foreground));line-height:1.625}.case-summary .kw{font-weight:700;color:hsl(var(--foreground))}.case-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem;font-size:.875rem}.case-facts dt{color:hsl(var(--muted-foreground))}.case-facts dd{font-weight:600}.case-facts a{display:inline-flex;align-items:center;gap:.25rem;color:hsl(var(--primary))}.case-facts a:hover{text-decoration:underline}.case .tags{margin-top:3rem}.case .tag{padding:.375rem 1rem;font-size:.875rem;line-height:1.25rem}.case-two{display:grid;gap:2rem;margin-top:4rem}@media (min-width: 768px){.case-two{grid-template-columns:repeat(2,minmax(0,1fr))}}.case h2{font-size:1.5rem;line-height:2rem;font-weight:700;margin-bottom:1rem}.case-text{display:grid;gap:1rem;color:hsl(var(--muted-foreground));line-height:1.625}.case-box{background:hsl(var(--section-alt));border-radius:var(--radius);padding:2rem}.case-list{display:grid;gap:.75rem}.case-list li{display:flex;gap:.75rem;font-size:.875rem;line-height:1.625;color:hsl(var(--foreground) / .8)}.case-list .icon{color:hsl(var(--primary));margin-top:.125rem}.case-section{margin-top:4rem}.case-section>h2{margin-bottom:2rem}@media (min-width: 768px){.case-section>h2,.case-result h2,.case-cta h2{font-size:1.875rem;line-height:2.25rem}}.steps{display:grid;gap:1.5rem}@media (min-width: 768px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}.step{background:hsl(var(--card));border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-card);border:1px solid hsl(var(--border))}.step-num{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:calc(var(--radius) - 2px);background:var(--gradient-primary);color:#fff;font-size:.875rem;font-weight:700;margin-bottom:1rem}.step h3{font-size:1.125rem;line-height:1.75rem;font-weight:600;margin-bottom:.5rem}.step p{font-size:.875rem;line-height:1.625;color:hsl(var(--muted-foreground))}.case-result{margin-top:4rem;background:var(--gradient-hero);border-radius:var(--radius);padding:2rem}@media (min-width: 768px){.case-result{padding:2.5rem}}.case-result h2{color:#fff;margin-bottom:1.5rem}.case-result ul{display:grid;gap:1rem}@media (min-width: 768px){.case-result ul{grid-template-columns:repeat(2,minmax(0,1fr))}}.case-result li{display:flex;gap:.75rem;color:#ffffffe6;line-height:1.625}.case-result .icon{margin-top:.125rem}.case-cta{margin:4rem auto 0;text-align:center;max-width:42rem}.case-cta p{margin-top:1rem;color:hsl(var(--muted-foreground))}.case-cta .hero-actions{margin-top:2rem}.notfound{display:flex;min-height:100vh;align-items:center;justify-content:center;background:hsl(var(--secondary));padding-inline:1rem;text-align:center}.notfound .code{font-family:var(--font-heading);font-size:3rem;line-height:1;font-weight:700;color:hsl(var(--primary));margin-bottom:.5rem}.notfound h1{font-size:1.5rem;line-height:2rem;font-weight:700;margin-bottom:1rem}.notfound p{color:hsl(var(--muted-foreground));margin-bottom:1.5rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease-out,transform .7s ease-out}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.fade-up{animation:none;opacity:1}.reveal,.reveal.is-visible{opacity:1;transform:none;transition:none}.hero-canvas{display:none}*,*:before,*:after{transition-duration:.01ms!important}}.legal-main{padding:calc(var(--nav-h) + 2.5rem) 0 6rem;background:hsl(var(--background))}.legal{max-width:48rem;margin-inline:auto}.legal h1{font-family:var(--font-heading);font-size:2rem;line-height:1.2;font-weight:700;letter-spacing:-.02em;color:hsl(var(--foreground))}@media (min-width: 768px){.legal h1{font-size:2.5rem}}.legal-updated{margin-top:.75rem;font-size:.8125rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:hsl(var(--primary))}.legal-block{margin-top:2.75rem}.legal-block h2{display:flex;align-items:center;gap:.875rem;font-family:var(--font-heading);font-size:1.1875rem;line-height:1.3;font-weight:700;letter-spacing:-.01em;color:hsl(var(--foreground));margin-bottom:1rem}.legal-block h2:before{content:"";flex:none;width:1.5rem;height:3px;border-radius:3px;background:var(--gradient-primary)}.legal-block p{color:hsl(var(--muted-foreground));line-height:1.75;font-size:.9375rem}.legal-block p+p{margin-top:.875rem}.legal-block strong{font-weight:700;color:hsl(var(--foreground))}.legal-block a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px}.legal-list{margin-top:1rem;display:grid;gap:0}.legal-list li{display:grid;gap:.125rem;padding:.8125rem .25rem;border-top:1px solid hsl(var(--border));font-size:.9375rem;line-height:1.6;color:hsl(var(--muted-foreground))}@media (min-width: 600px){.legal-list li{grid-template-columns:14rem 1fr;gap:1.5rem;align-items:baseline}}.legal-list li:last-child{border-bottom:1px solid hsl(var(--border))}.legal-list li>span:first-child{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:hsl(var(--primary))}.footer-meta a:not([aria-label]){color:inherit;text-decoration:none;white-space:nowrap;transition:color .25s ease}.footer-meta a:not([aria-label]):hover{color:#fff;text-decoration:underline}.footer-nav{width:100%;text-align:center}.footer-nav-title{display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#ffffffa6;margin-bottom:.875rem}.footer-nav ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.625rem 1.75rem;list-style:none;margin:0;padding:0}.footer-nav a{font-size:.875rem;color:#ffffffc7;transition:color .25s ease}.footer-nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.footer-nav+.footer-meta{padding-top:1.5rem;border-top:1px solid hsl(0 0% 100% / .14);width:100%}.service-card h3 a{display:inline-block;transition:color .25s ease}.service-card:hover h3 a{color:hsl(var(--primary))}.service-more{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;font-size:.875rem;font-weight:600;color:hsl(var(--primary))}.service-more .icon{transition:transform .3s cubic-bezier(.22,1,.36,1)}.service-card:hover .service-more .icon{transform:translate(4px)}.service-more:hover{text-decoration:underline;text-underline-offset:3px}.service-card{display:flex;flex-direction:column}.service-card .service-list{flex:1 1 auto}@media (min-width: 768px){.services-grid>.service-card:last-child:nth-child(odd){grid-column:1 / -1}}@media (min-width: 1000px){.services-grid>.service-card:last-child:nth-child(odd) .service-list{display:block;-moz-columns:2;columns:2;-moz-column-gap:2.5rem;column-gap:2.5rem}.services-grid>.service-card:last-child:nth-child(odd) .service-list li{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:.875rem}}.svc{padding:calc(var(--nav-h) + 2.5rem) 0 6rem;background:hsl(var(--background))}.svc-inner{max-width:52rem;margin-inline:auto}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8125rem;color:hsl(var(--muted-foreground));margin-bottom:2.5rem}.crumbs a{transition:color .25s ease}.crumbs a:hover{color:hsl(var(--primary));text-decoration:underline}.crumbs .icon{color:hsl(var(--border))}.crumbs [aria-current]{color:hsl(var(--foreground));font-weight:600}.svc-head{padding-bottom:2.5rem;border-bottom:1px solid hsl(var(--border))}.svc-icon{display:flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border-radius:1rem;background:var(--gradient-primary);color:#fff;margin-bottom:1.75rem;box-shadow:0 14px 30px -14px hsl(var(--primary) / .8)}.svc-head h1{font-family:var(--font-heading);font-size:2rem;line-height:1.15;font-weight:700;letter-spacing:-.02em;color:hsl(var(--foreground))}@media (min-width: 768px){.svc-head h1{font-size:2.75rem}}.svc-lead{margin-top:1.5rem;font-family:var(--font-heading);font-size:1.125rem;line-height:1.6;font-weight:400;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.svc-lead{font-size:1.3125rem}}.svc-head .btn{margin-top:2rem}.svc-block{margin-top:3.5rem}.svc-block h2{display:flex;align-items:center;gap:.875rem;font-family:var(--font-heading);font-size:1.375rem;line-height:1.3;font-weight:700;letter-spacing:-.01em;color:hsl(var(--foreground));margin-bottom:1.25rem}@media (min-width: 768px){.svc-block h2{font-size:1.625rem}}.svc-block h2:before{content:"";flex:none;width:1.75rem;height:3px;border-radius:3px;background:var(--gradient-primary)}.svc-block>p{color:hsl(var(--muted-foreground));line-height:1.8;font-size:1rem}.svc-block>p+p{margin-top:1rem}.svc-block>p a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px}.svc-prestations{display:grid;gap:.875rem}@media (min-width: 720px){.svc-prestations{grid-template-columns:repeat(2,minmax(0,1fr))}}.svc-prestations li{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:.875rem;align-items:start;padding:1.125rem 1.25rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.875rem;font-size:.9375rem;line-height:1.6;color:hsl(var(--foreground));transition:border-color .3s ease,transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease}.svc-prestations li:before{content:"";position:absolute;top:0;left:0;height:3px;width:0;background:var(--gradient-primary);transition:width .45s cubic-bezier(.22,1,.36,1)}.svc-prestations li:hover{border-color:hsl(var(--primary) / .35);transform:translateY(-3px);box-shadow:0 16px 36px -26px #22262a80}.svc-prestations li:hover:before{width:100%}.svc-p-num{font-family:var(--font-heading);font-size:.8125rem;font-weight:700;letter-spacing:.04em;color:hsl(var(--primary));padding-top:.0625rem}.svc-block-faq{background:hsl(var(--section-alt));border-radius:1.25rem;padding:2.25rem 1.5rem 2rem;margin-top:4rem}@media (min-width: 768px){.svc-block-faq{padding:2.75rem 2.5rem 2.5rem}}.svc-block-faq .faq-item{border-color:hsl(var(--primary) / .18)}.svc-block-faq .faq-sign{background:hsl(var(--primary) / .16)}.faq{display:grid;gap:0}.faq-item{border-top:1px solid hsl(var(--border))}.faq-item:last-child{border-bottom:1px solid hsl(var(--border))}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.125rem .25rem;cursor:pointer;list-style:none;font-size:1rem;line-height:1.5;font-weight:600;color:hsl(var(--foreground));transition:color .25s ease}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{color:hsl(var(--primary))}.faq-sign{position:relative;flex:none;width:1.5rem;height:1.5rem;border-radius:9999px;background:hsl(var(--primary) / .12);transition:background-color .3s ease,transform .3s ease}.faq-sign:before,.faq-sign:after{content:"";position:absolute;top:50%;left:50%;translate:-50% -50%;background:hsl(var(--primary));border-radius:1px}.faq-sign:before{width:.625rem;height:2px}.faq-sign:after{width:2px;height:.625rem;transition:opacity .25s ease,rotate .3s ease}.faq-item[open] .faq-sign{background:var(--gradient-primary)}.faq-item[open] .faq-sign:before{background:#fff}.faq-item[open] .faq-sign:after{opacity:0;rotate:90deg}.faq-answer{padding:0 .25rem 1.375rem}.faq-answer p{color:hsl(var(--muted-foreground));line-height:1.8;font-size:.9375rem}.svc-shot{margin:3.5rem 0 0}.svc-shot-frame{border-radius:.875rem;overflow:hidden;border:1px solid hsl(var(--border));box-shadow:var(--shot-shadow);background:hsl(var(--background));line-height:0}.svc-shot-frame img{width:100%;height:auto;display:block}.svc-shot figcaption{display:flex;align-items:baseline;gap:.625rem;flex-wrap:wrap;margin-top:.875rem;font-size:.875rem;line-height:1.7;color:hsl(var(--muted-foreground))}.svc-shot-tag{flex:none;font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--tag-fg));background:hsl(var(--section-alt));border-radius:999px;padding:.125rem .5rem;position:relative;top:-1px}.svc-shot-hint{display:none}@media (max-width: 767px){.svc-shot{margin-bottom:0}.svc-shot-frame{border-radius:.625rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.svc-shot-frame img{width:46rem;max-width:none;height:auto}.svc-shot-hint{display:inline-flex;align-items:center;gap:.375rem;margin-top:.5rem;font-size:.75rem;color:hsl(var(--muted-foreground))}.svc-shot-hint:before{content:"";width:1.125rem;height:1px;background:currentColor;opacity:.5}}.svc-related{display:grid;gap:.75rem}@media (min-width: 640px){.svc-related{grid-template-columns:repeat(2,minmax(0,1fr))}}.svc-related-card{display:flex;align-items:center;gap:.875rem;padding:1rem 1.125rem;border:1px solid hsl(var(--border));border-radius:.875rem;background:hsl(var(--card));font-size:.9375rem;font-weight:600;transition:border-color .3s ease,transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease}.svc-related-card:hover{border-color:hsl(var(--primary) / .4);transform:translateY(-3px);box-shadow:0 16px 36px -26px #22262a80}.svc-related-name{flex:1 1 auto}.svc-related-icon{display:flex;align-items:center;justify-content:center;flex:none;width:2.125rem;height:2.125rem;border-radius:.625rem;background:hsl(var(--primary) / .1);color:hsl(var(--primary));transition:background .3s ease,color .3s ease}.svc-related-card:hover .svc-related-icon{background:var(--gradient-primary);color:#fff}.svc-related-card>.icon{color:hsl(var(--primary));transition:transform .3s cubic-bezier(.22,1,.36,1)}.svc-related-card:hover>.icon{transform:translate(4px)}.svc-cta{margin-top:4rem;padding:2.5rem 2rem;border-radius:1.25rem;text-align:center;background:var(--gradient-hero);color:#fff;box-shadow:0 24px 60px -32px #22262ab3}.svc-cta-title{font-family:var(--font-heading);font-size:1.375rem;line-height:1.3;font-weight:700;color:#fff}.svc-cta p:not(.svc-cta-title){margin:.875rem auto 0;max-width:34rem;color:#ffffffd1;line-height:1.7;font-size:.9375rem}.svc-cta .btn{margin-top:1.75rem;background:#fff;color:#22262a}.svc-cta .btn:hover{opacity:1;background:#ffffffe6}.svc-block .projects{margin-top:1.75rem}.svc-block .project-card{grid-template-columns:1fr;padding:1.75rem;gap:1.75rem}@media (min-width: 768px){.svc-block .project-card{padding:2rem}}.svc-block .project-card h3{font-size:1.5rem;line-height:2rem}
