/* Shared finishing layer. Original layout and brand assets remain in styles.css. */
:root{--blue:#2565ce;--blue2:#1d50a5;--muted:#526075}
html{scroll-padding-top:24px}body{line-height:1.65}main{overflow-wrap:break-word}h1,h2,h3{text-wrap:balance}p{max-width:100%}a,button,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #80adff;outline-offset:4px}[hidden]{display:none!important}.skip{z-index:1000}
.header-inner{gap:22px;min-height:88px;height:auto;padding-block:18px}.nav{gap:20px;min-width:0}.nav>a{position:relative;white-space:nowrap;padding-block:10px}.nav>a[aria-current="page"]{padding-bottom:10px;box-shadow:none}.nav>a[aria-current="page"]:after{content:"";position:absolute;bottom:3px;left:0;width:24px;height:2px;background:#80adff}.header-actions>.btn{font-size:.85rem;padding-inline:17px;min-height:46px}.header-flex-link{font-size:.86rem}.nav a{font-size:.87rem}.language-menu{padding-left:14px}.language-menu summary{min-height:44px;color:#e0e9f8;gap:10px}.language-menu summary:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px}.language-menu[open] summary:after{transform:rotate(225deg);margin-top:4px}.language-options{top:calc(100% + 8px);min-width:180px;border-radius:6px;padding:6px}.language-options a{min-height:44px;display:flex;align-items:center;justify-content:space-between;border-radius:3px}.language-options a[aria-current="page"]{color:#fff;background:#253c5d;box-shadow:none;padding:9px 12px}.language-options a[aria-current="page"]:after{content:"✓";margin-left:20px;color:#a9ceff}
.section{padding-block:clamp(64px,7vw,100px)}.section-head{margin-bottom:40px}.section-head p{line-height:1.7}h2{font-size:clamp(1.95rem,3.3vw,3.1rem);line-height:1.14;letter-spacing:-.035em}h3{line-height:1.25;letter-spacing:-.025em}.hero:before,.hero:after{display:none}.hero-new .hero-grid{gap:clamp(32px,5vw,72px);padding-block:clamp(64px,7vw,100px)}.hero-new .hero-copy{animation:none}.hero-new h1 .hero-expertise{color:#b6cdf0;font-size:clamp(1.05rem,1.45vw,1.3rem);font-weight:600;letter-spacing:.01em}.hero-new h1{font-weight:640;line-height:1.14}.hero-new .lead{color:#c4cfe0;font-size:clamp(1.05rem,1.4vw,1.18rem)}.hero-new .hero-lock-art img{filter:none}.hero-note{line-height:1.7}.hero-meeting{line-height:1.6}.hero-visual-content .eyebrow{font-size:.7rem;letter-spacing:.13em}.hero-sector-name{font-weight:550}.btn{gap:12px;min-height:50px;border-radius:4px;line-height:1.4}.btn:hover,.btn:active{transform:none;box-shadow:none}.btn-blue:hover{background:var(--blue2)}.text-link:hover,.hero-meeting:hover{transform:none}.journey,.sector-card,.service,.offer-card,.person,.insight-card,.flex-card,.flex-sector{border-radius:5px;box-shadow:none;transition:border-color .2s,box-shadow .2s}.journey:hover,.journey:focus-within,.sector-card:hover,.sector-card:focus-within,.service:hover,.service:focus-within,.offer-card:hover,.offer-card:focus-within,.person:hover,.person:focus-within,.insight-card:hover,.insight-card:focus-within,.flex-card:hover,.flex-card:focus-within,.flex-sector:hover,.flex-sector:focus-within{transform:none;box-shadow:0 8px 24px rgba(16,23,36,.06);border-color:#a8bddb}.care-step:hover,.process-step:hover,.faq-list details:hover,.hero-visual:hover,.flex-hero-panel:hover{transform:none;box-shadow:none}.faq-list details:hover{padding-left:0;padding-right:0;background:transparent}.faq-list summary{line-height:1.5;min-height:44px}.faq-list p{line-height:1.75}.service .inline-link{white-space:normal}.service{min-width:0}.person-copy{min-height:108px}.person p{line-height:1.55}.person h3{overflow-wrap:anywhere}.insight-image,.insights-section .insight-image{height:auto;aspect-ratio:16/9}.insight-content h3{line-height:1.3}.offer-card h3{font-size:clamp(1.25rem,2vw,1.5rem)}.offer-meta{line-height:1.5}.offer-card .text-link{min-height:44px}.job-filters{grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr))}.job-filters input,.job-filters select{min-width:0}.job-demo-note{border-radius:3px}.filter-empty{border-radius:3px}.footer-bottom{color:#a7b5c9}.footer-links a{min-height:30px;display:inline-flex;align-items:center}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
/* Client references remain visible, without an endlessly moving strip. */
.client-marquee{mask-image:none;overflow:visible}.client-track{width:min(1200px,calc(100% - 48px));margin:auto;display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;animation:none;transform:none}.client-track .client-logo{margin:0;min-width:0;width:calc((100% - 96px)/5);padding:12px;display:flex!important}.client-logo img{max-width:100%}.client-wordmark span{white-space:normal;overflow-wrap:anywhere;font-size:1.2rem}.client-logo:nth-child(3n) span{font-family:inherit;font-style:normal}.client-strip .eyebrow{margin-bottom:20px}.flex-hero{background:#103c43}.flex-hero-panel{box-shadow:none;border-color:#487c79}.flex-page{--blue:#087c70;--blue2:#066256}.flex-page .btn-blue{background:#087c70}.flex-page .btn-blue:hover{background:#066256}.flex-page .flex-card:hover,.flex-page .flex-sector:hover,.flex-page .process-step:hover,.flex-page .flex-hero-panel:hover{box-shadow:none}.flex-page .btn:hover{box-shadow:none}.flex-card-label,.flex-card-end{color:#116c61}.flex-sector-copy{padding:30px}.flex-page .nav-flex-mobile[aria-current="page"]{color:#a9f0d6}.flex-page .header-flex-link[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}.reveal-ready{opacity:1;translate:none;transition:none}
@media(min-width:1241px) and (max-width:1380px){.header-inner{gap:14px}.brand img{width:155px}.nav{gap:15px}.header-actions{gap:12px}.header-actions>.btn{max-width:170px;text-align:center}.header-flex-link{padding-left:10px}}
@media(max-width:1240px){.header-inner{min-height:78px;padding-block:14px}.header-actions{margin-left:auto}.nav{top:100%;max-height:calc(100dvh - 78px);overflow-y:auto;padding:18px 24px 26px;gap:4px;box-shadow:0 18px 28px #0002}.nav>a{min-height:44px;padding:10px 0}.nav>a[aria-current="page"]:after{bottom:4px}.language-menu{padding-top:10px;margin-top:8px}.language-menu summary{width:100%;justify-content:space-between}.language-options{margin-top:6px}.nav .nav-flex-mobile{margin-top:8px;padding-top:16px;min-height:52px}.header-flex-link{display:none}}
@media(max-width:760px){.hero-new .hero-grid{grid-template-columns:minmax(0,1fr)}.hero-new .hero-visual{grid-template-columns:minmax(80px,.65fr) minmax(0,1.35fr)}.hero-new .hero-visual-content{padding:16px 0 16px 22px}.hero-sector-name{font-size:1rem}.contact-band .btn,.closing .btn,.candidate-panel .btn{white-space:normal;text-align:center}.contact-band-inner,.closing-inner{align-items:flex-start;flex-direction:column}.job-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.job-filters label:first-child{grid-column:1/-1}.client-track .client-logo{width:calc((100% - 48px)/3)}.footer-main>*{min-width:0}.footer-bottom{overflow-wrap:anywhere}.flex-intro-inner,.flex-candidate-inner{overflow-wrap:anywhere}}
@media(max-width:480px){.container{width:calc(100% - 36px)}.header-inner{gap:12px}.brand img{width:150px}.hero-new h1{font-size:clamp(2.1rem,8.5vw,2.8rem)}.hero-new .hero-grid{padding-block:52px;gap:30px}.hero-new .hero-expertise{margin-bottom:18px}.hero-new .hero-lock-art img{max-width:100%}.hero-sector-name{font-size:.9rem}.hero-new .hero-visual-content{padding-left:16px}.hero .btn{padding-inline:16px}.job-filters{grid-template-columns:minmax(0,1fr)}.job-filters label:first-child{grid-column:auto}.client-track{width:calc(100% - 36px);gap:8px 16px}.client-track .client-logo{width:calc((100% - 16px)/2)}.client-wordmark span{font-size:1.1rem}.person-copy,.full-grid .person-copy{padding:16px 12px}.person h3{font-size:1rem}.person p{font-size:.85rem}.value-list li{max-width:100%;border-radius:4px}.flex-sector-copy{padding:24px}.flex-signature{line-height:1.2}.intro-inner a{white-space:normal}.footer-main{gap:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-ready{opacity:1;translate:none}*:focus-within{transform:none!important}}
/* Long translated headings must shrink inside flex and grid containers. */
.contact-band-inner>*,.closing-inner>*,.candidate-panel>*,.flex-candidate-inner>*,.flex-intro-inner>*,.insights-heading>*,.team-heading>*{min-width:0;max-width:100%}.contact-band h2,.closing h2,.flex-candidate h2{overflow-wrap:anywhere}

/* Gentle feedback on actionable elements, without changing the layout. */
@media (prefers-reduced-motion:no-preference){
 .btn{transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s ease,background-color .22s ease,border-color .22s ease}
 .text-link,.hero-meeting{transition:transform .22s ease,color .22s ease}
 .btn .arrow,.text-link .arrow,.hero-meeting span{transition:transform .22s ease}
 .journey,.sector-card,.offer-card,.insight-card,.person:has(a){transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s ease,border-color .28s ease}
 @media (hover:hover) and (pointer:fine){
  .btn:hover{transform:translateY(-3px);box-shadow:0 7px 18px rgba(16,23,36,.15)}
  .flex-page .btn:hover{box-shadow:0 7px 18px rgba(8,91,79,.18)}
  .btn-outline-light:hover{box-shadow:0 7px 18px rgba(0,0,0,.16)}
  .btn:hover .arrow,.text-link:hover .arrow,.hero-meeting:hover span{transform:translate(2px,-2px)}
  .text-link:hover,.hero-meeting:hover{transform:translateX(3px)}
  .journey:hover,.sector-card:hover,.offer-card:hover,.insight-card:hover,.person:has(a):hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(16,23,36,.09)}
 }
 .btn:focus-visible{transform:translateY(-2px)}
 .btn:active{transform:translateY(0);box-shadow:none;transition-duration:.1s}
}

/* A seamless client ribbon; the second group is decorative and inaccessible. */
.client-strip>.container{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.client-strip>.container .eyebrow{margin:0}
.client-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.client-track{display:flex;flex-wrap:nowrap;justify-content:flex-start;width:max-content;max-width:none;margin:0;gap:0;animation:client-ribbon var(--client-duration,76s) linear infinite}
.client-group{display:flex;align-items:center;gap:32px;padding-right:32px;flex-shrink:0}
.client-track .client-logo{width:190px;min-width:190px;margin:0;height:76px;padding:12px;flex-shrink:0}
.client-wordmark{font-weight:700;font-size:1.25rem;letter-spacing:-.025em;color:#64748b;white-space:nowrap}
.client-marquee:focus-within .client-track{animation-play-state:paused}
@media(hover:hover) and (pointer:fine){.client-marquee:hover .client-track{animation-play-state:paused}}
@keyframes client-ribbon{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:680px){.client-group{gap:24px;padding-right:24px}.client-track .client-logo{width:155px;min-width:155px;height:66px}.client-wordmark{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){
 .client-marquee{mask-image:none}
 .client-track{width:min(1200px,calc(100% - 36px));margin:auto;animation:none;transform:none}
 .client-group{width:100%;flex-wrap:wrap;justify-content:center;gap:12px;padding:0}
 .client-track .client-logo{width:calc((100% - 48px)/5);min-width:0;white-space:normal;overflow-wrap:anywhere}
 .client-track .client-group-copy{display:none!important}
}
@media(prefers-reduced-motion:reduce) and (max-width:680px){.client-track .client-logo{width:calc((100% - 12px)/2)}}

/* The opening composition gives the brand illustration room to breathe. */
.hero-new .hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(36px,5vw,80px)}
.hero-new h1{font-size:clamp(2.8rem,4.1vw,4.1rem);max-width:18ch;letter-spacing:-.045em;line-height:1.1;margin-bottom:26px}
.hero-new h1 .hero-expertise{margin-bottom:24px;font-size:clamp(1.05rem,1.35vw,1.2rem);letter-spacing:.025em;line-height:1.5}
.hero-new .hero-copy>.lead{max-width:58ch;line-height:1.75;margin-bottom:30px}
.hero-new .hero-visual{max-width:380px;justify-self:center;width:100%}
.hero-new .hero-lock-art{height:320px;display:grid;place-items:center}
.hero-new .hero-lock-art img{width:240px;height:300px}
.hero-new .hero-visual-content{padding:10px 24px 0}
.hero-visual-content .eyebrow{margin-bottom:16px;letter-spacing:.16em;color:#aac6f1}
.hero-sector-name{padding:13px 0;line-height:1.5}
.hero-new .hero-note{font-size:.82rem;letter-spacing:.015em;color:#adbbd0}
.hero-new .hero-meeting{font-size:.92rem;text-decoration-thickness:1px;text-underline-offset:5px}
/* Keep the original client logos legible and aligned. */
.client-strip{padding-block:30px 26px}
.client-track .client-logo{height:84px;padding:14px 18px}
.client-logo img{width:auto;height:auto;max-width:160px;max-height:44px;object-fit:contain;opacity:1;filter:none}
.client-wordmark{color:#617189;font-size:1.3rem;font-weight:650;letter-spacing:-.025em;line-height:1.25}
.client-wordmark>span{font:inherit;color:inherit;letter-spacing:inherit;white-space:nowrap}
@media(hover:hover) and (pointer:fine){.client-wordmark:hover{color:#243f64}}
@media(max-width:980px) and (min-width:761px){
 .hero-new .hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);gap:28px}
 .hero-new h1{font-size:clamp(2.6rem,4.5vw,3.3rem)}
 .hero-new .hero-lock-art{height:270px}.hero-new .hero-lock-art img{width:200px;height:250px}
 .hero-new .hero-visual-content{padding-inline:8px}.hero-sector-name{font-size:.96rem}
}
@media(max-width:760px){
 .hero-new .hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .hero-new h1{font-size:clamp(2.45rem,7vw,3.4rem);max-width:20ch}
 .hero-new .hero-visual{max-width:540px;justify-self:start;grid-template-columns:minmax(100px,.65fr) minmax(0,1.35fr);align-items:center}
 .hero-new .hero-lock-art{height:195px}.hero-new .hero-lock-art img{width:144px;height:180px}
 .hero-new .hero-visual-content{padding:12px 0 12px 24px}
 .hero-visual-content .eyebrow{margin-bottom:12px}.hero-sector-name{padding:10px 0}
}
@media(max-width:480px){
 .hero-new h1{font-size:clamp(2.15rem,8.6vw,2.8rem)}
 .hero-new h1 .hero-expertise{margin-bottom:20px}
 .hero-new .hero-copy>.lead{font-size:1.04rem;line-height:1.7}
 .hero-new .hero-visual{grid-template-columns:100px minmax(0,1fr);gap:8px}
 .hero-new .hero-lock-art{height:164px}.hero-new .hero-lock-art img{width:120px;height:150px;max-width:100%}
 .hero-new .hero-visual-content{padding-left:16px}.hero-sector-name{font-size:.9rem}
 .client-strip>.container{gap:8px;margin-bottom:10px}.client-strip{padding-block:24px 18px}
 .client-track .client-logo{height:70px;padding:12px}.client-logo img{max-width:132px;max-height:36px}.client-wordmark{font-size:1.15rem}
}
@media(prefers-reduced-motion:reduce){.client-wordmark,.client-wordmark>span{white-space:normal;overflow-wrap:anywhere}.client-logo img{max-width:100%}}

