*{box-sizing:border-box}html{scroll-behavior:auto;scroll-snap-type:none!important}body{margin:0;scroll-snap-type:none!important;overscroll-behavior-y:auto;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}main{display:flex;flex-direction:column;min-width:0;scroll-snap-type:none!important}.section,.hero,.page-hero,.stats-strip{scroll-snap-align:none!important;scroll-snap-stop:normal!important}.container{width:min(calc(100% - 40px),var(--max-width));margin:auto}.narrow{max-width:880px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:99}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.08em}.brand-mark{width:33px;height:33px;position:relative;display:inline-block;flex:0 0 auto}.brand-mark.logo-image{width:42px;height:42px;border-radius:12px;overflow:hidden}.brand-mark.logo-image img{width:100%;height:100%;object-fit:contain;display:block}.brand-mark.logo-image:before,.brand-mark.logo-image:after,.brand-mark.logo-image i,.brand-mark.logo-image b{display:none!important}.brand-mark:before,.brand-mark:after,.brand-mark i,.brand-mark b{content:"";position:absolute;background:var(--primary)}.brand-mark:before{width:7px;height:33px;left:0;top:0}.brand-mark:after{width:7px;height:33px;right:0;top:0}.brand-mark i{height:7px;width:27px;left:3px;top:4px;transform:rotate(47deg)}.brand-mark b{width:9px;height:9px;right:5px;bottom:2px;background:var(--accent)}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-text small{font-size:9px;font-weight:600;letter-spacing:.06em;color:var(--muted);margin-top:6px}.main-nav{display:flex;align-items:center;gap:5px}.main-nav a{padding:10px 13px;border-radius:12px;font-size:14px;font-weight:700;color:var(--muted)}.main-nav a:hover,.main-nav a.active{color:var(--text);background:color-mix(in srgb,var(--line) 38%,transparent)}.main-nav .nav-cta{margin-left:10px;color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 35%,transparent)}.main-nav .nav-cta:hover{background:var(--primary);color:white}.menu-toggle{display:none;background:none;border:0;width:42px;height:42px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--text);margin:7px auto}.section{padding:96px 0}.section-dark{background:var(--primary);color:white}.hero{position:relative;overflow:hidden;padding:100px 0 86px}.blueprint-grid{position:absolute;inset:0;opacity:.11;background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(to right,transparent,black 45%,black)}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:70px;position:relative}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.18em;color:var(--accent);margin-bottom:18px}.eyebrow.dark{color:color-mix(in srgb,var(--primary) 65%,var(--accent))}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand-text{font-family:var(--font-heading)}.hero h1,.page-hero h1{font-size:clamp(44px,6vw,78px);line-height:1.02;letter-spacing:-.05em;margin-bottom:26px;max-width:870px}.hero-teaser{font-size:clamp(20px,2.2vw,27px);line-height:1.35;color:rgba(255,255,255,.92);max-width:760px}.hero-text,.page-hero>div>p:last-child{color:rgba(255,255,255,.68);font-size:16px;max-width:700px}.hero-actions{display:flex;gap:12px;margin:34px 0 30px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:12px;font-weight:800;font-size:14px;border:1px solid transparent;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-accent{background:var(--accent);color:#18202a}.btn-ghost{border-color:rgba(255,255,255,.24);color:white;background:rgba(255,255,255,.05)}.btn-primary{background:var(--primary);color:white}.proof-line{font-size:12px;font-weight:800;letter-spacing:.08em;color:rgba(255,255,255,.58)}.hero-visual{position:relative}.hero-frame{border-radius:calc(var(--radius) + 8px);overflow:hidden;border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 70px rgba(0,0,0,.23);background:#12283d}.hero-frame img{width:100%;aspect-ratio:1/1;object-fit:cover}.floating-card{position:absolute;left:-34px;bottom:48px;background:var(--surface);color:var(--text);border-radius:14px;padding:12px 16px;display:grid;grid-template-columns:auto 1fr;gap:0 10px;box-shadow:0 18px 40px rgba(0,0,0,.18);min-width:205px}.floating-card.second{left:auto;right:-24px;bottom:auto;top:44px}.floating-card span{grid-row:1/3;font-size:11px;font-weight:900;color:var(--accent);padding-right:6px}.floating-card strong{font-size:13px}.floating-card small{font-size:11px;color:var(--muted)}.stats-strip{background:var(--surface);border-bottom:1px solid var(--line)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat{padding:28px 20px;border-right:1px solid var(--line)}.stat:first-child{padding-left:0}.stat:last-child{border-right:0}.stat strong{display:block;font-size:26px;line-height:1.1;letter-spacing:-.04em}.stat span{font-size:12px;color:var(--muted)}.section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end;margin-bottom:42px}.section-head.compact{grid-template-columns:1fr}.section-head h2,.cta-band h2{font-size:clamp(32px,4vw,52px);line-height:1.07;letter-spacing:-.04em;margin-bottom:0;max-width:780px}.section-head p{color:var(--muted);font-size:17px;margin-bottom:5px}.service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.service-card{padding:35px 32px 35px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:56px 1fr;gap:18px}.service-card:nth-child(odd){border-right:1px solid var(--line)}.service-card:nth-child(even){padding-left:34px}.service-number{font-size:12px;font-weight:900;color:var(--accent);padding-top:7px}.service-card h3{font-size:25px;letter-spacing:-.03em;margin-bottom:8px}.service-card p{color:var(--muted);max-width:520px}.deliverables{font-size:12px;font-weight:800;letter-spacing:.06em;margin:18px 0}.text-link{font-size:14px;font-weight:850;display:inline-flex;gap:10px;align-items:center}.text-link span{transition:.2s}.text-link:hover span{transform:translateX(4px)}.method-section{background:color-mix(in srgb,var(--surface) 55%,var(--bg))}.method-track{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}.method-step{padding:28px 22px 0 0;position:relative}.method-step:before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--accent)}.method-step span{font-size:11px;font-weight:900;color:var(--muted)}.method-step h3{font-size:19px;margin:18px 0 9px}.method-step p{font-size:14px;color:var(--muted);padding-right:12px}.projects-preview{overflow:hidden}.section-head.light p{color:rgba(255,255,255,.65)}.carousel{position:relative}.carousel-track{display:flex;gap:20px;overflow:auto;scroll-snap-type:x proximity;scrollbar-width:none}.carousel-track::-webkit-scrollbar{display:none}.project-slide{min-width:min(72vw,720px);position:relative;border-radius:var(--radius);overflow:hidden;scroll-snap-align:start;background:#0c1a28}.project-slide img{width:100%;aspect-ratio:16/9;object-fit:cover;opacity:.82;transition:.35s}.project-slide:hover img{transform:scale(1.015);opacity:1}.slide-copy{position:absolute;inset:auto 0 0;padding:80px 30px 26px;background:linear-gradient(transparent,rgba(4,12,21,.86))}.slide-copy span{font-size:12px;color:rgba(255,255,255,.68)}.slide-copy h3{font-size:30px;margin:5px 0 0}.carousel-btn{position:absolute;z-index:4;top:45%;width:46px;height:46px;border:0;border-radius:50%;background:var(--surface);color:var(--text);box-shadow:0 10px 30px rgba(0,0,0,.2);cursor:pointer}.carousel-btn.prev{left:-22px}.carousel-btn.next{right:-22px}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.trust-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.check{display:flex;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--accent) 16%,white);color:#8b6200;align-items:center;justify-content:center;font-weight:900;margin-bottom:26px}.trust-card h3{font-size:18px;margin-bottom:8px}.trust-card p{font-size:14px;color:var(--muted);margin-bottom:0}.cta-band{margin-top:56px;border-radius:calc(var(--radius) + 4px);background:var(--primary);color:#fff;padding:36px 42px;display:flex;justify-content:space-between;align-items:center;gap:32px}.cta-band span{color:rgba(255,255,255,.65);font-size:13px}.cta-band h2{font-size:30px;margin-top:5px}.page-hero{padding:92px 0}.page-hero h1{font-size:clamp(46px,6vw,72px)}.service-list{display:flex;flex-direction:column;gap:90px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.service-detail:nth-child(even) .service-media{order:2}.service-media{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) + 5px);overflow:hidden}.service-media img{aspect-ratio:4/3;object-fit:cover}.big-index{display:block;font-size:13px;font-weight:900;color:var(--accent);margin-bottom:14px}.service-detail-copy h2{font-size:40px;line-height:1.1;letter-spacing:-.04em}.lead{font-size:19px;color:var(--text)}.service-detail-copy>p:not(.lead){color:var(--muted)}.deliverable-box{margin:26px 0;padding:18px 20px;border-left:3px solid var(--accent);background:var(--surface)}.deliverable-box small,.deliverable-box strong{display:block}.deliverable-box small{font-size:11px;color:var(--muted)}.compact-section{padding-top:0}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filter-row button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:9px 15px;font-size:13px;cursor:pointer}.filter-row button.active{background:var(--primary);color:white;border-color:var(--primary)}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.2s}.project-card:hover{transform:translateY(-3px);box-shadow:0 20px 45px rgba(12,31,51,.08)}.project-card.is-hidden{display:none}.project-cover{position:relative}.project-cover img{width:100%;aspect-ratio:16/10;object-fit:cover}.project-cover span{position:absolute;left:18px;top:18px;background:rgba(11,31,51,.9);color:white;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800}.project-body{padding:24px}.project-body h2{font-size:27px;letter-spacing:-.03em}.project-body p{color:var(--muted)}.project-body dl{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:18px 0;margin:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-body dt{font-size:10px;text-transform:uppercase;color:var(--muted)}.project-body dd{margin:4px 0 0;font-size:12px;font-weight:800}.project-hero-grid,.about-hero-grid{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:center}.project-hero-grid img,.about-hero-grid img{border-radius:var(--radius);border:1px solid rgba(255,255,255,.16)}.project-case{display:grid;grid-template-columns:1fr 380px;gap:90px}.case-main h2{font-size:40px}.case-main p{font-size:18px;color:var(--muted);max-width:700px}.case-main .btn{margin-top:18px}.case-facts{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px 26px}.case-facts div{padding:17px 0;border-bottom:1px solid var(--line)}.case-facts div:last-child{border:0}.case-facts small,.case-facts strong{display:block}.case-facts small{font-size:11px;color:var(--muted)}.case-facts strong{margin-top:3px}.team-section{background:var(--surface)}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.team-card{display:grid;grid-template-columns:160px 1fr;gap:24px;border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:var(--bg)}.team-card img{width:160px;height:180px;object-fit:cover;border-radius:12px}.team-card h3{margin:13px 0 0;font-size:22px}.team-card span{font-size:12px;color:var(--muted);font-weight:800}.team-card p{font-size:14px;color:var(--muted);margin-top:14px}.contact-grid{display:grid;grid-template-columns:1fr 360px;gap:50px;align-items:start}.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:34px}.project-form>label,.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;margin-bottom:18px}.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:1fr 1fr}.project-form input,.project-form textarea,.project-form select{width:100%;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:12px 13px;color:var(--text);outline:none}.project-form input:focus,.project-form textarea:focus,.project-form select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}.project-form .consent{flex-direction:row;align-items:flex-start;font-weight:500}.project-form .consent input{width:auto;margin-top:5px}.hp{position:absolute!important;left:-9999px!important}.contact-aside{display:flex;flex-direction:column;gap:16px}.aside-card{background:var(--primary);color:#fff;border-radius:var(--radius);padding:28px}.aside-card h2{font-size:28px;line-height:1.12}.aside-card p{color:rgba(255,255,255,.68);font-size:14px}.aside-card.subtle{background:var(--surface);color:var(--text);border:1px solid var(--line)}.aside-card.subtle p{color:var(--muted);margin:8px 0 0}.success-box{background:#eaf8ef;border:1px solid #c9ead5;color:#225d38;border-radius:12px;padding:16px 18px;margin-bottom:24px}.success-box p{margin:4px 0 0}.site-footer{background:#071523;color:#fff;padding:60px 0 24px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr .6fr;gap:70px}.brand-footer .brand-mark:not(.logo-image):before,.brand-footer .brand-mark:not(.logo-image):after,.brand-footer .brand-mark:not(.logo-image) i{background:#fff}.brand-footer .brand-mark:not(.logo-image) b{background:var(--accent)}.footer-grid p,.footer-grid span,.footer-grid a{color:rgba(255,255,255,.62);font-size:13px}.footer-contact,.footer-links{display:flex;flex-direction:column;gap:7px}.footer-grid strong{font-size:12px;margin-bottom:8px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding-top:20px;color:rgba(255,255,255,.35);font-size:11px}.reveal{opacity:0;transform:translateY(14px);transition:.55s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}
@media(max-width:900px){.main-nav{position:fixed;display:none;top:76px;left:0;right:0;background:var(--surface);padding:16px 20px 24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);box-shadow:0 15px 30px rgba(0,0,0,.08)}.main-nav.open{display:flex}.main-nav .nav-cta{margin-left:0}.menu-toggle{display:block}.hero{padding-top:70px}.hero-grid,.section-head,.service-detail,.project-hero-grid,.about-hero-grid,.project-case,.contact-grid{grid-template-columns:1fr}.hero-visual{max-width:650px}.stats-grid{grid-template-columns:repeat(3,1fr)}.service-grid,.projects-grid,.team-grid{grid-template-columns:1fr}.service-card:nth-child(odd){border-right:0}.service-card:nth-child(even){padding-left:0}.method-track{grid-template-columns:1fr 1fr;gap:28px}.trust-grid{grid-template-columns:1fr 1fr}.service-detail:nth-child(even) .service-media{order:0}.project-case{gap:35px}.contact-grid{gap:30px}.contact-aside{display:grid;grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:620px){.container{width:min(calc(100% - 28px),var(--max-width))}.nav-wrap{height:68px}.main-nav{top:68px}.hero{padding:58px 0}.hero h1,.page-hero h1{font-size:42px}.hero-grid{gap:45px}.floating-card{position:static;margin-top:10px}.floating-card.second{display:none}.stats-grid{grid-template-columns:1fr 1fr}.stat{border-bottom:1px solid var(--line);padding:20px 12px}.stat:nth-child(even){border-right:0}.section{padding:68px 0}.section-head{gap:20px}.section-head h2{font-size:34px}.method-track,.trust-grid{grid-template-columns:1fr}.method-step{padding-left:18px;border-left:1px solid var(--line)}.method-step:before{left:-5px;top:7px}.project-slide{min-width:88vw}.carousel-btn{display:none}.cta-band{padding:28px;flex-direction:column;align-items:flex-start}.project-body dl{grid-template-columns:1fr}.form-grid.two,.contact-aside{grid-template-columns:1fr}.form-card{padding:22px}.team-card{grid-template-columns:100px 1fr}.team-card img{width:100px;height:120px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}}
/* v3.1.0.0 — illustrations procédurales */
.nj-illustration{display:block;width:100%;height:100%;min-height:280px}.hero-frame .nj-illustration{aspect-ratio:1/1;min-height:0}.service-media .nj-illustration{aspect-ratio:4/3;min-height:0;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 92%,var(--bg)),var(--bg))}
