*{box-sizing:border-box;margin:0;padding:0}:root{--card-border: linear-gradient(135deg, var(--logo-cyan), var(--logo-violet) 52%, var(--logo-magenta));--card-surface: #121514;--card-surface-soft: #171a19;--text: var(--style-white);--muted: rgba(255, 252, 225, .78);--icon: var(--style-white);--radius: 8px;--overlay: rgba(14, 16, 15, .82);--ease: cubic-bezier(.22, 1, .36, 1)}html,body{margin:0;padding:0;overflow-x:hidden}body{background-color:var(--style-black);font-family:var(--font-main, "Mori", sans-serif);font-weight:var(--type-weight-regular, 400);letter-spacing:var(--type-tracking, 0);line-height:var(--type-leading-copy, 1.3);color:var(--style-white)}html.is-modal-open{overflow:hidden}body.is-modal-open{position:fixed;width:100%;overflow:hidden;left:0;right:0}body.is-menu-open{position:static;width:100%}html.is-menu-open,body.is-menu-open{overflow:hidden;touch-action:none}#site-content{background-color:var(--style-white)}.hero{--realisations-hero-scale: 1;position:relative;width:100%;min-height:88vh;overflow:hidden;display:flex;align-items:center;padding-bottom:1rem}.hero-inner{width:min(calc(1400px * var(--realisations-hero-scale)),calc(100% - calc(48px * var(--realisations-hero-scale))));margin:0 auto;display:flex;align-items:center;gap:clamp(calc(32px * var(--realisations-hero-scale)),5vw,calc(72px * var(--realisations-hero-scale)))}.left-content{flex:1.25 1 0;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(calc(24px * var(--realisations-hero-scale)),3vw,calc(40px * var(--realisations-hero-scale)))}.title-wrap{width:100%;display:flex;justify-content:flex-start}.title-wrap svg{width:min(calc(650px * var(--realisations-hero-scale)),100%);height:auto;display:block}.title-wrap svg path{fill:transparent;stroke:var(--style-white);stroke-width:.5;stroke-linecap:round;stroke-linejoin:round;pathLength:1000;stroke-dasharray:1000;stroke-dashoffset:1000;animation:draw 4s ease-in-out forwards,fillAnim 2s ease forwards 1.7s}.text{width:100%;max-width:calc(900px * var(--realisations-hero-scale));color:var(--style-white);perspective:500px;text-align:left;opacity:0;font-size:clamp(calc(.95rem * var(--realisations-hero-scale)),1.1vw,calc(1.1rem * var(--realisations-hero-scale)));line-height:1.45}.text .char{display:inline-block;will-change:transform,opacity}.text .word{display:inline-block;white-space:nowrap}.right-visual{flex:.9 1 0;min-width:0;width:100%;max-width:calc(430px * var(--realisations-hero-scale));aspect-ratio:947 / 935;position:relative;display:flex;justify-content:center;align-items:center}.right-visual>svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.right-visual .scene-base{--visual-cyan-soft: #42e6ff;--visual-mint: #55e8c7;--visual-violet-soft: #7d5cff;--visual-violet-deep: #5132d6;--visual-device: #3d2aa8;--visual-device-dark: #2a1d78;--visual-laptop: #e8e1c4;--visual-laptop-edge: #d8d0ae;--visual-magenta-soft: #ff2ab6;--visual-skin: #f1d6b6;--visual-skin-shadow: #d9b493;--visual-ink: #0e100f}.right-visual .scene-base path[fill="#7CFC00"]{fill:var(--visual-mint)}.right-visual .scene-base path[fill="#6C3CFC"]{fill:var(--visual-violet-soft)}.right-visual .scene-base #roue1,.right-visual .scene-base #roue2{fill:var(--visual-violet-deep);opacity:.72}.right-visual .scene-base path[d^="M661.812"],.right-visual .scene-base path[d^="M731.213"],.right-visual .scene-base path[d^="M231.981"]{fill:var(--visual-device)}.right-visual .scene-base path[d^="M643.829"]{fill:var(--visual-device-dark)}.right-visual .scene-base path[d^="M561.102"],.right-visual .scene-base path[d^="M378.951"]{fill:var(--visual-laptop);stroke:var(--visual-laptop-edge)}.right-visual .scene-base path[d^="M473.039"],.right-visual .scene-base path[d^="M415.473"],.right-visual .scene-base path[d^="M566.62"]{fill:var(--visual-skin);stroke:var(--visual-skin-shadow)}.right-visual .scene-base path[d^="M418.82"],.right-visual .scene-base path[d^="M438.507"],.right-visual .scene-base path[d^="M428.602"]{fill:var(--visual-ink);stroke:var(--visual-ink)}.right-visual .scene-base path[d^="M472.297"]{fill:var(--visual-cyan-soft);stroke:var(--visual-cyan-soft)}.right-visual .scene-base path[d^="M381.952"],.right-visual .scene-base path[d^="M637.449"],.right-visual .scene-base path[d^="M598.657"]{fill:var(--visual-violet-soft);stroke:var(--visual-violet-deep)}.right-visual .scene-base path[d^="M558.377"],.right-visual .scene-base path[d^="M387.278"],.right-visual .scene-base path[d^="M286.969"],.right-visual .scene-base path[d^="M661.601"]{stroke:var(--visual-ink)}.right-visual .scene-base path[fill="#FC00A8"]{fill:var(--visual-magenta-soft)}.right-visual .scene-base path[fill="#0CD8FC"]{fill:var(--visual-cyan-soft)}#etoile1,#etoile2,#etoile3,#enveloppe,#avion,#trajet{opacity:0}.svg-curve{fill:none;width:100%;height:auto;display:block;margin-top:-2px;margin-bottom:-1px}.svg-curve path{fill:var(--style-black)}.google-reviews{position:relative;overflow:hidden;background:radial-gradient(ellipse at 34% 34%,rgba(12,216,252,.22),transparent 38%),radial-gradient(ellipse at 50% 72%,rgba(108,60,252,.17),transparent 36%),radial-gradient(ellipse at 68% 56%,rgba(252,0,168,.12),transparent 34%),radial-gradient(ellipse at 38% 78%,rgba(12,216,252,.11),transparent 30%),linear-gradient(180deg,#fffce1fa,#fffce1e0 46%,#fffce1fa),var(--style-white);color:var(--style-black);padding:clamp(78px,8vw,128px) 0 clamp(88px,9vw,140px)}.google-reviews:before,.google-reviews:after{content:"";position:absolute;left:50%;width:min(1120px,92vw);height:1px;transform:translate(-50%);background:linear-gradient(90deg,transparent,rgba(12,216,252,.55),rgba(108,60,252,.45),rgba(252,0,168,.5),transparent);opacity:.52}.google-reviews:before{top:0}.google-reviews:after{bottom:0}.google-reviews-inner{width:min(1180px,calc(100% - 48px));margin:0 auto}.google-reviews-heading{max-width:640px;margin:0 auto clamp(46px,5vw,70px);text-align:center}.google-reviews-kicker{display:inline-flex;margin-bottom:12px;color:var(--logo-cyan);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.google-reviews-heading h2{margin:0;font-size:clamp(2.1rem,4vw,4rem);line-height:1;font-weight:300;letter-spacing:0}.google-reviews-heading p{max-width:560px;margin:18px auto 0;color:#0e100fad;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.55}.google-orbit{--orbit-center-y: 50%;position:relative;min-height:clamp(720px,60vw,780px);isolation:isolate}.google-orbit:before,.google-orbit:after{content:none}.google-orbit-rings{position:absolute;top:4%;right:8%;bottom:4%;left:8%;z-index:0;pointer-events:none}.google-orbit-rings span{--ring-dot-size: 13px;position:absolute;left:50%;top:var(--orbit-center-y);width:min(455px,55vw);aspect-ratio:1.55 / 1;border:1px solid rgba(14,16,15,.29);border-radius:50%;transform:translate(-50%,-50%) rotate(var(--ring-rotate, 0deg));background:transparent;box-shadow:0 0 24px #0e100f0e,inset 0 0 28px #0e100f08;animation:googleOrbitRing 16s linear infinite}.google-orbit-rings span:before{content:"";position:absolute;left:50%;top:var(--ring-dot-top, 0);width:var(--ring-dot-size);height:var(--ring-dot-size);border-radius:50%;background:var(--ring-dot, var(--logo-cyan));box-shadow:0 0 0 5px var(--ring-dot-halo, rgba(12, 216, 252, .1)),0 0 24px currentColor,0 0 42px currentColor;color:var(--ring-dot, var(--logo-cyan));transform:translate(-50%,-50%);-webkit-mask:none;mask:none}.google-orbit-rings span:nth-child(1){--ring-rotate: -18deg;--ring-dot: var(--logo-cyan);--ring-dot-halo: rgba(12, 216, 252, .12);--ring-dot-top: 0;opacity:.82}.google-orbit-rings span:nth-child(2){--ring-rotate: 42deg;--ring-dot: var(--logo-magenta);--ring-dot-top: 100%;width:min(525px,60vw);--ring-dot-size: 12px;--ring-dot-halo: rgba(252, 0, 168, .12);opacity:.68;animation-duration:21s;animation-direction:reverse}.google-orbit-rings span:nth-child(3){--ring-rotate: 68deg;--ring-dot: var(--logo-violet);--ring-dot-top: 0;width:min(390px,50vw);--ring-dot-size: 13px;--ring-dot-halo: rgba(108, 60, 252, .24);opacity:.82;animation-duration:13s}.google-score{--score-scale: 1;position:absolute;left:50%;top:var(--orbit-center-y);z-index:3;width:clamp(170px,18vw,230px);aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transform:translate(-50%,-50%) scale(var(--score-scale));color:var(--style-white);text-decoration:none;border:1px solid transparent;border-radius:50%;background:radial-gradient(circle at 32% 24%,rgba(12,216,252,.28),transparent 34%),radial-gradient(circle at 68% 76%,rgba(252,0,168,.24),transparent 38%),linear-gradient(var(--style-black),var(--style-black)) padding-box,var(--card-border) border-box;box-shadow:0 0 42px #0cd8fc29,0 0 54px #fc00a81a,inset 0 0 0 1px #fffce10f;overflow:hidden;isolation:isolate;transition:transform .42s cubic-bezier(.16,1,.3,1),box-shadow .42s cubic-bezier(.16,1,.3,1),filter .42s cubic-bezier(.16,1,.3,1)}.google-score:before,.google-score:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.google-score:before{z-index:-1;top:-18%;right:-18%;bottom:-18%;left:-18%;background:conic-gradient(from 0deg,#0cd8fc05,#0cd8fc75,#6c3cfc5c,#fc00a87a,#0cd8fc05);opacity:0;transform:rotate(0) scale(.82);transition:opacity .36s ease,transform .72s cubic-bezier(.16,1,.3,1)}.google-score:after{z-index:1;top:9%;right:9%;bottom:9%;left:9%;border:1px solid rgba(255,252,225,.1);background:radial-gradient(circle at 34% 26%,rgba(255,252,225,.13),transparent 28%),radial-gradient(circle at 70% 76%,rgba(252,0,168,.1),transparent 32%);opacity:.52;transition:opacity .36s ease,inset .42s cubic-bezier(.16,1,.3,1),border-color .36s ease}.google-score:hover,.google-score:focus-visible{--score-scale: 1.045;filter:saturate(1.08);box-shadow:0 0 30px #0cd8fc4d,0 0 58px #6c3cfc2e,0 0 70px #fc00a82e,0 28px 70px #0e100f42,inset 0 0 0 1px #fffce124}.google-score:hover:before,.google-score:focus-visible:before{opacity:1;transform:rotate(125deg) scale(1)}.google-score:hover:after,.google-score:focus-visible:after{top:6%;right:6%;bottom:6%;left:6%;opacity:.78;border-color:#fffce133}.google-score>span{position:relative;z-index:2}.google-score-char{display:inline-block;white-space:pre;will-change:transform,opacity}.google-score-value{font-size:clamp(3.6rem,6vw,5.7rem);line-height:.86;font-weight:700;letter-spacing:0}.google-score-stars,.google-review-stars{letter-spacing:.08em;text-shadow:0 0 12px rgba(12,216,252,.3),0 0 18px rgba(252,0,168,.16)}.google-score-stars{--stars-fill: 100%;color:#fffce138;background:linear-gradient(90deg,var(--style-white) var(--stars-fill),rgba(255,252,225,.22) var(--stars-fill));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.google-review-stars{color:var(--style-black)}.google-score-label{color:#fffce1bd;font-size:.84rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.google-review-orbit{--satellite-radius: clamp(222px, 18vw, 258px);position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.google-review-orbit:before,.google-review-orbit:after{content:none}.google-review-card{--review-angle: 90deg;--review-counter-angle: -90deg;--review-hover-y: 0px;--review-hover-scale: 1;--review-radius: clamp(222px, 18vw, 258px);position:absolute;left:50%;top:var(--orbit-center-y);width:min(430px,38vw);min-height:174px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:22px 24px;border:1px solid transparent;border-radius:8px;background:linear-gradient(135deg,#fffce1fa,#fffce1e0) padding-box,linear-gradient(135deg,#0cd8fc9e,#6c3cfc3d 48%,#fc00a894) border-box;box-shadow:0 24px 56px #0e100f38,0 0 0 1px #ffffff6b,inset 0 1px #ffffffa3;color:var(--style-black);text-align:left;transform:translate(-50%,-50%) rotate(var(--review-angle)) translate(var(--review-radius)) rotate(var(--review-counter-angle)) translateY(var(--review-hover-y)) scale(var(--review-scale, .8)) scale(var(--review-hover-scale));opacity:var(--review-opacity, .6);filter:blur(var(--review-blur, 0));z-index:var(--review-z, 1);transition:transform 1.06s cubic-bezier(.18,.9,.2,1),opacity 1.06s cubic-bezier(.18,.9,.2,1),filter 1.06s cubic-bezier(.18,.9,.2,1),border-color .42s ease,box-shadow .42s ease;will-change:transform,opacity,filter}.google-review-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:-1;border-radius:inherit;background:linear-gradient(135deg,#0cd8fc94,#6c3cfc3d,#fc00a87a);opacity:0;transition:opacity .36s ease}.google-review-card:after{content:none}.google-review-card.is-active{--review-scale: 1;--review-opacity: 1;--review-blur: 0px;--review-z: 4;box-shadow:0 34px 82px #0e100f3d,-18px 0 46px #0cd8fc33,18px 0 50px #fc00a82e,0 0 0 1px #ffffff6b,inset 0 1px #ffffffad}.google-review-card.is-active:before{opacity:.28}.google-review-card.is-next,.google-review-card.is-prev{--review-scale: .74;--review-opacity: .78;--review-blur: 0px;--review-z: 2}.google-review-card.is-opposite{--review-scale: .68;--review-opacity: .58;--review-z: 1}.google-review-stars{font-size:.9rem}.google-review-card p{margin:0;color:#0e100fe6;font-size:clamp(.98rem,1.18vw,1.08rem);line-height:1.5}.google-review-card footer{display:flex;align-items:baseline;justify-content:space-between;gap:16px;color:#0e100fad;font-size:.82rem}.google-review-card strong{color:var(--style-black);font-size:.96rem}.google-review-card:hover,.google-review-card:focus-within{--review-hover-y: -8px;--review-hover-scale: 1.018;box-shadow:0 34px 78px #0e100f3d,-14px 0 36px #0cd8fc29,14px 0 40px #fc00a824,0 0 0 1px #ffffff75,inset 0 1px #ffffffb8}.google-review-card:hover:before,.google-review-card:focus-within:before{opacity:.34}.client-trust{position:relative;overflow:hidden;background:radial-gradient(ellipse at 22% 30%,rgba(12,216,252,.18),transparent 34%),radial-gradient(ellipse at 50% 70%,rgba(108,60,252,.12),transparent 34%),radial-gradient(ellipse at 78% 38%,rgba(252,0,168,.11),transparent 32%),linear-gradient(180deg,#fffce1fa,#fffce1eb 58%,#fffce1fa),var(--style-white);color:var(--style-black);padding:clamp(54px,6vw,92px) 0 clamp(86px,8vw,132px)}.client-trust:before{content:"";position:absolute;top:0;left:50%;width:min(1120px,92vw);height:1px;transform:translate(-50%);background:linear-gradient(90deg,transparent,rgba(14,16,15,.16),rgba(14,16,15,.26),rgba(14,16,15,.16),transparent)}.client-trust:after{content:"";position:absolute;left:50%;bottom:18%;width:min(760px,86vw);aspect-ratio:1 / .32;transform:translate(-50%);border-radius:999px;background:linear-gradient(90deg,#0cd8fc29,#6c3cfc1f,#fc00a824);filter:blur(44px);opacity:.76;pointer-events:none}.client-trust-inner{position:relative;z-index:1;width:min(1180px,calc(100% - 48px));margin:0 auto}.client-trust-heading{max-width:980px;margin:0 auto clamp(34px,4vw,54px);text-align:center}.client-trust-kicker{display:inline-flex;margin-bottom:12px;color:var(--logo-magenta);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.client-trust-heading h2{margin:0;font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.04;font-weight:300;letter-spacing:0}.client-trust-heading p{max-width:590px;margin:16px auto 0;color:#0e100fad;font-size:clamp(1rem,1.2vw,1.16rem);line-height:1.55}.client-logo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(18px,2vw,28px)}.client-logo-card{position:relative;min-height:204px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:clamp(22px,2.4vw,32px);border:1px solid rgba(14,16,15,.12);border-radius:var(--radius);background:linear-gradient(135deg,#ffffff85,#fffce1cc),#fffce1d6;box-shadow:0 24px 70px #0e100f1a,inset 0 1px #ffffffd1;isolation:isolate;overflow:hidden;transform:translateY(0);transition:transform .42s var(--ease),border-color .42s var(--ease),box-shadow .42s var(--ease)}.client-logo-link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;border-radius:inherit}.client-logo-link:focus-visible{outline:3px solid var(--logo-cyan);outline-offset:-6px}.client-logo-card.has-site{cursor:pointer}.client-logo-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:-1;border-radius:inherit;background:linear-gradient(135deg,#0cd8fc73,#6c3cfc47,#fc00a86b);opacity:0;transition:opacity .42s var(--ease)}.client-logo-card:after{content:"";position:absolute;top:-42%;left:-74%;width:58%;height:184%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.54),transparent);opacity:0;transition:left .72s var(--ease),opacity .28s ease}.client-logo-frame{width:100%;min-height:96px;display:flex;align-items:center;justify-content:center}.client-logo-frame img{display:block;width:auto;max-width:min(100%,310px);max-height:116px;object-fit:contain;filter:saturate(.96) contrast(1.04);transform:scale(1);transition:transform .42s var(--ease),filter .42s var(--ease)}.client-logo-card.is-cauxfab3d .client-logo-frame img{max-height:150px}.client-logo-card.is-tree-project-it .client-logo-frame img{max-width:min(100%,360px);max-height:122px;border-radius:7px}.client-logo-card.is-ns-experts .client-logo-frame img{max-width:min(100%,330px);max-height:104px}.client-logo-card.is-flitbix .client-logo-frame img{max-width:min(100%,230px);max-height:112px}.client-logo-name{color:#0e100f9e;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.client-logo-card:hover,.client-logo-card:focus-within{transform:translateY(-8px);border-color:#0e100f33;box-shadow:0 34px 82px #0e100f29,-18px 0 44px #0cd8fc24,18px 0 46px #fc00a81f,inset 0 1px #ffffffeb}.client-logo-card:hover:before,.client-logo-card:focus-within:before{opacity:.42}.client-logo-card:hover:after,.client-logo-card:focus-within:after{left:116%;opacity:1}.client-logo-card:hover .client-logo-frame img,.client-logo-card:focus-within .client-logo-frame img{filter:saturate(1.08) contrast(1.08);transform:scale(1.035)}.projects{--projects-scale: 1;background:var(--style-white);color:var(--style-black);position:relative;padding:0;margin:0}.projects-inner{width:min(calc(1400px * var(--projects-scale)),calc(100% - calc(48px * var(--projects-scale))));margin:0 auto;padding-top:clamp(calc(24px * var(--projects-scale)),4vw,calc(48px * var(--projects-scale)));padding-bottom:clamp(calc(70px * var(--projects-scale)),8vw,calc(110px * var(--projects-scale)));text-align:center}.projects h1{margin:0 0 calc(16px * var(--projects-scale));font-size:clamp(calc(2.1rem * var(--projects-scale)),3vw,calc(3.1rem * var(--projects-scale)));line-height:1.1;font-weight:300}.projects>.projects-inner>p{margin:0 auto clamp(calc(42px * var(--projects-scale)),5vw,calc(64px * var(--projects-scale)));max-width:calc(760px * var(--projects-scale));font-size:clamp(calc(1.15rem * var(--projects-scale)),1.4vw,calc(1.35rem * var(--projects-scale)));line-height:1.6;opacity:.75}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(30px * var(--projects-scale));align-items:stretch}.project-card{position:relative;background:linear-gradient(var(--card-surface),var(--card-surface)) padding-box,var(--card-border) border-box;border-radius:var(--radius);overflow:hidden;min-height:calc(560px * var(--projects-scale));display:flex;flex-direction:column;border:2px solid transparent;box-shadow:0 26px 58px #0e100f4d,0 10px 24px #0e100f38,-12px 0 30px #0cd8fc0f,12px 0 34px #fc00a80d,0 0 0 1px #fffce10d,inset 0 1px #fffce11a;transition:transform .9s cubic-bezier(.22,1,.36,1),box-shadow .9s cubic-bezier(.22,1,.36,1);will-change:transform}.project-card:hover{transform:translateY(-10px);box-shadow:0 44px 92px #0e100f75,0 18px 38px #0e100f4d,-18px 0 42px #0cd8fc33,18px 0 48px #fc00a82e,0 0 0 1px #fffce11a,inset 0 1px #fffce129}.project-thumb{position:relative;margin:calc(16px * var(--projects-scale)) calc(16px * var(--projects-scale)) 0;height:calc(215px * var(--projects-scale));border-radius:6px;overflow:hidden;display:block;cursor:zoom-in;background:var(--card-surface-soft);border:1px solid rgba(255,252,225,.12);box-shadow:inset 0 0 0 1px #0e100f75}.project-thumb img{width:100%;height:100%;display:block;object-fit:cover;object-position:top center;transition:transform .72s cubic-bezier(.16,1,.3,1);will-change:transform}.project-card:hover .project-thumb img,.project-thumb:hover img{transform:scale(1.08)}.project-thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 100%,rgba(12,216,252,.18),transparent 34%),radial-gradient(circle at 82% 100%,rgba(252,0,168,.16),transparent 36%),linear-gradient(to bottom,#0e100f05,#0e100f00 34%,#fffce11f,#fffce15c,#fffce19e);pointer-events:none}.project-content{display:flex;flex-direction:column;flex:1;padding:calc(26px * var(--projects-scale)) calc(30px * var(--projects-scale)) calc(26px * var(--projects-scale))}.project-title{margin:0 0 calc(14px * var(--projects-scale));font-size:calc(20px * var(--projects-scale));line-height:1.15;font-weight:700;letter-spacing:0;color:var(--style-white)}.project-category{display:inline-flex;width:fit-content;margin:0 0 calc(12px * var(--projects-scale));padding:calc(5px * var(--projects-scale)) calc(10px * var(--projects-scale));border:1px solid rgba(12,216,252,.28);border-radius:999px;color:var(--logo-cyan);background:#0cd8fc14;font-size:calc(12px * var(--projects-scale));line-height:1;font-weight:700;letter-spacing:.02em}.project-text{margin:0;font-size:calc(17px * var(--projects-scale));line-height:1.48;color:var(--muted);text-align:start}.project-role{margin-top:calc(12px * var(--projects-scale))}.project-role strong{color:var(--style-white)}.project-points{display:grid;gap:calc(8px * var(--projects-scale));margin:calc(16px * var(--projects-scale)) 0 0;padding:0;list-style:none;color:var(--muted);font-size:calc(16px * var(--projects-scale));line-height:1.42;text-align:start}.project-points li{position:relative;padding-left:calc(16px * var(--projects-scale))}.project-points li:before{content:"";position:absolute;left:0;top:.66em;width:calc(6px * var(--projects-scale));height:calc(6px * var(--projects-scale));border-radius:50%;background:linear-gradient(135deg,var(--logo-cyan),var(--logo-magenta));transform:translateY(-50%)}.project-points strong{color:var(--style-white)}.project-footer{display:flex;gap:calc(18px * var(--projects-scale));align-items:center;margin-top:auto;padding-top:calc(22px * var(--projects-scale));flex-wrap:wrap}.project-footer .project-icon{width:calc(42px * var(--projects-scale));height:calc(42px * var(--projects-scale));display:inline-flex;align-items:center;justify-content:center;color:var(--icon);border-radius:50%;background:linear-gradient(var(--card-surface),var(--card-surface)) padding-box,var(--card-border) border-box;border:1px solid transparent;box-shadow:0 0 18px #0cd8fc1a;transition:transform .2s ease,color .2s ease,box-shadow .2s ease}.project-footer .project-icon:hover{transform:translateY(-2px);color:var(--logo-cyan);box-shadow:0 0 16px #0cd8fc38,0 0 18px #fc00a829}.project-footer .project-icon svg{width:calc(22px * var(--projects-scale));height:calc(22px * var(--projects-scale));fill:currentColor;display:block}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);opacity:0;pointer-events:none;transition:opacity .32s ease;z-index:999}.lightbox.open{opacity:1;pointer-events:auto}.lightbox-close{position:fixed;top:18px;left:50%;transform:translate(-50%);width:46px;height:46px;border:1px solid transparent;border-radius:50%;background:linear-gradient(180deg,#fffce114,#fffce105) padding-box,conic-gradient(from 214deg,var(--logo-cyan),var(--logo-violet) 48%,var(--logo-magenta),var(--logo-cyan)) border-box;color:var(--style-white);font-size:24px;line-height:1;cursor:pointer;z-index:1002;opacity:0;pointer-events:none;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 32px #00000057,0 0 18px #0cd8fc29,0 0 28px #fc00a81f,inset 0 0 0 1px #fffce114;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:opacity .2s ease,transform .22s ease,color .22s ease,box-shadow .22s ease,filter .22s ease}.lightbox.open .lightbox-close{opacity:1;pointer-events:auto}.lightbox-close:hover,.lightbox-close:focus-visible{color:var(--style-white);transform:translate(-50%) scale(1.07);filter:saturate(1.12);box-shadow:0 16px 38px #00000061,0 0 22px #0cd8fc47,0 0 34px #fc00a833,inset 0 0 0 1px #fffce124}.lightbox-close:focus-visible{outline:2px solid var(--style-white);outline-offset:5px}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid transparent;border-radius:50%;background:linear-gradient(180deg,#fffce114,#fffce105) padding-box,conic-gradient(from 214deg,var(--logo-cyan),var(--logo-violet) 48%,var(--logo-magenta),var(--logo-cyan)) border-box;color:var(--style-white);font-size:28px;line-height:1;cursor:pointer;z-index:1002;opacity:0;pointer-events:none;box-shadow:0 14px 32px #00000057,0 0 18px #0cd8fc29,0 0 28px #fc00a81f,inset 0 0 0 1px #fffce114;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:opacity .2s ease,transform .22s ease,color .22s ease,box-shadow .22s ease,filter .22s ease;display:flex;align-items:center;justify-content:center}.lightbox.open .lightbox-nav{opacity:1;pointer-events:auto}.lightbox-nav:hover,.lightbox-nav:focus-visible{color:var(--style-white);transform:translateY(-50%) scale(1.07);filter:saturate(1.12);box-shadow:0 16px 38px #00000061,0 0 22px #0cd8fc47,0 0 34px #fc00a833,inset 0 0 0 1px #fffce124}.lightbox-nav:focus-visible{outline:2px solid var(--style-white);outline-offset:5px}.lightbox-prev{left:18px}.lightbox-next{right:18px}.lightbox-stage{position:fixed;z-index:1001;margin:0;display:block;pointer-events:none;overflow:hidden;border-radius:10px;background:transparent;transform-origin:top left;will-change:transform,width,height;backface-visibility:hidden}.lightbox-stage-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;object-fit:contain;object-position:center;will-change:transform;backface-visibility:hidden}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fillAnim{0%{fill:transparent}to{fill:var(--style-white)}}@keyframes googleOrbitRing{to{transform:translate(-50%,-50%) rotate(calc(var(--ring-rotate, 0deg) + 360deg))}}@keyframes googleOrbitGuide{to{transform:translate(-50%,-50%) rotate(calc(var(--orbit-guide-rotate, 0deg) - 360deg))}}@media(max-width:1200px){.page-template-page-realisations .hero{padding-top:clamp(64px,7svh,92px)}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-card{min-height:520px}.client-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.google-review-card{--review-radius: clamp(198px, 20vw, 232px)}}@media(max-width:980px){.client-logo-grid{grid-template-columns:1fr;max-width:620px;margin:0 auto}.client-logo-card{min-height:184px}.client-logo-frame img{max-width:min(100%,340px)}.client-logo-card.is-tree-project-it .client-logo-frame img{max-width:min(100%,420px)}.google-orbit-rings span{width:min(520px,88vw)}.google-orbit-rings span:nth-child(2){width:min(600px,96vw)}.google-orbit-rings span:nth-child(3){width:min(430px,78vw)}}@media(min-width:2200px){.page-template-page-realisations .hero{--realisations-hero-scale: 1.25;min-height:92svh}.projects{--projects-scale: 1.18}}@media(min-width:3400px){.page-template-page-realisations .hero{--realisations-hero-scale: 1.85}.projects{--projects-scale: 1.45}}@media(max-width:640px)and (orientation:portrait){.client-trust{padding:52px 0 82px}.client-trust-inner{width:calc(100% - 24px)}.client-trust-heading{margin-bottom:28px}.client-trust-heading h2{font-size:clamp(2rem,10vw,2.75rem)}.client-logo-grid{gap:16px}.client-logo-card{min-height:162px;padding:20px 18px}.client-logo-frame{min-height:82px}.client-logo-frame img{max-width:min(100%,285px);max-height:94px}.client-logo-card.is-cauxfab3d .client-logo-frame img{max-height:116px}.client-logo-card.is-tree-project-it .client-logo-frame img{max-width:min(100%,322px);max-height:102px}.page-template-page-realisations .hero{height:auto;display:block;min-height:calc(88svh + clamp(78px,9svh,110px))}.hero-inner{flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:32px 0 24px;gap:20px}.left-content{gap:24px}.title-wrap svg{width:min(100%,460px)}.text{font-size:.98rem;line-height:1.6;text-align:left;text-justify:auto}.right-visual{width:min(320px,84vw)}.google-reviews{padding:94px 0 78px}.google-reviews-inner{width:calc(100% - 24px)}.google-reviews-heading{margin-bottom:30px;padding-top:58px}.google-reviews-heading h2{margin-top:36px;font-size:clamp(2rem,10vw,2.72rem)}.google-orbit{--orbit-center-y: 50%;min-height:760px}.google-orbit-rings{top:6%;right:0;bottom:6%;left:0}.google-orbit-rings span{width:min(350px,86vw)}.google-orbit-rings span:nth-child(2){width:min(390px,96vw)}.google-orbit-rings span:nth-child(3){width:min(310px,76vw)}.google-orbit:before{content:none}.google-orbit:after{content:none}.google-score{top:var(--orbit-center-y);width:min(180px,54vw)}.google-review-card{--review-radius: 238px;width:min(100%,340px);min-height:166px;padding:20px}.google-review-orbit{--satellite-radius: 238px}.google-review-card.is-active{--review-scale: 1}.google-review-card.is-next,.google-review-card.is-prev{--review-scale: .68;--review-opacity: .5}.google-review-card.is-opposite{--review-scale: .62;--review-opacity: .46}.projects-inner{width:calc(100% - 24px);padding-top:36px;padding-bottom:56px}.projects h1{margin-bottom:12px}.projects>.projects-inner>p{margin-bottom:36px}.projects-grid{grid-template-columns:1fr;gap:20px}.project-card{min-height:auto;border-radius:var(--radius)}.project-thumb{margin:14px 14px 0;height:210px;border-radius:6px}.project-content{padding:22px 18px 20px}.project-title{margin-bottom:12px;font-size:18px}.project-category{margin-bottom:10px;font-size:12px}.project-text{font-size:16px;line-height:1.5}.project-points{gap:7px;font-size:15px}.project-footer{gap:14px;padding-top:18px}.lightbox-close{top:12px;width:42px;height:42px;font-size:22px}.lightbox-nav{width:42px;height:42px;font-size:24px}.lightbox-prev{left:10px}.lightbox-next{right:10px}}@media(max-width:680px)and (orientation:portrait){.lightbox-close,.lightbox-nav{position:fixed;top:auto;bottom:max(16px,env(safe-area-inset-bottom));width:44px;height:44px;transform:none}.lightbox-close{left:50%;right:auto;transform:translate(-50%)}.lightbox-close:hover,.lightbox-close:focus-visible{transform:translate(-50%) scale(1.07)}.lightbox-prev{left:calc(50% - 84px)}.lightbox-next{right:calc(50% - 84px)}.lightbox-nav:hover,.lightbox-nav:focus-visible{transform:scale(1.07)}}.project-detail-link{display:inline-flex;align-items:center;gap:.45rem;color:var(--style-white);font-weight:var(--type-weight-strong);text-decoration:none;transition:color .25s ease,transform .25s ease}.project-detail-link:hover,.project-detail-link:focus-visible{color:var(--logo-cyan);transform:translateY(-2px)}.project-thumb--detail{cursor:pointer}
