:root{--caveo:#07545d;--orange:#ff914d;--paper:#f7f6f2;--ink:#162628}
.dynamique{background:var(--paper);color:var(--ink);overflow-x:clip}
.dynamique header{position:sticky;top:16px;margin:16px auto 0;width:calc(100% - 48px);max-width:1450px;border:1px solid #07545d12;background:#fffffff2;backdrop-filter:blur(20px);border-radius:18px;box-shadow:0 8px 40px #07545d08;z-index:30}
.dynamique .tech-topline{padding-top:28px;color:var(--caveo)}
.dynamique .tech-hero{padding-top:30px;padding-bottom:65px;gap:50px;min-height:650px;align-items:center;grid-template-columns:1.02fr 1fr}
.dynamique .tech-copy h1{font-size:clamp(58px,6.7vw,96px);line-height:1.03;letter-spacing:-5px;position:relative;z-index:2}
.dynamique .tech-copy h1>span:not(.orange-dot){color:var(--caveo)}
.dynamique .tech-copy>.eyebrow{font-size:12px;letter-spacing:1.3px}
.dynamique .tech-copy>p:not(.eyebrow){font-size:18px;color:#53696b;line-height:1.6}
.dynamique .button{border-radius:40px;padding:15px 25px}
.dynamique .hero-proof{margin-top:26px}
.hero-visual{position:relative;min-width:0;height:570px;margin-right:12px}
.hero-city{height:490px;position:absolute;inset:0 0 auto 22px;overflow:hidden;border-radius:110px 12px 110px 12px;background:#07545d}
.hero-city>img{height:100%;width:100%;object-fit:cover;animation:city-pan 22s ease-in-out infinite alternate}
.city-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#07545d10 0%,#07545d15 35%,#063c46d9 100%)}
.visual-tag{position:absolute;top:24px;right:24px;background:#ffffffed;color:#07545d;border-radius:30px;padding:10px 15px;font-size:11px;display:flex;align-items:center;gap:8px}
.visual-tag i{width:6px;height:6px;border-radius:50%;background:var(--orange)}
.visual-caption{position:absolute;bottom:36px;left:38px;color:white;display:flex;flex-direction:column}
.visual-caption>span{font-size:13px;opacity:.85}
.visual-caption b{font:500 58px/1.2 Manrope,sans-serif;letter-spacing:-2px}
.visual-caption .orange-dot{color:var(--orange)}
.hero-people{position:absolute;width:240px;height:180px;bottom:0;right:-12px;border:8px solid var(--paper);border-radius:28px;overflow:hidden;box-shadow:0 16px 36px #07545d12;z-index:3}
.hero-people img{width:100%;height:100%;object-fit:cover}
.hero-people span{position:absolute;inset:auto 0 0;padding:24px 12px 12px;background:linear-gradient(transparent,#071e24ba);color:white;font-size:11px}
.hero-orbit{position:absolute;width:114px;height:114px;border:1px solid var(--orange);border-radius:50%;left:-21px;bottom:21px;z-index:2}
.hero-orbit{display:none}
.hero-coordinates{position:absolute;left:110px;bottom:48px;font:10px monospace;letter-spacing:2px;color:var(--caveo)}
.global-motion{position:absolute;bottom:6px;left:117px;border:1px solid #07545d30;background:transparent;color:var(--caveo);border-radius:50%;height:30px;width:30px;cursor:pointer}
.dynamique .numbers{padding:36px 24px 46px;background:transparent;border-top:1px solid #07545d22;border-bottom:0}
.dynamique .numbers p{color:#52696b}.dynamique .numbers>div{border-color:#07545d25}
.dynamique .numbers strong{color:var(--caveo);font-size:54px}
.skills-ribbon{overflow:hidden;background:#fff0e5;color:#9a4819;padding:19px 0;margin:25px 0 40px;width:100%;border-top:1px solid #ffd9bf;border-bottom:1px solid #ffd9bf}
.skills-ribbon>div{display:flex;align-items:center;gap:40px;width:max-content;animation:ribbon 70s linear infinite}
.skills-ribbon span{font:500 27px Manrope,sans-serif;white-space:nowrap}
.skills-ribbon i{width:5px;height:5px;border-radius:50%;background:var(--orange);flex:0 0 5px}
.dynamique .section-heading h2{font-size:clamp(35px,4vw,56px);line-height:1.1;letter-spacing:-2px;color:var(--caveo)}
.dynamique .muted-heading{color:#759395}
.network-stage{display:grid;grid-template-columns:.7fr 1fr;gap:70px;align-items:center;margin:25px 0 65px;background:#eaf0ec;border-radius:22px;padding:30px 38px}
.network-copy h3{font:500 34px/1.15 Manrope,sans-serif;color:var(--caveo);letter-spacing:-1px;margin:18px 0}
.network-copy>p:not(.eyebrow){color:#526869;line-height:1.7;font-size:15px}
.network-note{display:block;margin-top:30px;color:var(--caveo);font-size:12px}
.dynamique .network-stage .tech-console{width:100%;box-shadow:none;margin:0}
.dynamique .six-poles{gap:22px}
.dynamique .expertise-card{transition:transform .35s,box-shadow .35s;border-radius:18px;background:#fff}
.dynamique .expertise-card:hover{transform:translateY(-6px);box-shadow:0 16px 30px #07545d0d}
.dynamique .expertise-card:nth-child(-n+2){background:#10191b;border-color:#273536}
.dynamique .expertise-card:nth-child(n+3) .expertise-num>b{color:#6e9599}
.dynamique .expertise-card h3{color:var(--caveo)}
.dynamique .expertise-card:nth-child(-n+2) h3{color:white}
.dynamique .editorial-services{gap:24px}
.dynamique .editorial-services article{padding:40px;border-radius:20px;background:#e7eeeb}
.dynamique .editorial-services article:nth-child(2){background:#f8e9dd}
.dynamique .collectif{background:#07545d;color:white;padding:85px 0;margin:50px 0 0;position:relative;overflow:hidden}
.dynamique .collectif:after{content:'C';position:absolute;font:500 600px/1 Manrope,sans-serif;right:-60px;bottom:-130px;color:#ffffff05;pointer-events:none}
.dynamique .collective-grid{position:relative;z-index:1;gap:70px}
.dynamique .collectif h2{color:white;font-size:47px;letter-spacing:-2px;line-height:1.15}
.dynamique .collectif .eyebrow{color:#ffae7a}
.dynamique .collectif .lead{color:#d5e3e3}
.dynamique .collectif .values span{border-color:#ffffff35;color:white;background:transparent}
.dynamique .collectif .more{border-color:#ffffff40}
.dynamique .collectif .more summary,.dynamique .collectif .more-content p,.dynamique .collectif .text-link{color:#f6f8f7}
.dynamique .photo{height:510px;border-radius:16px 90px 16px 16px;overflow:hidden}
.dynamique .photo img{transition:transform 1.3s}
.dynamique .photo:hover img{transform:scale(1.05)}
.dynamique .photo>span{padding:34px;font-family:'DM Sans',sans-serif;color:white;font-size:20px;background:linear-gradient(transparent,#071a20d9)}
.dynamique .photo>span b{float:right;color:#ff914d;font-size:35px}
.dynamique .references{padding:65px 0}
.dynamique .client-logos{background:#fff;border-radius:18px;padding:25px 15px;gap:18px}
.dynamique .client-logos img{filter:brightness(0);opacity:.8;transition:opacity .3s,transform .3s}
.dynamique .client-logos a:hover img,.dynamique .client-logos a:focus-visible img{filter:brightness(0);opacity:1;transform:scale(1.03)}
.city-section{background:linear-gradient(115deg,#e4eeeb,#f7f6f2 60%,#f9e8dc);padding:85px 0 35px;overflow:hidden;scroll-margin-top:120px}
.city-intro{align-self:flex-end}
.city-intro p{font-size:17px;color:#54696a;line-height:1.6}
.carousel-controls{display:flex;gap:10px;margin-top:20px}
.carousel-controls button{width:45px;height:45px;border:1px solid #07545d60;border-radius:50%;background:transparent;color:var(--caveo);font-size:20px;cursor:pointer;transition:background .2s}
.carousel-controls button:hover{background:var(--caveo);color:white}
.carousel-controls button:disabled{opacity:.3;cursor:default}
.city-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:5px max(24px,calc((100vw - 1160px)/2)) 25px;overscroll-behavior-x:contain}
.city-track::-webkit-scrollbar{display:none}
.city-card{position:relative;flex:0 0 340px;height:440px;border-radius:18px 18px 60px 18px;overflow:hidden;scroll-snap-align:center;background:#07545d}
.city-card>img{height:100%;width:100%;object-fit:cover;transition:transform 1.2s}
.city-card:hover>img{transform:scale(1.065)}
.city-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#062d3420 25%,#062d34df 100%);pointer-events:none}
.city-number{position:absolute;z-index:2;top:22px;left:24px;font:11px monospace;color:#fff;letter-spacing:1px}
.city-card-content{position:absolute;z-index:2;bottom:30px;left:26px;right:24px;color:#fff}
.city-card-content small{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;opacity:.85}
.city-card-content h3{font:500 35px/1.2 Manrope,sans-serif;color:#fff;margin:8px 0 12px}
.city-card-content p{font-size:13px;line-height:1.5;max-width:225px;min-height:39px;color:#f3f3ef}
.city-card-content a{position:absolute;right:0;top:31px;height:37px;width:37px;border-radius:50%;background:#ff914d;color:#173e43;font-size:22px;text-decoration:none;display:grid;place-items:center}
.city-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:12px;gap:30px}
.city-progress{width:180px;height:2px;background:#07545d25;overflow:hidden}
.city-progress i{display:block;height:100%;width:25%;background:var(--caveo);transition:transform .2s}
.city-bottom p{font-size:11px;color:#546e70}
.city-bottom p span{padding-left:20px}
.talent-banner{height:340px;position:relative;margin-bottom:32px;overflow:hidden;border-radius:24px;background:#07545d}
.talent-banner>img{width:100%;height:100%;object-fit:cover;object-position:center 45%;opacity:.7}
.talent-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#053941ed,transparent)}
.talent-banner>div{position:absolute;z-index:2;top:40px;left:40px;color:white}
.talent-banner span{font-size:11px;letter-spacing:1px;color:#ffb384}
.talent-banner h3{color:white;font:500 40px/1.2 Manrope,sans-serif;margin:18px 0 25px;letter-spacing:-1px}
.dynamique .jobs>a,.dynamique .jobs details{border-color:#07545d22}
.dynamique .contact{background:#e7eeeb}
.dynamique .contact h2{color:var(--caveo)}
.dynamique .contact h2 em{color:#b56231}
.dynamique .contact .eyebrow{color:var(--caveo)}.dynamique .contact-grid p,.dynamique .contact-mail,.dynamique .contact .phone{color:var(--caveo)}
.dynamique footer{background:#10191b;color:white;padding-top:45px}
.dynamique .compact-offices{border-top:1px solid #ffffff20;margin-top:30px;padding-top:30px}
.dynamique .compact-offices p{font-size:11px;color:#b4c6c5}
.dynamique .footer-head p{color:#c6d6d5}
.dynamique .footer-head .text-link,.dynamique footer a{color:#ffa96e}
.dynamique .footer-bottom{border-color:#ffffff20;color:#9eb4b5}
.animation-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}
.animation-ready .reveal.is-visible{opacity:1;transform:none}
body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after{animation-play-state:paused!important}
@keyframes city-pan{from{transform:scale(1)}to{transform:scale(1.08) translateX(-1%)}}
@keyframes spin-slow{to{transform:rotate(360deg)}}
@keyframes ribbon{to{transform:translateX(-50%)}}
@media(min-width:1500px){.dynamique .wrap{max-width:1280px}.dynamique .tech-hero{gap:75px}}
@media(max-width:1050px){.dynamique .tech-hero{gap:28px}.dynamique .tech-copy h1{letter-spacing:-3px;font-size:64px}.hero-visual{height:500px}.hero-city{height:420px}.hero-people{width:190px;height:155px}.hero-coordinates{display:none}.network-stage{gap:25px;padding:25px;grid-template-columns:.6fr 1fr}.dynamique .collective-grid{gap:35px}}
@media(max-width:760px){.dynamique header{top:8px;width:calc(100% - 24px);margin-top:8px;border-radius:12px}.dynamique .tech-hero{grid-template-columns:1fr;padding-top:25px;padding-bottom:40px;gap:36px}.dynamique .tech-copy h1{font-size:58px;letter-spacing:-3px}.dynamique .tech-copy>p:not(.eyebrow){font-size:16px}.hero-visual{height:450px;margin:0 8px 0 0}.hero-city{height:385px;left:8px;border-radius:65px 10px 70px 10px}.hero-people{width:185px;height:145px}.hero-orbit{left:8px;bottom:5px;width:90px;height:90px}.hero-orbit:after{font-size:54px;line-height:88px}.global-motion{left:110px;bottom:21px}.visual-caption b{font-size:46px}.visual-tag{font-size:9px;right:15px}.dynamique .numbers{gap:25px;padding:24px 0}.dynamique .numbers strong{font-size:42px}.skills-ribbon{padding:13px 0}.skills-ribbon span{font-size:22px}.network-stage{grid-template-columns:1fr;padding:22px 14px;gap:25px;margin-bottom:35px}.network-copy{padding:0 12px}.network-copy h3{font-size:28px}.network-note{display:none}.dynamique .section-heading h2{font-size:37px;letter-spacing:-1.5px}.dynamique .collectif h2{font-size:37px}.dynamique .photo{height:365px}.dynamique .editorial-services article{padding:27px}.dynamique .collectif{padding:55px 0}.city-section{padding-top:55px}.city-card{flex-basis:285px;height:385px}.city-track{gap:15px}.city-bottom p{max-width:170px}.city-progress{width:90px}.talent-banner{height:310px}.talent-banner>div{left:25px;top:28px}.talent-banner h3{font-size:33px}.dynamique .client-logos{padding:12px}.dynamique .footer-head{gap:24px}.dynamique .compact-offices{grid-template-columns:repeat(2,1fr)} }
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.hero-city>img,.hero-orbit:after,.skills-ribbon>div{animation:none}.animation-ready .reveal{opacity:1;transform:none;transition:none}.city-card>img{transition:none}}

