@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#111413;--fg:#f1f2e9;--muted:#969c93;--acid:#d7ff64;--line:#343a32}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--bg);color:var(--fg);font:16px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}header{height:100px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:2}.logo{font:600 25px 'Space Grotesk',sans-serif;letter-spacing:-1px}.symbol{color:var(--acid);font-size:40px;vertical-align:middle;margin-right:10px}.muted{color:var(--muted)}nav{display:flex;gap:35px;font-size:13px;align-items:center}.nav-contact{border:1px solid #66705b;padding:13px 20px;border-radius:30px}a:hover{color:var(--acid)}a:focus-visible,button:focus-visible{outline:2px solid var(--acid);outline-offset:6px}.hero{min-height:780px;position:relative;padding:65px 5% 0;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600}.dot{display:inline-block;background:var(--acid);border-radius:50%;width:7px;height:7px;margin-right:12px}h1,h2,h3{font-family:'Space Grotesk',sans-serif;font-weight:500;letter-spacing:-.06em;margin:0}h1{font-size:clamp(70px,8.5vw,136px);line-height:1.02;margin-top:45px;position:relative;z-index:1;max-width:850px}em{font-family:Georgia,serif;font-weight:400;color:var(--acid)}.hero-bottom{display:flex;gap:60px;align-items:center;margin-top:40px;position:relative;z-index:1}.hero-bottom p{max-width:360px;font-size:14px;line-height:1.8;color:#bcc2b5}.round-link{font-size:12px;display:flex;gap:22px;align-items:center}.round-link span{border:1px solid #60694f;border-radius:50%;padding:18px;font-size:21px}.hero-foot{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:22px}.orbital{position:absolute;width:520px;height:520px;right:-10px;top:80px;opacity:.9;perspective:700px;background:radial-gradient(ellipse,#75943822,transparent 65%)}.ring{position:absolute;border:1px solid #a8ca655f;border-radius:50%;inset:45px;transform:rotate(-30deg) rotateX(48deg);box-shadow:0 0 25px #b5f36008}.r2{transform:rotate(40deg) rotateX(56deg);inset:10px}.r3{transform:rotate(-85deg) rotateX(52deg);inset:70px;border-color:#d7ff6490}.core{position:absolute;inset:177px;display:grid;place-content:center;border-radius:50%;font:100px Georgia;color:var(--acid);background:radial-gradient(circle at 35% 30%,#4b5e35,#18211a 70%);box-shadow:0 0 80px #b0ee3b20,inset -10px -10px 40px #0008}.core span{position:absolute;font-size:24px;right:35px;bottom:30px}.orb-label{font-size:8px;letter-spacing:1px;position:absolute;color:#c4d0ac;background:var(--bg);padding:8px}.l1{top:80px;left:68px}.l2{right:12px;top:190px}.l3{bottom:54px;right:80px}.l4{left:12px;bottom:140px}.orbit-point{position:absolute;width:10px;height:10px;background:var(--acid);box-shadow:0 0 20px #d7ff6490;border-radius:50%}.p1{top:120px;right:100px}.p2{bottom:110px;left:85px}.p3{top:270px;right:30px}.intro{padding:100px 7% 65px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.intro>.eyebrow{grid-column:1/-1;color:var(--acid)}h2{font-size:clamp(40px,4.7vw,68px);line-height:1.1}.intro p{max-width:430px;line-height:1.9;color:var(--muted);align-self:end;font-size:15px;justify-self:end}.services{padding:0 7% 100px}.service{display:grid;grid-template-columns:60px 1fr 220px 40px;gap:25px;padding:52px 0;border-top:1px solid var(--line);transition:background .3s}.service:hover{color:var(--fg);background:#d7ff6405}.num{color:var(--acid);font:13px 'Space Grotesk';padding-top:4px}.tag{color:var(--muted);font-size:9px;letter-spacing:1.5px}.service h3{font-size:40px;line-height:1.13;margin:18px 0}.service p{max-width:520px;font-size:14px;color:var(--muted);line-height:1.8}.chips{font-size:10px;color:#c6ceba;display:block;margin-top:25px}.arrow{font-size:28px;color:var(--acid)}.mini{align-self:center;justify-self:center;color:var(--acid)}.molecule{font-size:160px;font-weight:100;line-height:1;transition:transform 1s}.service:hover .molecule{transform:rotate(90deg)}.compass{border:1px solid #788555;width:140px;height:140px;border-radius:50%;display:grid;place-content:center;font-size:90px}.brackets{font:90px Georgia;letter-spacing:-12px}.bars{display:flex;align-items:end;gap:9px;height:120px}.bars i{display:block;width:17px;background:var(--acid);height:35%}.bars i:nth-child(2){height:62%;opacity:.5}.bars i:nth-child(3){height:49%;opacity:.7}.bars i:nth-child(4){height:85%;opacity:.8}.bars i:nth-child(5){height:100%}.approach{background:#e7e9dd;color:#20261c;padding:90px 7%;display:grid;grid-template-columns:1fr 1fr;gap:80px}.approach h2{margin-top:35px}.approach em{color:#657832}.steps article{border-top:1px solid #bdc2b2;padding:25px 0}.steps article>span{font-size:9px;letter-spacing:1.5px;color:#6b745c}.steps h3{font-size:23px;letter-spacing:-.035em;margin-top:16px}.steps p{font-size:13px;line-height:1.8;color:#66705a;max-width:380px}.cta{text-align:center;padding:110px 5%;background:radial-gradient(ellipse at bottom,#36471d66,transparent 65%)}.cta .eyebrow{color:var(--muted)}.cta h2{margin:35px 0}.button{background:var(--acid);color:#1a2112;border:0;display:inline-flex;gap:55px;padding:19px 25px;border-radius:40px;font:500 14px 'DM Sans';cursor:pointer}.button:hover{background:#e8ffb0;color:#111}footer{margin:0 5%;border-top:1px solid var(--line);padding:35px 0;display:flex;gap:25px;align-items:center;justify-content:space-between}footer .logo{font-size:20px}footer>span,footer>small,footer>a:not(.logo){font-size:10px;color:var(--muted)}.contact-main{padding:65px 7% 100px}.contact-main h1{font-size:clamp(60px,7vw,100px);margin-top:30px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:65px}.contact-copy p{max-width:330px;color:var(--muted);line-height:1.9}.contact-note{margin-top:50px;border-left:2px solid var(--acid);padding-left:20px;font-size:13px;max-width:350px;color:#c6ceba}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:11px;letter-spacing:.5px;margin-bottom:22px}input,select,textarea{display:block;width:100%;margin-top:12px;background:#1a2019;color:var(--fg);border:1px solid #414b37;border-radius:4px;padding:14px;font:14px 'DM Sans'}textarea{resize:vertical;min-height:130px}input:focus,select:focus,textarea:focus{outline:1px solid var(--acid)}.form-help{font-size:11px;line-height:1.7;color:var(--muted)}#draft{white-space:pre-wrap;background:#1a2019;padding:20px;border:1px solid var(--line);font:13px 'DM Sans';line-height:1.7}#form-result[hidden]{display:none}.status{color:var(--acid);font-size:13px}
@media(min-width:1450px){.orbital{right:5%}}@media(max-width:1000px){.orbital{right:-150px;opacity:.55}.hero-bottom{gap:25px}.service{grid-template-columns:35px 1fr 130px 25px;gap:15px}.mini{transform:scale(.75)}.contact-layout{gap:40px}}@media(max-width:700px){header{height:82px}.logo{font-size:20px}.symbol{font-size:30px}nav{gap:15px}nav>a:not(.nav-contact){display:none}.nav-contact{font-size:10px;padding:10px 12px}.hero{min-height:830px;padding-top:40px}.eyebrow{font-size:8px;letter-spacing:1.2px}h1{font-size:66px;margin-top:35px}.orbital{width:400px;height:400px;top:330px;right:-90px;opacity:.65}.core{inset:135px;font-size:80px}.hero-bottom{display:block;margin-top:25px}.hero-bottom p{max-width:280px;font-size:13px}.round-link{margin-top:25px;width:max-content}.round-link span{padding:12px}.hero-foot>span:last-child{display:none}.intro{padding:65px 6% 35px;grid-template-columns:1fr}.intro p{justify-self:start}.services{padding:0 6% 55px}.service{grid-template-columns:24px 1fr 20px;gap:12px;padding:35px 0}.service h3{font-size:30px}.service p{font-size:13px}.service .mini{display:none}.service .arrow{grid-column:3;grid-row:1}.chips{font-size:9px;line-height:1.8}.approach{grid-template-columns:1fr;gap:40px;padding:60px 6%}.cta{padding:75px 6%}footer{flex-wrap:wrap;gap:22px}footer>span{width:100%;order:3}.contact-main{padding:45px 6% 60px}.contact-main h1{font-size:59px}.contact-layout{grid-template-columns:1fr;gap:30px;margin-top:30px}.contact-note{margin-top:25px}.form-row{grid-template-columns:1fr;gap:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Direction institutionnelle */
:root{--bg:#fff;--fg:#172b40;--muted:#65717d;--acid:#245a83;--line:#dce1e5}body{font-family:'DM Sans',Arial,sans-serif}header{max-width:1320px;margin:auto;padding:0 5%}.logo{font-family:inherit;letter-spacing:-1px}.symbol{display:inline-grid;place-items:center;width:35px;height:35px;background:#172b40;color:white;font:29px Georgia;line-height:1}.nav-contact{border:1px solid var(--line);border-radius:2px}h1,h2,h3{font-family:inherit;font-weight:500;letter-spacing:-.045em}em{font-family:inherit;font-style:normal;font-weight:500}.hero{max-width:1320px;margin:auto;min-height:0;padding:85px 5%;display:grid;grid-template-columns:1.6fr 1fr;gap:65px;align-items:center;overflow:visible}h1{font-size:clamp(43px,4.7vw,67px);line-height:1.13;margin:26px 0}.hero-description{font-size:16px;line-height:1.85;color:var(--muted);max-width:530px}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:32px}.button{background:#172b40;color:#fff;border-radius:2px;padding:15px 22px;gap:30px;font-size:13px}.button:hover{background:#245a83;color:#fff}.text-link{font-size:12px;border-bottom:1px solid var(--line);padding:8px 0}.hero-aside{background:#f3f5f5;border-top:3px solid var(--acid);padding:30px}.aside-heading{font-size:9px;letter-spacing:1.2px;color:var(--muted);display:block;margin-bottom:20px}.hero-aside>a{display:flex;gap:15px;border-bottom:1px solid var(--line);padding:20px 0;font-size:14px}.hero-aside>a>span{color:var(--muted);font-size:10px;padding-top:4px}.hero-aside b{margin-left:auto;font-weight:400}.hero-aside p{font-size:12px;color:var(--muted);margin:25px 0 0}.eyebrow{color:var(--acid);letter-spacing:1.2px}.intro{background:#f3f5f5;padding:65px 7%}.intro h2{font-size:clamp(32px,3vw,44px)}.intro p{font-size:14px;line-height:1.85}.services{padding-top:15px;padding-bottom:65px}.service{grid-template-columns:45px 1fr 30px;padding:35px 0;gap:20px}.service:hover{background:#f7f9fb}.service h3{font-size:28px;margin:13px 0}.service p{max-width:750px}.service .mini{display:none}.chips{color:var(--acid);font-size:11px;margin-top:18px}.tag{letter-spacing:1px}.arrow{font-size:22px}.approach{background:#f3f5f5;color:var(--fg);padding:65px 7%}.approach h2{font-size:40px}.approach em{color:var(--acid)}.steps article{border-color:#ccd4db}.steps article>span{color:var(--acid)}.steps h3{font-size:21px}.steps p{color:var(--muted)}.cta{background:#fff;text-align:left;padding:70px 7%;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.cta .eyebrow{grid-column:1/-1}.cta h2{font-size:40px;margin:0}.cta .button{height:max-content}footer .logo{font-family:inherit}footer>span,footer>small,footer>a:not(.logo){font-size:11px}.contact-main h1{font-size:62px}.contact-main{max-width:1320px;margin:auto}.contact-note{color:var(--muted)}input,select,textarea{background:#fff;color:var(--fg);border:1px solid #cbd3d9;border-radius:2px}#draft{background:#f3f5f5}.form-help{color:var(--muted)}
@media(max-width:1000px){.hero{gap:30px}.hero-aside{padding:20px}.hero-aside>a{font-size:12px;gap:10px}}@media(max-width:700px){header{height:82px}.symbol{width:28px;height:28px;font-size:24px;margin-right:6px}.hero{display:grid;grid-template-columns:1fr;min-height:0;padding:45px 5%;gap:30px}h1{font-size:43px;margin-top:20px}.hero-description{font-size:14px}.hero-actions{gap:17px;margin-top:25px}.hero-aside>a{font-size:14px;padding:15px 0}.intro{padding:45px 6%}.service{grid-template-columns:25px 1fr 20px;gap:12px;padding:30px 0}.service h3{font-size:24px}.service .arrow{grid-column:3;grid-row:1}.service p{font-size:13px}.chips{font-size:10px}.approach{padding:45px 6%}.approach h2{font-size:32px}.cta{padding:45px 6%;grid-template-columns:1fr}.cta h2{font-size:33px}.cta .button{justify-self:start}.contact-main h1{font-size:43px}.contact-main{padding-top:40px}}

/* Palette ardoise et cas d’usage */
:root{--bg:#18212b;--fg:#e9edf2;--muted:#a6b2c0;--acid:#8fb7d8;--line:#354352}body{background:var(--bg);color:var(--fg)}header{border-color:var(--line)}.symbol{background:#a9c5dd;color:#17212c}.hero-aside,.intro,.approach{background:#202c39}.hero-aside{border-top-color:#8fb7d8}.button{background:#b4cfe4;color:#14212e}.button:hover{background:#d4e4f0;color:#14212e}.service:hover{background:#202c39;color:var(--fg)}.approach{color:var(--fg)}.steps article{border-color:var(--line)}.cta{background:var(--bg)}input,select,textarea{background:#202c39;color:var(--fg);border-color:#4b5d70}#draft{background:#202c39}.projects{padding:75px 7%;background:#131c25;scroll-margin-top:30px}.projects-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end;margin-bottom:40px}.projects-heading h2{font-size:38px;margin-top:20px}.projects-heading>p{font-size:12px;color:var(--muted);line-height:1.85;max-width:410px;margin:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.project{background:#1d2935;border:1px solid #354352;overflow:hidden}.project-visual{height:275px;background:#253545;position:relative;overflow:hidden;padding:28px}.visual-caption{position:absolute;bottom:16px;left:25px;color:#9db3c6;font-size:8px;letter-spacing:1.4px}.visual-label{position:absolute;top:22px;left:25px;font-size:10px;color:#afbdca}.project-body{padding:30px}.project-type{font-size:9px;letter-spacing:1.1px;color:#a2bfd5}.project h3{font-size:25px;line-height:1.25;margin:14px 0 18px}.project p{font-size:13px;line-height:1.85;color:#bac5d0}.project dl{border-top:1px solid var(--line);padding-top:18px;margin:20px 0 25px}.project dt{font-size:11px;font-weight:600;margin-top:15px;color:#d9e3ec}.project dd{margin:5px 0 0;font-size:12px;color:#aab8c6;line-height:1.8}.project-body>a{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;font-size:12px;color:#b4cfe4}.model-visual{background:repeating-linear-gradient(0deg,transparent,transparent 29px,#8aaac00b 30px),repeating-linear-gradient(90deg,#253545,#253545 29px,#8aaac022 30px)}.wire-cube{width:100px;height:100px;border:2px solid #bdd3e4;position:absolute;left:calc(50% - 65px);top:90px;transform:skewY(-15deg)}.wire-cube:before{content:'';position:absolute;width:100px;height:40px;border:2px solid #a2c1d8;left:18px;top:-43px;transform:skewX(-45deg)}.wire-cube:after{content:'';position:absolute;right:-43px;top:-23px;width:38px;height:100px;border:2px solid #a2c1d8;transform:skewY(-45deg)}.wire-cube i{display:block;width:40px;height:40px;border:1px solid #91aec4;border-radius:50%;margin:28px}.process-visual{padding:25px 55px 40px}.process-step{padding:12px 15px;background:#1b2937;border:1px solid #506479;font-size:11px;display:flex;justify-content:space-between}.process-step span{font-size:9px;color:#8fa9bf}.active-step{background:#354e63;border-color:#9cb9cf}.process-line{height:17px;border-left:1px solid #8ca8bc;width:1px;margin:auto}.mock-window{border:1px solid #62758a;background:#1a2733;transform:rotate(-2deg);margin-top:10px}.mock-top{padding:12px;border-bottom:1px solid #3d5062;font-size:9px;color:#b0c7d9;display:flex;justify-content:space-between}.mock-top span{font-size:8px;color:#8ea1b3}.mock-content{display:flex;gap:20px;padding:17px}.mock-nav{font-size:9px;line-height:3;color:#99afc1;border-right:1px solid #3d5062;padding-right:15px}.mock-main{flex:1;font-size:10px}.mock-main strong{font-weight:500}.mock-progress{background:#35495b;height:4px;margin:13px 0}.mock-progress i{display:block;width:60%;height:4px;background:#9dc0db}.mock-task{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid #344657;font-size:9px}.mock-task span{color:#a8c0d2;font-size:8px}.dashboard-top{font-size:9px;letter-spacing:1px;display:flex;justify-content:space-between}.dashboard-top span{letter-spacing:0;color:#a2b5c7;font-size:8px}.demo-metrics{display:flex;gap:40px;margin:17px 0}.demo-metrics small{display:block;font-size:9px;color:#a7bacb}.demo-metrics strong{font-size:24px;font-weight:400}.demo-chart{height:65px;display:flex;gap:9px;align-items:end;border-bottom:1px solid #6d8294}.demo-chart i{flex:1;background:#85aac6;height:35%}.demo-chart i:nth-child(2n){height:55%;background:#5d829f}.demo-chart i:nth-child(3n){height:75%}.demo-chart i:nth-child(5n){height:95%}.demo-insight{font-size:8px;margin-top:12px;color:#b9cedf}.hero-actions .text-link{color:#c4d5e3}.intro h2 .muted{color:#a6b2c0}
@media(max-width:1000px){nav{gap:15px}nav a{font-size:11px}.projects-heading{gap:35px}.project-visual{padding:22px}.process-visual{padding:25px 30px 40px}.project-body{padding:24px}.mock-content{gap:12px}.mock-nav{padding-right:10px}}@media(max-width:700px){.projects{padding:45px 6%}.projects-heading{grid-template-columns:1fr;gap:20px;margin-bottom:25px}.projects-heading h2{font-size:30px}.project-grid{grid-template-columns:1fr;gap:25px}.project h3{font-size:24px}.project-visual{height:260px}.project-body{padding:25px}.process-visual{padding:25px 35px 40px}.demo-metrics{gap:35px}}
