body { background:#fff; color:#122b51; }
header { background:#fff; border-color:#e0e6ef; height:120px; }
.languages button { color:#52627a; }
.languages button[aria-pressed=true] { color:#122b51; }
.logo-brand { width:126px; height:112px; position:relative; flex-shrink:0; }
.logo-brand img { width:170px; height:170px; max-width:none; flex-shrink:0; mix-blend-mode:multiply; }
.hero-global { position:relative; display:block; overflow:hidden; margin:0; min-height:670px; background:#0b1d3d; isolation:isolate; }
.hero-art { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,20,46,.96) 0%,rgba(7,20,46,.83) 36%,rgba(7,20,46,.3) 65%,rgba(7,20,46,.08) 100%); z-index:-1; }
.hero-global .hero-main { padding:68px 6% 36px; position:relative; max-width:970px; }
.hero .eyebrow { color:#b3c9e7; font-size:12px; letter-spacing:2px; margin-bottom:32px; }
.hero-global h1 { font-size:clamp(40px,4.5vw,69px); letter-spacing:-2.3px; line-height:1.14; max-width:740px; margin:0 0 26px; text-wrap:balance; }
em { color:#a9cfff; }
.hero-global h1 em { color:#a9cfff; letter-spacing:-1.8px; }
.hero-bottom { max-width:510px; }
.hero-bottom p { max-width:500px; font-size:18px; line-height:1.7; color:#e0e9f6; margin:0 0 30px; }
.lime { background:#e9f2ff; color:#102b53; }
.lime:hover { background:#fff; }
.explore { display:inline-flex; align-items:center; gap:28px; color:#b3c9e7; font-size:13px; margin-top:48px; border-bottom:1px solid #7896bf; padding-bottom:8px; }
.positioning { background:#f0f5fb; border-color:#d8e2ef; padding:27px 4%; justify-content:center; }
.positioning p { width:100%; max-width:none; font-size:clamp(15px,1.35vw,18px); line-height:2.2; font-weight:500; text-align:center; text-wrap:balance; }
.positioning > span { display:none; }
.positioning p .service-term { display:inline-flex; align-items:center; font:inherit; letter-spacing:normal; white-space:nowrap; margin:0; }
.positioning p .service-term + .service-term::before { content:"•"; font-size:23px; line-height:1; margin-inline:clamp(8px,1vw,14px); color:#375b88; }
@media(min-width:1050px) { .positioning p { white-space:nowrap; } }
header nav { font-size:17px; font-weight:700; gap:36px; }
header .languages { font-size:16px; gap:8px; font-weight:700; }
header .languages button { font-weight:700; padding:10px 5px; }
@media(max-width:1000px) and (min-width:761px) { header nav { gap:20px; font-size:16px; } }
@media(max-width:760px) { .positioning p .service-term { font-size:16px; } .positioning p .service-term + .service-term::before { margin-inline:10px; font-size:23px; } }
.section .eyebrow { color:#536a88; }
.section-intro,.services p,.approach-note,.engagements p,.about p:not(.eyebrow):not(.role),footer p,footer>span { color:#52647d; }
.services,.services article,.career { border-color:#d4deeb; }
.service-number { color:#546f92; }
.services .service-callout { background:#eaf1fa; }
.service-callout a { border-color:#8fa6c3; }
.approach { background:#edf2f9; }
.engagements article,.engagements article:last-child { border-color:#cad6e6; }
.about-monogram { background:#f0f4fa; }
.about-monogram img { width:100%; }
.contact { background:#0b1d3d; }
.contact .eyebrow,.contact-bottom p { color:#c4d3e8; }
.email { border-color:#8fa6c3; }
.contact-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; }
.button.outline { border:1px solid #8fa6c3; color:#fff; }
.button.outline:hover { background:#18335c; opacity:1; }
.direct-contacts { display:flex; flex-wrap:wrap; gap:12px 28px; align-items:center; margin-top:24px; }
.phone { display:inline-block; margin-top:22px; font-size:14px; border-bottom:1px solid #8fa6c3; padding-bottom:7px; }
.skip { background:#dceaff; }
:focus-visible { outline-color:#5b94de; }
.footer-brand { width:94px; height:86px; }
.footer-brand img { width:132px; height:132px; }
@media(max-width:1000px) { .hero-global .hero-main { max-width:820px; } .hero-global h1 { max-width:620px; } }
@media(max-width:760px) {
 header { height:101px; }
 .logo-brand { width:106px; height:92px; }
 .logo-brand img { width:140px; height:140px; }
 .hero-global { min-height:0; }
 .hero-art { object-position:67% center; }
 .hero-shade { background:linear-gradient(90deg,rgba(7,20,46,.93),rgba(7,20,46,.63)),linear-gradient(0deg,rgba(7,20,46,.9),transparent 65%); }
 .hero-global .hero-main { padding:46px 8% 32px; }
 .hero-global h1 { font-size:clamp(36px,8.5vw,55px); line-height:1.15; letter-spacing:-1.3px; }
 .hero-global h1 em { letter-spacing:-1px; }
 .hero .eyebrow { font-size:12px; letter-spacing:1px; margin-bottom:26px; }
 .hero-bottom p { font-size:16px; }
 .hero-bottom .button { gap:16px; font-size:13px; line-height:1.5; padding:16px 18px; }
 .contact-actions { justify-content:flex-start; margin-top:16px; }
 .contact-actions .button { width:100%; }
 .explore { margin-top:36px; }
 .footer-brand { height:84px; }
}
