/* V105.3: quiet one-time reveals; no semantic content depends on these states. */
@media (prefers-reduced-motion:no-preference){
 .has-sober-motion .sober-motion-group{opacity:0;transform:translateY(24px)}
 .has-sober-motion .sober-project .sober-project-copy,
 .has-sober-motion .sober-project .sober-media,
 .has-sober-motion .sober-project .sober-apphalt-story,
 .has-sober-motion .sober-about .about-grid>*,
 .has-sober-motion .sober-contact .wrap>*{opacity:0;transform:translateY(18px)}
 .has-sober-motion .sober-project .sober-media{transform:translateX(22px)}
 .has-sober-motion .sober-malakoff .sober-media{transform:translateX(22px) scale(.99)}
 .has-sober-motion .sober-allianz .sober-media{transform:translateX(22px)}
 .sober-motion-ready .sober-project-heading.is-in-view,
 .sober-motion-ready .c103-intro.is-in-view,
 .sober-motion-ready .sober-project.is-in-view,
 .sober-motion-ready .sober-about.is-in-view,
 .sober-motion-ready .sober-contact.is-in-view{opacity:1;transform:none;transition:opacity .5s ease,transform .62s cubic-bezier(.2,.8,.2,1)}
 .sober-motion-ready .sober-project.is-in-view .sober-project-copy,
 .sober-motion-ready .sober-project.is-in-view .sober-media,
 .sober-motion-ready .sober-project.is-in-view .sober-apphalt-story,
 .sober-motion-ready .sober-about.is-in-view .about-grid>*,
 .sober-motion-ready .sober-contact.is-in-view .wrap>*{opacity:1;transform:none;transition:opacity .48s ease var(--motion-delay,0ms),transform .62s cubic-bezier(.2,.8,.2,1) var(--motion-delay,0ms)}
 .sober-motion-ready .sober-apphalt-story [data-story-step]{opacity:0;transform:translateY(12px)}
 .sober-motion-ready .sober-apphalt.is-in-view [data-story-step]{animation:apphalt-step-in .48s cubic-bezier(.2,.8,.2,1) calc(100ms + var(--story-order)*85ms) both}
 .sober-motion-ready .sober-malakoff.is-in-view .sober-malakoff-media img{animation:malakoff-board-in .7s cubic-bezier(.2,.8,.2,1) .12s both}
 .sober-motion-ready .sober-allianz.is-in-view .at97-sample-top,
 .sober-motion-ready .sober-allianz.is-in-view .at97-sample-body>*{animation:allianz-detail-in .38s ease calc(80ms + var(--detail-order)*75ms) both}
 .sober-allianz .at97-sample-top{--detail-order:0}
 .sober-allianz .at97-sample-body>small{--detail-order:1}
 .sober-allianz .at97-order{--detail-order:2}
 .sober-allianz .at97-focus-tag{--detail-order:3}
 .sober-allianz .at97-sample-body h4{--detail-order:4}
 .sober-allianz .at97-sample-body p{--detail-order:5}
 .sober-allianz .at97-highlight{--detail-order:6}
 .sober-allianz .at97-faux-cta{--detail-order:7}
}
.sober-apphalt-story{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.68fr);gap:26px 44px;align-items:start;border-top:1px solid #dfe3e8;padding-top:34px;margin-top:8px}
.sober-story-heading{grid-column:1/-1}
.sober-story-heading .sober-kicker{margin:0 0 8px}
.sober-story-heading h3{font-size:clamp(24px,2.4vw,34px);line-height:1.2;letter-spacing:-.035em;margin:0}
.sober-story-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.sober-story-steps li{min-width:0;border-top:2px solid #dce3f7;padding-top:12px}
.sober-story-number{display:block;color:#4158d9;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:10px}
.sober-story-steps h4{font:600 14px/1.4 var(--sans);margin:0 0 7px;color:#202b3a}
.sober-story-steps p{font-size:12px;line-height:1.62;color:#566070;margin:0}
.sober-apphalt-demo{grid-column:2;grid-row:2 / span 2;background:#f2f4fb;padding:18px;border-radius:14px;margin:0!important;align-self:stretch}
.sober-apphalt-demo video{display:block;width:100%;max-width:330px;height:auto;max-height:440px;object-fit:contain;border-radius:8px;background:#e7e9f0;margin:0 auto}
.sober-apphalt-demo figcaption{font-size:11px;line-height:1.55;margin-top:10px;color:#5a6573}
.sober-apphalt-story .sober-story-steps{grid-column:1;grid-row:2 / span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
.sober-story-steps li:nth-child(1){--story-order:0}
.sober-story-steps li:nth-child(2){--story-order:1}
.sober-story-steps li:nth-child(3){--story-order:2}
.sober-story-steps li:nth-child(4){--story-order:3}
.sober-story-steps li:nth-child(5){--story-order:4}
.sober-malakoff-media img{transform-origin:center;clip-path:inset(0 0 0 0)}
.sober-allianz .at97-sample-top,.sober-allianz .at97-sample-body>*{transform-origin:left center}
.sober-apphalt-demo video:focus-visible{outline:3px solid #3047df;outline-offset:3px}
@keyframes apphalt-step-in{to{opacity:1;transform:none}}
@keyframes malakoff-board-in{from{opacity:.55;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes allianz-detail-in{from{opacity:.2;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:800px){
 .sober-apphalt-story{grid-template-columns:1fr;gap:22px}
 .sober-story-heading,.sober-apphalt-story .sober-story-steps,.sober-apphalt-demo{grid-column:1;grid-row:auto}
 .sober-apphalt-story .sober-story-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sober-apphalt-demo video{max-height:400px}
}
@media(max-width:520px){
 .sober-apphalt-story{gap:18px;padding-top:26px}
 .sober-apphalt-story .sober-story-steps{grid-template-columns:1fr;gap:15px}
 .sober-story-steps li{display:grid;grid-template-columns:32px 1fr;gap:0 8px;padding-top:10px}
 .sober-story-number{grid-row:1 / span 2;margin-top:1px}
 .sober-story-steps h4{margin-bottom:4px}
 .sober-story-steps p{font-size:13px}
 .sober-apphalt-demo{padding:14px}
}
@media(prefers-reduced-motion:reduce){
 .sober-apphalt-story [data-story-step]{opacity:1!important;transform:none!important;animation:none!important}
 .sober-malakoff-media img{clip-path:none!important}
 .sober-allianz .at97-sample-top,.sober-allianz .at97-sample-body>*{opacity:1!important;transform:none!important;animation:none!important}
}
html.motion-reduced .sober-apphalt-story [data-story-step]{opacity:1!important;transform:none!important;animation:none!important}
html.motion-reduced .sober-malakoff-media img{clip-path:none!important}
html.motion-reduced .sober-allianz .at97-sample-top,html.motion-reduced .sober-allianz .at97-sample-body>*{opacity:1!important;transform:none!important;animation:none!important}
/* Preserve the V105.1 hero draw/entrance motion while making MH and BNP-Cetelem readable in sequence. */
@media (prefers-reduced-motion:no-preference){
 .has-sober-motion .hero79-copy>*{opacity:0;transform:translateY(18px)}
 .has-sober-motion .hero79-portrait{opacity:0;transform:translateX(26px) rotate(1.5deg)}
 .has-sober-motion .hero81-draw{stroke-dashoffset:1}
 .sober-motion-ready .hero79-copy>*{animation:sober-copy-in .72s cubic-bezier(.2,.8,.2,1) forwards}
 .sober-motion-ready .hero79-copy>h1{animation-delay:100ms}
 .sober-motion-ready .hero79-copy>.hero79-role{animation-delay:220ms}
 .sober-motion-ready .hero79-copy>.hero94-description{animation-delay:310ms}
 .sober-motion-ready .hero79-copy>.hero79-cta{animation-delay:410ms}
 .sober-motion-ready .hero79-copy>.gn99-scroll-cue{animation-delay:500ms}
 .sober-motion-ready .hero79-portrait{animation:sober-portrait-in 1s cubic-bezier(.16,.9,.2,1) 180ms forwards}
 .sober-motion-ready .hero81-draw-back{animation:sober-draw .9s ease .25s forwards}
 .sober-motion-ready .hero81-draw-reverse{animation:sober-draw .9s ease .43s forwards}
 .sober-motion-ready .hero81-draw-front{animation:sober-draw .9s ease .62s forwards}
 .has-sober-motion .sober-malakoff .sober-malakoff-media img{clip-path:inset(0 0 100% 0);opacity:.55;transform:scale(1.02)}
 .sober-motion-ready .sober-malakoff.is-in-view .sober-project-copy>*{animation:malakoff-copy-in .5s cubic-bezier(.2,.8,.2,1) calc(100ms + var(--mh-copy-order)*100ms) both}
 .sober-motion-ready .sober-malakoff.is-in-view .sober-malakoff-media img{animation:malakoff-image-reveal .9s cubic-bezier(.2,.8,.2,1) 120ms both}
 .sober-motion-ready .c103-intro.is-in-view .c103-intro-head>*{animation:c103-copy-in .5s cubic-bezier(.2,.8,.2,1) calc(80ms + var(--c103-order)*100ms) both}
 .sober-motion-ready .c103-intro.is-in-view .c103-intro-aside>*{animation:c103-copy-in .5s cubic-bezier(.2,.8,.2,1) calc(280ms + var(--c103-order)*100ms) both}
}
.sober-malakoff .sober-project-copy>*:nth-child(1){--mh-copy-order:0}
.sober-malakoff .sober-project-copy>*:nth-child(2){--mh-copy-order:1}
.sober-malakoff .sober-project-copy>*:nth-child(3){--mh-copy-order:2}
.sober-malakoff .sober-project-copy>*:nth-child(4){--mh-copy-order:3}
.sober-malakoff .sober-project-copy>*:nth-child(5){--mh-copy-order:4}
.sober-malakoff .sober-project-copy>*:nth-child(6){--mh-copy-order:5}
.c103-intro-head>*:nth-child(1){--c103-order:0}
.c103-intro-head>*:nth-child(2){--c103-order:1}
.c103-intro-head>*:nth-child(3){--c103-order:2}
.c103-intro-aside>*:nth-child(1){--c103-order:0}
.c103-intro-aside>*:nth-child(2){--c103-order:1}
@keyframes malakoff-copy-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes malakoff-image-reveal{from{clip-path:inset(0 0 100% 0);opacity:.55;transform:scale(1.02)}to{clip-path:inset(0);opacity:1;transform:none}}
@keyframes c103-copy-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.sober-malakoff-media img,.c103-intro-head>*,.c103-intro-aside>*{animation:none!important;clip-path:none!important;opacity:1!important;transform:none!important}}
html.motion-reduced .sober-malakoff-media img,html.motion-reduced .c103-intro-head>*,html.motion-reduced .c103-intro-aside>*{animation:none!important;clip-path:none!important;opacity:1!important;transform:none!important}
@keyframes sober-copy-in{to{opacity:1;transform:none}}
@keyframes sober-portrait-in{to{opacity:1;transform:none}}
@keyframes sober-draw{to{stroke-dashoffset:0}}
