:root{color-scheme:dark;--bg:#201c20;--panel:#272227;--line:#ffffff18;--text:#f6f0e9;--muted:#b4aab0;--accent:#dc926f;--mint:#7fcbb8;--aubergine:#49253f;font-family:Arial,Helvetica,sans-serif;font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:95px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{border:0}button:disabled{opacity:.4;cursor:default}button:hover:not(:disabled),a:hover{color:white}button:active:not(:disabled){transform:translateY(1px)}.skip{position:absolute;top:-70px;background:white;color:black;padding:15px;z-index:20}.skip:focus{top:0}.header{height:100px;max-width:1600px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{width:112px;height:64px;overflow:hidden;background:white;border-radius:2px;position:relative;flex-shrink:0}.brand img{position:absolute;width:152px;height:auto;left:-21px;top:-20px;max-width:none}.header nav{display:flex;gap:35px;font-size:13px;color:#c9bfc6}.contact-link{font-size:13px;border:1px solid #77636d;padding:14px 18px;border-radius:4px}.contact-link span{margin-left:20px;color:var(--accent)}.hero{display:grid;grid-template-columns:.84fr 1.3fr;max-width:1600px;margin:auto;min-height:680px;padding:65px 5% 35px;gap:30px;align-items:start}.hero-copy{padding:22px 0}.eyebrow{font-family:Consolas,monospace;font-size:10px;letter-spacing:1.5px;line-height:1.8;color:var(--muted);font-weight:400;margin:0 0 26px}.live-dot{display:inline-block;width:6px;height:6px;background:var(--mint);border-radius:50%;margin-right:9px;vertical-align:middle}h1{font-size:clamp(54px,5.4vw,88px);line-height:.98;letter-spacing:-4px;font-weight:500;margin:0 0 30px}em{font-style:normal;color:var(--accent)}.intro{font-size:16px;line-height:1.6;max-width:360px;color:#c1b7be}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:34px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:24px;padding:15px 20px;border-radius:4px;font-size:12px;line-height:1.4}.primary{background:var(--accent);color:#271e21;font-weight:600}.primary:hover{background:#e9a482;color:#271e21!important}.quiet{font-size:12px;color:var(--muted)}.quiet span{margin-left:8px}.hero-caption{display:flex;gap:20px;margin-top:48px;font-size:11px;line-height:1.5;color:#92858f}.index{font-family:Consolas,monospace;color:var(--accent);padding-top:2px}.model-panel{min-width:0;position:relative;padding-top:2px}.viewer-top{display:flex;justify-content:space-between;font:10px Consolas,monospace;letter-spacing:1.2px;color:#b9adb5;padding:12px 0;border-bottom:1px solid var(--line)}.model-id{color:#82757e}#viewer{height:440px;position:relative;isolation:isolate;overflow:hidden}#viewer canvas{display:block;position:absolute;inset:0;cursor:grab;touch-action:pan-y}#viewer canvas:active{cursor:grabbing}#loading{position:absolute;left:20px;top:120px;color:var(--muted);font-size:14px;max-width:300px;line-height:1.6}.model-note{position:absolute;left:5px;bottom:24px;display:flex;gap:12px;align-items:center;z-index:1;pointer-events:none;font:10px/1.5 Consolas,monospace;color:#92878f}.model-note>span:first-child{border-left:2px solid var(--accent);padding:6px 8px;color:var(--accent)}.view-actions{position:absolute;right:0;top:12px;z-index:2;display:flex;gap:8px}.view-actions button{padding:8px 10px;font-size:11px;background:#30282fd9;color:#beadb9;border:1px solid var(--line);border-radius:4px}.view-actions button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.viewer-tools{background:#30292f;border:1px solid #ffffff13;border-radius:6px;padding:16px}.lots{display:flex;flex-wrap:wrap;gap:8px}.lots button{display:flex;align-items:center;gap:7px;background:#3c333a;border:1px solid #ffffff19;padding:8px 9px;border-radius:4px;font-size:10px;color:#eee1e9}.lots button i{height:6px;width:6px;border-radius:50%;background:var(--dot)}.lots button[aria-pressed=false]{opacity:.45;background:transparent}.lots button[aria-pressed=false] i{background:transparent;border:1px solid var(--dot)}.explode-row{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:14px;margin-top:14px;font-size:10px}.explode-row label{white-space:nowrap}.explode-row input{width:100%;min-width:30px;accent-color:var(--accent);height:3px;cursor:pointer}.explode-row output{white-space:nowrap;color:var(--muted);font:10px Consolas,monospace;min-width:35px}.clash-button{white-space:nowrap;padding:9px 10px;background:#75443755;border:1px solid #b7775a55;border-radius:4px;font-size:10px;color:#e8a385;display:flex;align-items:center;gap:8px}.clash-dot{width:5px;height:5px;border-radius:50%;background:#e88b72}.viewer-foot{display:flex;justify-content:space-between;gap:15px;padding:13px 2px;color:#91838e;font:9px Consolas,monospace}.clash-panel{max-width:1440px;margin:10px auto 35px;padding:32px 5%;display:grid;grid-template-columns:1fr 1fr;gap:60px;background:#3c282e;border-top:1px solid #e8a38555;border-bottom:1px solid #e8a38555}.clash-panel[hidden]{display:none}.clash-panel h2{font-size:32px;letter-spacing:-1px;line-height:1.15}.clash-panel p:not(.eyebrow){font-size:14px;color:#dac1c6;line-height:1.7}.clash-actions{display:flex;gap:10px;margin:20px 0}.outline{background:transparent;border:1px solid #886772}.clash-panel small{display:block;font-size:11px;line-height:1.6;color:#bfa3b0}.discipline-strip{max-width:1440px;padding:30px 5%;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:11px Consolas,monospace;letter-spacing:1.6px;color:#a1939e}.discipline-strip b{font-size:18px;font-weight:400;color:#62545f}.accent{color:var(--accent)}.section{max-width:1440px;margin:auto;padding:100px 5%}.section-heading{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:20px}.section-heading .eyebrow{grid-column:1/-1;margin:0}h2{margin:0;font-size:clamp(32px,3.4vw,50px);line-height:1.12;letter-spacing:-1.8px;font-weight:400}.section-heading h2 span{color:#9c8d99}.section-heading>p:last-child{max-width:320px;justify-self:end;font-size:14px;line-height:1.7;color:var(--muted);margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.services article{padding:30px;position:relative;background:#272227;transition:background .3s}.services article:hover{background:#302630}.services article+article{border-left:1px solid var(--line)}.service-number{font:10px Consolas,monospace;color:#857782}.service-symbol{height:100px;width:130px;position:relative;margin:15px 0 20px}.service-symbol i{position:absolute;display:block;width:52px;height:52px;border:1px solid var(--accent);top:25px;transform:rotate(-30deg) skewX(25deg);transition:transform .5s}.service-symbol i:nth-child(2){left:25px;top:15px;opacity:.6}.service-symbol i:nth-child(3){left:50px;top:5px;opacity:.3}.symbol-model i{border-color:#baa0d1}.symbol-coord i{border-color:var(--mint);border-radius:50%;transform:rotate(-30deg)}.symbol-advice i{height:35px}.services article:hover .service-symbol i{transform:translateY(-5px) rotate(-20deg) skewX(15deg)}h3{font-size:22px;letter-spacing:-.5px;font-weight:400;margin:0 0 18px}.services p{font-size:13px;line-height:1.7;color:var(--muted);max-width:300px}.services ul{padding:20px 0 0;list-style:none;font-size:11px;line-height:2.3;color:#d0c1cc;border-top:1px solid var(--line);margin-top:25px}.services li::before{content:'↗';color:var(--accent);margin-right:10px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid var(--line)}.approach ol{margin:0;padding:0;list-style:none}.approach li{display:flex;gap:25px;padding:0 0 25px}.approach li+li{border-top:1px solid var(--line);padding-top:25px}.approach li>span{font:11px Consolas,monospace;color:var(--accent);padding-top:6px}.approach h3{font-size:19px;margin-bottom:8px}.approach p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6;margin:0}.contact{border-top:1px solid var(--line);background:#30232d;border-radius:6px;padding-top:65px;padding-bottom:65px}.contact h2{font-size:clamp(34px,4.2vw,64px)}.contact-mail{display:inline-block;margin-top:35px;padding-bottom:12px;border-bottom:1px solid #846575;font-size:clamp(16px,2vw,26px);letter-spacing:-.5px}.contact-mail span{color:var(--accent);padding-left:20px}.contact>p:last-child{font-size:12px;color:var(--muted);margin-top:20px}footer{max-width:1440px;margin:0 auto;padding:35px 5%;display:flex;justify-content:space-between;gap:25px;font-size:10px;color:#9c8e98}footer button{font-size:10px;background:transparent;color:inherit}dialog{background:var(--panel);color:var(--text);border:1px solid #796372;border-radius:8px;padding:35px;max-width:540px;width:90%}dialog::backdrop{background:#000a}dialog h2{font-size:30px}dialog p{color:var(--muted);font-size:14px;line-height:1.7}#close-legal{float:right;font-size:24px;background:transparent}
@media(min-width:1500px){#viewer{height:500px}.hero{padding-top:75px;padding-bottom:45px}}
@media(max-width:1000px){.hero{grid-template-columns:1fr 1.2fr;gap:18px;padding-top:40px}h1{font-size:61px}.eyebrow{font-size:9px;letter-spacing:.6px}.hero-actions{gap:16px}.header nav{gap:18px}.explode-row{flex-wrap:wrap}.explode-row input{flex:1}.clash-button{width:100%;justify-content:center}.viewer-foot{font-size:8px}.services article{padding:24px}.discipline-strip{font-size:9px;letter-spacing:1px}}
@media(max-width:740px){.header{height:86px;padding:0 6%;gap:15px}.brand{width:92px;height:56px}.brand img{width:134px;left:-21px;top:-17px}.header nav{display:none}.contact-link{font-size:11px;padding:12px}.contact-link span{margin-left:10px}.hero{grid-template-columns:1fr;padding:40px 6% 20px;gap:20px}.hero-copy{padding:0}h1{font-size:64px;letter-spacing:-3px;margin-bottom:20px}.hero h1 br:nth-child(2){display:none}.intro{font-size:15px;max-width:320px}.hero-actions{margin-top:25px}.hero-caption{display:none}.model-panel{margin-top:15px}#viewer{height:380px}.model-id{font-size:9px}.model-note{bottom:14px;font-size:9px}.lots{gap:6px}.lots button{font-size:10px;padding:8px}.viewer-tools{padding:12px}.explode-row{gap:10px}.clash-button{width:auto}.viewer-foot{font-size:8px;line-height:1.5}.discipline-strip{padding:22px 6%;gap:12px;flex-wrap:wrap;justify-content:center;font-size:8px}.section{padding:64px 6%}.section-heading{display:block}.section-heading h2{margin:20px 0}.section-heading>p:last-child{max-width:100%}.services{grid-template-columns:1fr;margin-top:35px}.services article{padding:25px}.services article+article{border-left:0;border-top:1px solid var(--line)}.service-symbol{float:right;margin:-5px 0 0;transform:scale(.75);transform-origin:top right}.services h3{margin-top:30px}.services p{max-width:100%;clear:both}.services ul{padding-top:12px;margin-top:18px}.approach{grid-template-columns:1fr;gap:35px}.contact{border-radius:0}.contact-mail{font-size:17px;letter-spacing:-.3px}.contact-mail span{padding-left:8px}footer{flex-wrap:wrap;padding:30px 6%;line-height:1.6}footer>span:nth-child(2){display:none}.clash-panel{grid-template-columns:1fr;gap:20px;padding:30px 6%}.clash-panel .eyebrow{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.quick-resolve{position:absolute;z-index:3;bottom:20px;right:5px;background:#dc926f;color:#271e21;padding:12px 14px;border-radius:4px;font-size:11px;font-weight:600}.quick-resolve[hidden]{display:none}
@media(min-width:741px) and (max-height:850px){.header{height:85px}.hero{padding-top:30px;padding-bottom:25px;min-height:0}.hero-copy{padding:10px 0}h1{font-size:clamp(52px,4.4vw,73px);margin-bottom:20px}.intro{font-size:14px;max-width:320px}.hero-actions{margin-top:25px}.hero-caption{margin-top:28px}#viewer{height:320px}.eyebrow{margin-bottom:20px}.viewer-tools{padding:12px}.viewer-foot{padding-top:10px}}


@media(max-width:740px){.hero{grid-template-columns:minmax(0,1fr)}.hero-copy{min-width:0}.hero h1 br:nth-child(2){display:block}h1{font-size:clamp(48px,15vw,64px);letter-spacing:-2px}.hero-actions{flex-wrap:wrap}.quick-resolve{bottom:48px;font-size:10px}.viewer-foot{flex-wrap:wrap}}


/* Variante claire du logo sur fond sombre. */
.brand{background:transparent}.brand img{filter:grayscale(1) invert(1) contrast(2);mix-blend-mode:screen}.header-actions{display:flex;align-items:center;gap:22px}.private-link{font-size:12px;color:#cbbdc7;white-space:nowrap}.private-link span{color:var(--accent);margin-left:6px}
@media(max-width:1050px){.header nav{gap:16px}.header-actions{gap:15px}.contact-link{padding:12px;font-size:11px}}
@media(max-width:740px){.header-actions{gap:12px}.private-link{font-size:11px}.header-actions .contact-link{display:none}}

