/* French copy has different line lengths. These rules never change English. */
.pj-language-fr :is(h1,h2,h3){max-inline-size:100%;line-height:1.12;letter-spacing:-.04em;word-break:normal;overflow-wrap:break-word;hyphens:auto;text-wrap:balance}
.pj-language-fr :is(.hero-copy,.inner-heading,.pathway-content,.human-content,.form-intro,.section-heading>div,.about-story>div,.services-layout>div){min-inline-size:0}
.pj-language-fr h2{font-size:clamp(40px,4.65vw,72px)}
.pj-language-fr .hero-copy{max-width:52%}
.pj-language-fr .hero h1{font-size:clamp(62px,6.3vw,104px);line-height:1.1;letter-spacing:-.055em}
.pj-language-fr .hero h1 .headline-mask{display:block;margin-right:0;line-height:inherit;padding:.16em .045em .25em;margin-top:-.16em;margin-left:-.045em;margin-bottom:-.25em}
.pj-language-fr .hero h1 .headline-mask:first-child{font-size:.82em;line-height:1.16}
.pj-language-fr .hero .headline-mask>span,.pj-language-fr .hero .headline-mask>em{white-space:normal;text-wrap:balance;overflow-wrap:normal}
.pj-language-fr .hero h1 em{font-size:1.1em;line-height:1.12;letter-spacing:-.025em}
.pj-language-fr .hero .eyebrow{letter-spacing:.08em}
.pj-language-fr .hero-description{max-width:39ch;font-size:14px;line-height:1.75;margin-top:30px}
.pj-language-fr .hero-buttons{margin-top:27px}
.pj-language-fr .inner-heading h1{font-size:clamp(48px,5.1vw,82px);line-height:1.12;letter-spacing:-.045em}
.pj-language-fr .inner-heading>p:last-child{font-size:14px;line-height:1.75;max-width:39ch;margin-top:28px}
.pj-language-fr .inner-heading>.eyebrow{max-width:48ch;line-height:1.7;margin-bottom:28px}
/* Leave room inside animated masks for French accents and serif descenders. */
.pj-language-fr .line-mask{padding:.18em .045em .28em;margin:-.18em -.045em -.28em}
.pj-language-fr .line-inner{line-height:inherit;white-space:normal;text-wrap:balance;overflow-wrap:break-word}
.pj-language-fr .word-highlight{font-size:clamp(32px,3.8vw,60px);line-height:1.2;letter-spacing:-.035em;text-wrap:pretty}
.pj-language-fr .employer-intro .word-highlight{font-size:clamp(36px,4.1vw,66px)}
.pj-language-fr .pathway-content h2{font-size:clamp(44px,4.5vw,72px);line-height:1.13}
.pj-language-fr :is(.pathway-content,.human-content)>p:not(.eyebrow),.pj-language-fr .intro-bottom p{font-size:14px;line-height:1.75;max-width:43ch}
.pj-language-fr .form-intro h2{font-size:clamp(40px,4vw,64px)}
.pj-language-fr .form-intro>p:not(.eyebrow){font-size:14px;line-height:1.75;max-width:40ch}
.pj-language-fr .human-content h2{font-size:clamp(42px,4.4vw,70px)}
.pj-language-fr .about-story h2{font-size:clamp(42px,4.5vw,70px)}
.pj-language-fr .about-photo>h2{font-size:clamp(40px,5.8vw,86px);max-inline-size:calc(100% - var(--pad)*2);line-height:1.13}
.pj-language-fr .three-values h3{font-size:clamp(26px,2.35vw,34px);line-height:1.2}
.pj-language-fr .three-values p{font-size:14px;line-height:1.75}
.pj-language-fr .bridge-message h2{font-size:clamp(58px,6.8vw,112px);line-height:1.1;letter-spacing:-.045em}
.pj-language-fr .bridge-message{max-width:1060px}
.pj-language-fr .bridge-message>.eyebrow{max-width:52ch;line-height:1.7}
.pj-language-fr .industry-scene .industry-heading h2{font-size:clamp(42px,4.5vw,70px);line-height:1.12}
.pj-language-fr .industry-index a{font-size:10px;line-height:1.5;hyphens:auto}
.pj-language-fr .industry-current{gap:18px}
.pj-language-fr .industry-active-link{min-width:0;font-size:clamp(18px,1.9vw,28px);line-height:1.25;gap:14px}
.pj-language-fr .industry-active-link>span:first-child{min-width:0;hyphens:auto;overflow-wrap:break-word}
.pj-language-fr .industry-active-link .arrow,.pj-language-fr .ribbon-controls{flex-shrink:0}
.pj-language-fr .sector-tile h3{font-size:clamp(24px,2.15vw,32px);line-height:1.2;padding-right:24px;max-width:none;text-wrap:pretty}
.pj-language-fr .service-tab{font-size:clamp(18px,1.65vw,25px);line-height:1.35;gap:15px;padding-block:22px}
.pj-language-fr .service-tab [data-pj-field]{min-width:0;flex:1;text-wrap:pretty}
.pj-language-fr .service-tab :is(.service-num,.arrow){flex-shrink:0}
.pj-language-fr .service-description h3{font-size:clamp(21px,1.9vw,27px);line-height:1.3}
.pj-language-fr .service-description p{font-size:14px;line-height:1.75;min-height:0}
.pj-language-fr .service-description{min-height:285px}
.pj-language-fr .job-card h3{font-size:clamp(22px,1.9vw,29px);line-height:1.25;max-width:none}
.pj-language-fr .process-step h3{font-size:clamp(24px,2.1vw,31px);line-height:1.2}
.pj-language-fr .faq-section h2{font-size:clamp(40px,4.3vw,68px)}
.pj-language-fr .faq summary{font-size:clamp(18px,1.6vw,24px);line-height:1.4;gap:24px}
.pj-language-fr .final-cta h2{font-size:clamp(46px,5.8vw,96px);line-height:1.14;letter-spacing:-.045em;max-inline-size:100%;margin-inline:auto}
.pj-language-fr .form-success h3{font-size:clamp(25px,2.4vw,34px);line-height:1.3}
.pj-language-fr .privacy-content h2{font-size:clamp(28px,2.7vw,38px);line-height:1.25}
.pj-language-fr .pj-job-detail h2{font-size:clamp(38px,4.2vw,64px)}
.pj-language-fr .pj-3d-button{max-width:100%}
@media(min-width:951px){
 .pj-language-fr .industry-heading{right:var(--pad)}
 .pj-language-fr .industry-heading h2{max-width:74%}
 .pj-language-fr .industry-heading>p:last-child{left:auto;right:0;max-width:22ch;line-height:1.6}
}
@media(min-width:641px) and (max-width:950px){
 .pj-language-fr .inner-heading h1{font-size:clamp(40px,5.8vw,60px)}
 .pj-language-fr .inner-heading>p:last-child{font-size:13px}
 .pj-language-fr .pathway-content h2{font-size:clamp(38px,5.6vw,54px)}
 .pj-language-fr .form-intro h2{font-size:clamp(36px,4.9vw,48px)}
 .pj-language-fr .three-values{gap:24px}
 .pj-language-fr .three-values h3{font-size:26px}
}
@media(max-width:950px){
 .pj-language-fr .hero{height:auto;min-height:100svh;max-height:none;padding-bottom:100px}
 .pj-language-fr .hero-copy{max-width:100%}
 .pj-language-fr .hero h1{font-size:clamp(54px,8.3vw,78px)}
 .pj-language-fr .hero-art{position:relative;inset:auto;width:100%;height:420px;margin:20px auto 0}
 .pj-language-fr .hero-side-note{display:none}
 .pj-language-fr .bridge-message h2{font-size:clamp(50px,8.5vw,80px)}
 .pj-language-fr .industry-scene .industry-heading h2{max-width:100%;font-size:clamp(40px,6vw,58px)}
 .pj-language-fr .industry-heading>p:last-child{line-height:1.6}
 .pj-language-fr .service-description{min-height:300px}
}
@media(max-width:640px){
 .pj-language-fr :is(h1,h2,h3){letter-spacing:-.035em}
 .pj-language-fr h2{font-size:clamp(36px,9.5vw,48px)}
 .pj-language-fr .hero h1{font-size:clamp(42px,12vw,64px);line-height:1.13}
 .pj-language-fr .hero h1 .headline-mask:first-child{font-size:.84em}
 .pj-language-fr .hero h1 em{font-size:1.12em}
 .pj-language-fr .hero-art{height:350px;margin-top:24px}
 .pj-language-fr .hero-description{font-size:14px;max-width:36ch;line-height:1.7;margin-top:24px}
 .pj-language-fr .hero-buttons{margin-top:24px}
 .pj-language-fr .inner-heading h1{font-size:clamp(38px,10.8vw,54px);line-height:1.15}
 .pj-language-fr .inner-heading>p:last-child{font-size:14px;max-width:38ch;line-height:1.75;margin-top:24px}
 .pj-language-fr .inner-heading>.eyebrow{max-width:42ch;line-height:1.7;margin-bottom:24px}
 .pj-language-fr .word-highlight{font-size:clamp(29px,7.8vw,38px);line-height:1.25}
 .pj-language-fr .employer-intro .word-highlight{font-size:clamp(31px,8.4vw,40px)}
 .pj-language-fr .pathway-content h2{font-size:clamp(38px,10.5vw,54px);line-height:1.15}
 .pj-language-fr .pathway-content{padding-top:48px;padding-bottom:58px}
 .pj-language-fr .form-intro h2,.pj-language-fr .about-story h2{font-size:clamp(36px,10vw,48px)}
 .pj-language-fr .human-content h2{font-size:clamp(38px,10vw,50px)}
 .pj-language-fr .about-photo>h2{font-size:clamp(34px,9vw,46px);bottom:36px}
 .pj-language-fr .three-values h3{font-size:29px;line-height:1.22}
 .pj-language-fr .bridge-message h2{font-size:clamp(40px,11vw,58px);line-height:1.16}
 .pj-language-fr .bridge-message .eyebrow{max-width:38ch;line-height:1.8}
 .pj-language-fr .industry-scene .industry-heading h2{font-size:clamp(36px,9.6vw,48px)}
 .pj-language-fr .industry-active-link{font-size:18px;line-height:1.3;gap:10px}
 .pj-language-fr .industry-current{gap:12px}
 .pj-language-fr .sector-tile h3{font-size:clamp(23px,6.6vw,29px);line-height:1.25}
 .pj-language-fr .service-tab{font-size:18px;line-height:1.4;padding-block:20px;gap:12px}
 .pj-language-fr .service-description{min-height:300px}
 .pj-language-fr .service-description h3{font-size:22px;line-height:1.3}
 .pj-language-fr .job-card h3{font-size:25px;line-height:1.25}
 .pj-language-fr .faq-section h2{font-size:clamp(36px,9.5vw,48px)}
 .pj-language-fr .faq summary{font-size:18px;line-height:1.45;gap:18px}
 .pj-language-fr .final-cta h2{font-size:clamp(35px,9.5vw,50px);line-height:1.2}
 .pj-language-fr .final-cta .section-top{margin-bottom:30px}
 .pj-language-fr .form-success h3{font-size:26px;line-height:1.3}
 .pj-language-fr .privacy-content h2{font-size:28px;line-height:1.3}
}
@media(max-width:380px){
 .pj-language-fr .hero h1{font-size:42px}
 .pj-language-fr .hero-art{height:320px}
 .pj-language-fr .inner-heading h1{font-size:37px}
 .pj-language-fr .service-tab{font-size:17px}
}
