/* UNE IDÉE. TOUTES SES DIMENSIONS. Optional motion; useful static story first. */
.motion-story,.motion-service-section {
 --story-bg:#080808;--story-ink:#f6f6f6;--story-muted:#a3a3a3;--story-line:#353535;
 --story-hover:#161616;--story-detail:#f16b54;background:var(--story-bg);color:var(--story-ink);
}
.motion-story{--motion-header:76px;--motion-progress:0;--motion-phone:0;--motion-webmix:0;--motion-design:1;--motion-filter:1;position:relative;isolation:isolate}
.motion-pin{height:790px;position:relative;overflow:clip;background:var(--story-bg)}
.motion-enhanced{height:510svh}
.motion-enhanced .motion-pin{position:sticky;top:var(--motion-header);height:calc(100svh - var(--motion-header));min-height:480px}
.motion-topline,.motion-bottomline{position:absolute;z-index:5;left:5.2%;right:5.2%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.motion-topline{top:26px}.motion-topline p{margin:0;font-size:10px;font-weight:700;letter-spacing:1.4px;line-height:1.5}
.motion-topline p>span{font-size:9px;font-weight:400;letter-spacing:1px;color:var(--story-muted);margin-left:18px}
.motion-skip{display:inline-flex;align-items:center;gap:26px;padding:11px 0 11px 16px;font-size:11px;font-weight:600;white-space:nowrap;min-height:42px}
.motion-skip .motion-arrow{width:22px;height:22px;transition:transform .2s}.motion-skip:hover .motion-arrow{transform:translate(2px,-2px)}
.motion-copy{position:absolute;left:5.2%;top:28%;width:48%;height:310px;z-index:3;pointer-events:none}
.motion-kicker{font-size:9px;font-weight:500;letter-spacing:1.5px;line-height:1.5;display:flex;align-items:center;gap:10px;margin:0;color:var(--story-muted)}
.motion-kicker i,.motion-choice-heading .eyebrow i{display:inline-block;width:5px;height:5px;background:var(--story-detail);border-radius:50%;flex:none}
.motion-caption{position:absolute;left:0;right:0;top:37px;margin:0;font:500 clamp(43px,5.35vw,80px)/1.07 Manrope,Arial,sans-serif;letter-spacing:-.06em;opacity:0;visibility:hidden}
.motion-caption em{display:inline-block;font:italic 1.1em/1.03 Georgia,'Times New Roman',serif;letter-spacing:-.065em;transform:translateX(-.025em);color:var(--story-ink);margin-top:2px}
.motion-caption-context{display:block;margin-top:29px;font:500 9px/1.6 'DM Sans',Arial,sans-serif;letter-spacing:1.1px;color:var(--story-muted)}
.motion-caption[data-active=true]{opacity:1;visibility:visible}
.motion-enhanced .motion-caption{visibility:visible;opacity:var(--caption-opacity,0);transform:translateY(calc((1 - var(--caption-opacity,0)) * 9px))}
.motion-accessible-summary{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.motion-art{position:absolute;left:42%;right:1%;top:12%;bottom:9%;pointer-events:none}
.creation-scene{display:block;width:100%;height:100%;overflow:visible;isolation:isolate}
.creation-object{opacity:var(--object-opacity,0)}
.creation-origin{--object-opacity:1}
.creation-accent{fill:var(--story-detail)}
.creation-point-halo{fill:var(--story-detail);opacity:.12}
.creation-origin-orbit{fill:none;stroke:var(--story-line);stroke-width:.8}
.creation-guide{fill:none;stroke:var(--story-detail);stroke-width:1;stroke-dasharray:4 5}
.creation-handle{fill:#fafafa;stroke:var(--story-detail);stroke-width:1.2}
.creation-label{fill:var(--story-muted);font:500 10px Manrope,Arial,sans-serif;letter-spacing:1.7px}
.creation-poster-small{fill:#333;font:500 9px Arial,sans-serif;letter-spacing:1px}
.creation-poster-title{fill:#161616;font:800 57px Arial,sans-serif;letter-spacing:-3px}
.creation-poster-serif{fill:#333;font:italic 41px Georgia,serif;letter-spacing:-1px}
.creation-poster-trace{stroke:var(--story-detail);stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--motion-design,1))}
.creation-poster-mark{opacity:var(--motion-design,1)}
.creation-design-guides{opacity:calc(1 - var(--motion-design,1) * .6)}
.creation-face-filter{opacity:var(--motion-filter,1)}
.creation-phone{opacity:var(--motion-phone,0)}
.creation-ar-content{opacity:calc(1 - var(--motion-webmix,0))}
.creation-phone-web{opacity:var(--motion-webmix,0)}
.creation-phone-label{fill:#222;font:600 9px Arial,sans-serif;letter-spacing:.6px}
.creation-web-brand{fill:#171717;font:800 12px Arial,sans-serif;letter-spacing:-.5px}
.creation-web-title{fill:#171717;font:600 30px Arial,sans-serif;letter-spacing:-1.3px}
.creation-web-button{fill:#fff;font:600 8px Arial,sans-serif;letter-spacing:.6px}
.creation-mobile-brand{fill:#171717;font:800 15px Arial,sans-serif;letter-spacing:-.5px}
.creation-mobile-title{fill:#171717;font:600 23px Arial,sans-serif;letter-spacing:-1px}
.creation-printer-label{fill:#222;font:600 9px Arial,sans-serif;letter-spacing:.6px}
.creation-nozzle-tip{fill:none;stroke:var(--story-detail);stroke-width:3}
.motion-enhanced .creation-origin-orbit{animation:creation-arrive 1.6s ease both}
.motion-enhanced .creation-point{animation:creation-point-arrive 1.2s ease both}
@keyframes creation-arrive{0%,20%{opacity:0}100%{opacity:1}}
@keyframes creation-point-arrive{0%{opacity:0}45%,100%{opacity:1}}
.motion-static-context{position:absolute;left:5.2%;bottom:13%;width:35%;z-index:3;font-size:12px;line-height:1.7;color:var(--story-muted)}
.motion-static-context p{font-size:13px;color:var(--story-ink);margin-bottom:12px}.motion-static-context ol{padding-left:18px;margin:0}
.motion-enhanced .motion-static-context{display:none}
.motion-bottomline{bottom:30px}.motion-steps>span{display:none;align-items:baseline;gap:20px;font-size:12px}
.motion-steps>span[data-active=true]{display:flex}.motion-steps b{font-size:9px;font-weight:400;letter-spacing:1.2px;color:var(--story-muted)}
.motion-scroll-cue{display:flex;align-items:center;gap:16px;font-size:8px;letter-spacing:1.5px;color:var(--story-muted)}
.motion-scroll-cue svg{width:14px;height:20px;fill:none;stroke:var(--story-ink);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.motion-progress{position:absolute;bottom:0;left:5.2%;right:5.2%;height:1px;background:var(--story-line)}
.motion-progress-fill{display:block;height:100%;background:var(--story-ink);transform:scaleX(0);transform-origin:left}
/* Non-motion mode is six fixed miniatures plus an ordered, readable legend. */
.motion-story:not(.motion-enhanced) .creation-object,.motion-story:not(.motion-enhanced) .creation-phone{opacity:1;transform-origin:0 0}
.motion-story:not(.motion-enhanced) .creation-origin{transform:translate(0,10px) scale(.32)}
.motion-story:not(.motion-enhanced) .creation-design{transform:translate(230px,10px) scale(.32)}
.motion-story:not(.motion-enhanced) .creation-phone{transform:translate(460px,10px) scale(.32)}
.motion-story:not(.motion-enhanced) .creation-screens{transform:translate(0,310px) scale(.32)}
.motion-story:not(.motion-enhanced) .creation-vr{transform:translate(230px,310px) scale(.32)}
.motion-story:not(.motion-enhanced) .creation-printer{transform:translate(460px,310px) scale(.32)}
.motion-story:not(.motion-enhanced) .creation-point{transform:translate(112px,106px)}
.motion-story:not(.motion-enhanced) [data-print-reveal]{y:310px;height:160px}
.motion-story:not(.motion-enhanced) .creation-ground{opacity:0}
.motion-story:not(.motion-enhanced) .motion-scroll-cue{display:none}
.motion-service-section {padding:105px 0 110px;scroll-margin-top:90px;position:relative}
.motion-service-section::before {content:"";position:absolute;top:0;left:50%;height:46px;width:1px;background:var(--story-line)}
.motion-choice-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:40px;margin-bottom:65px}
.motion-choice-heading .eyebrow {display:flex;align-items:center;gap:10px;color:var(--story-muted);font-size:9px;letter-spacing:1.2px;max-width:210px;margin:14px 0 0}
.motion-choice-heading h2 {font:500 clamp(40px,4.7vw,66px)/1.08 Manrope,Arial,sans-serif;letter-spacing:-.06em;margin:0;width:63%}
.motion-choice-heading h2 em {font:italic 1.08em/.98 Georgia,'Times New Roman',serif;letter-spacing:-.055em;color:var(--story-ink)}
.motion-service-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--story-line)}
.motion-service-card {position:relative;display:flex;flex-direction:column;min-width:0;min-height:275px;padding:24px 23px 23px 0;transition:background .2s}
.motion-service-card+.motion-service-card {border-left:1px solid var(--story-line);padding-left:23px}
.motion-service-card:hover {background:var(--story-hover)}
.motion-card-index {display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:8px;letter-spacing:.6px;color:var(--story-muted)}
.motion-card-index .motion-arrow {width:24px;height:24px;color:var(--story-ink);stroke-width:1.3;transition:transform .2s}
.motion-service-card:hover .motion-arrow {transform:translate(2px,-2px)}
.motion-service-card h3 {font:500 clamp(22px,2.15vw,29px)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.055em;max-width:250px;margin:42px 0 12px}
.motion-service-card p {font-size:11px;line-height:1.6;color:var(--story-muted);margin:0 0 30px}
.motion-card-action {display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:auto;font-size:9px;color:var(--story-muted)}
.motion-card-action>span {font-size:15px;color:var(--story-ink)}
.motion-arrow {display:inline-block;width:1em;height:1em;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.motion-service-card:focus-visible,.motion-skip:focus-visible {outline:2px solid var(--story-detail);outline-offset:6px}
.motion-service-section:focus {outline:none}
.motion-service-section:focus-visible {outline:2px solid var(--story-detail);outline-offset:-2px}
.motion-fallback {background:var(--bg);color:var(--text);padding:60px 24px 80px;max-width:1240px;margin:auto}
.motion-fallback nav {display:flex;gap:24px;flex-wrap:wrap;font-size:14px}
.motion-fallback h1 {font:500 clamp(44px,8vw,92px)/1.04 Manrope,Arial,sans-serif;letter-spacing:-.06em;margin:70px 0 30px;max-width:800px}
.motion-fallback h1 em {font:italic 1.1em Georgia,'Times New Roman',serif;color:var(--text)}
.motion-fallback>p {color:var(--muted);max-width:580px}
.motion-fallback-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:40px 0}
.motion-fallback-grid a {display:block;padding:24px;border:1px solid var(--line);font-size:18px;line-height:1.4}
.motion-fallback-grid a:hover {border-color:var(--text)}
.motion-fallback-projects {display:flex;flex-wrap:wrap;gap:20px;margin:20px 0}
@media(prefers-color-scheme:light){.motion-story,.motion-service-section{--story-bg:#fafafa;--story-ink:#0b0b0b;--story-muted:#626262;--story-line:#d2d2d2;--story-hover:#f0f0f0;--story-detail:#da4934}}
@media(min-width:1550px){.motion-copy{top:30%;width:45%}.motion-art{left:43%;right:3%;top:8%;bottom:8%}}
@media(min-width:761px) and (max-height:760px){.motion-copy{top:27%}.motion-caption{font-size:clamp(41px,6.5vh,61px)}.motion-art{top:13%;bottom:10%}.motion-bottomline{bottom:23px}}
@media(max-width:1050px){
 .motion-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.motion-service-card{min-height:255px;padding-right:26px}.motion-service-card+.motion-service-card{padding-left:26px}
 .motion-service-card:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--story-line)}.motion-service-card:nth-child(4){border-top:1px solid var(--story-line)}
 .motion-service-card h3{font-size:28px;max-width:290px;margin-top:36px}.motion-card-index{font-size:9px}.motion-service-card p{font-size:12px}.motion-card-action{font-size:11px}
}
@media(max-width:760px){
 .motion-enhanced{height:480svh}.motion-pin{height:900px}
 .motion-topline{top:17px;left:22px;right:22px;gap:12px}.motion-topline p{font-size:9px;letter-spacing:.8px}.motion-topline p>span{display:none}
 .motion-skip{font-size:11px;padding:8px 0 8px 8px;gap:13px}.motion-skip .motion-arrow{width:19px;height:19px}
 .motion-copy{left:22px;right:22px;top:12%;width:auto;height:185px}
 .motion-kicker{font-size:7px;letter-spacing:.8px;gap:8px}.motion-caption{top:26px;font-size:clamp(35px,8.3vw,56px);line-height:1.04}.motion-caption em{font-size:1.1em}
 .motion-caption-context{margin-top:17px;font-size:7px;letter-spacing:.8px}
 .motion-art{left:0;right:0;top:39%;bottom:8%}
 .motion-bottomline{left:22px;right:22px;bottom:22px}.motion-steps>span{font-size:10px;gap:10px}.motion-steps b{font-size:8px;letter-spacing:.6px}
 .motion-scroll-cue{font-size:6px;letter-spacing:.6px;gap:8px}.motion-scroll-cue svg{width:12px;height:18px}.motion-progress{left:22px;right:22px}
 .motion-story:not(.motion-enhanced) .motion-art{top:30%;bottom:28%}.motion-story:not(.motion-enhanced) .motion-copy{top:10%}
 .motion-static-context{left:22px;right:22px;width:auto;bottom:62px;font-size:11px;line-height:1.5}.motion-static-context ol{columns:2;column-gap:26px}.motion-static-context li{break-inside:avoid;margin-bottom:5px}
 .creation-poster-small,.creation-label{font-size:11px}
 .motion-service-section{padding:70px 0 65px;scroll-margin-top:80px}.motion-service-section::before{height:32px}
 .motion-choice-heading{display:block;margin-bottom:35px}.motion-choice-heading .eyebrow{font-size:8px;margin:0 0 24px;max-width:none}.motion-choice-heading h2{width:auto;font-size:clamp(37px,7.8vw,52px);max-width:580px}
 .motion-service-card{padding-top:22px;min-height:245px;padding-right:18px}.motion-service-card+.motion-service-card{padding-left:18px}.motion-service-card:nth-child(3){padding-left:0}
 .motion-service-card h3{font-size:25px;margin-top:29px}.motion-card-index{font-size:7px}.motion-card-index .motion-arrow{width:21px;height:21px}.motion-card-action{font-size:9px}
}
@media(max-width:480px){
 .motion-service-grid{display:block}.motion-service-card,.motion-service-card+.motion-service-card,.motion-service-card:nth-child(3){border-left:0;border-top:1px solid var(--story-line);padding:22px 0;min-height:0}.motion-service-card:first-child{border-top:0}
 .motion-service-card h3{font-size:28px;max-width:270px;margin:20px 0 9px}.motion-service-card p{font-size:12px;margin:0 0 20px}.motion-card-index{font-size:9px}.motion-card-action{font-size:10px}.motion-card-index .motion-arrow{width:25px;height:25px}
 .motion-fallback-grid{grid-template-columns:1fr}
}
@media(max-width:360px){.motion-caption{font-size:32px}.motion-topline,.motion-bottomline{left:18px;right:18px}.motion-copy{left:18px;right:18px}.motion-scroll-cue{font-size:5px}.motion-kicker{font-size:6px}}
@media(prefers-reduced-motion:reduce),(max-height:560px){
 .motion-story.motion-enhanced{height:auto}.motion-story .motion-pin,.motion-story.motion-enhanced .motion-pin{position:relative;top:auto;min-height:0}
 .motion-story .motion-caption{opacity:0!important;visibility:hidden!important;transform:none!important}.motion-story #motion-title{opacity:1!important;visibility:visible!important}
 .motion-story .creation-point,.motion-story .creation-origin-orbit{animation:none!important}.motion-story .motion-static-context{display:block}.motion-story .motion-progress{display:none}
 .motion-service-card:hover .motion-arrow,.motion-skip:hover .motion-arrow{transform:none}
}
@media print{.motion-story.motion-enhanced{height:auto}.motion-story .motion-pin{position:relative;top:auto;height:700px}.motion-topline,.motion-bottomline{display:none}.motion-service-card{break-inside:avoid}}
.motion-story:not(.motion-enhanced) .creation-poster-mark,.motion-story:not(.motion-enhanced) .creation-face-filter,.motion-story:not(.motion-enhanced) .creation-ar-content{opacity:1}
.motion-story:not(.motion-enhanced) .creation-phone-web{opacity:0}
.motion-story:not(.motion-enhanced) [data-printer-gantry]{transform:translate(0,49px)}
.motion-story:not(.motion-enhanced) [data-creation-filament]{display:none}
