:root{
  --localized-font:var(--font);
}

html:lang(zh-CN){
  --localized-font:"Noto Sans SC","Microsoft YaHei","PingFang SC","Hiragino Sans GB","Source Han Sans SC",Arial,sans-serif;
}

html:lang(ja){
  --localized-font:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,Arial,sans-serif;
}

html:lang(ko){
  --localized-font:"Noto Sans KR","Malgun Gothic","Apple SD Gothic Neo",Arial,sans-serif;
}

html:lang(ar){
  --localized-font:"Noto Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif;
}

body.localized-entry{
  font-family:var(--localized-font);
  letter-spacing:.04em;
}

body.localized-entry.german-entry{
  letter-spacing:.01em;
}

body.localized-entry.german-entry h1,
body.localized-entry.german-entry h2{
  letter-spacing:.015em;
}

body.localized-entry.french-entry{
  letter-spacing:.012em;
}

body.localized-entry.french-entry h1,
body.localized-entry.french-entry h2{
  letter-spacing:.018em;
}

body.localized-entry.spanish-entry{
  letter-spacing:.012em;
}

body.localized-entry.spanish-entry h1,
body.localized-entry.spanish-entry h2{
  letter-spacing:.018em;
}

body.localized-entry.portuguese-entry{
  letter-spacing:.012em;
}

body.localized-entry.portuguese-entry h1,
body.localized-entry.portuguese-entry h2{
  letter-spacing:.018em;
}

body.localized-entry.japanese-entry{
  letter-spacing:.02em;
}

body.localized-entry.japanese-entry h1,
body.localized-entry.japanese-entry h2{
  letter-spacing:.03em;
}

body.localized-entry.korean-entry{
  letter-spacing:.015em;
  word-break:keep-all;
}

body.localized-entry.korean-entry h1,
body.localized-entry.korean-entry h2{
  letter-spacing:.025em;
}

body.localized-entry.arabic-entry{
  letter-spacing:normal;
  line-height:1.8;
  text-align:right;
}

body.localized-entry.arabic-entry h1,
body.localized-entry.arabic-entry h2,
body.localized-entry.arabic-entry h3{
  letter-spacing:normal;
}

body.localized-entry.arabic-entry h1{
  line-height:1.45;
}

body.localized-entry.arabic-entry .line{
  margin-right:0;
  margin-left:auto;
}

body.localized-entry.arabic-entry .hero-kicker,
body.localized-entry.arabic-entry .context-label,
body.localized-entry.arabic-entry .step-number,
body.localized-entry.arabic-entry .domain-label,
body.localized-entry.arabic-entry .text-link{
  letter-spacing:normal;
}

body.localized-entry.arabic-entry .domain-card .domain-label{
  font-family:var(--localized-font);
  text-transform:none;
}

body.localized-entry.arabic-entry .brand{
  direction:ltr;
}

body.localized-entry.arabic-entry .international-panel{
  direction:ltr;
  text-align:left;
}

body.localized-entry .brand-slogan,
body.localized-entry .brand-stance{
  font-family:var(--font);
  letter-spacing:normal;
}

html[dir="rtl"] body.localized-entry{
  letter-spacing:normal;
}

section{
  padding:88px 0;
  scroll-margin-top:132px;
}

h1,h2,h3{
  margin:0;
  font-weight:400;
}

h1{
  max-width:920px;
  font-size:46px;
  line-height:1.25;
  letter-spacing:.035em;
}

h2{
  font-size:26px;
  line-height:1.35;
  letter-spacing:.06em;
}

h3{
  font-size:17px;
  line-height:1.55;
}

p{margin:0}

.line{
  width:60px;
  height:2px;
  margin:22px 0;
  background:var(--accent);
}

.section-intro{
  max-width:900px;
  color:var(--text-muted-light);
}

.hero{
  padding:108px 0 96px;
  border-bottom:1px solid var(--border-dark);
  background:var(--bg-dark);
  color:var(--text-on-dark);
}

.hero-kicker{
  margin-bottom:26px;
  color:var(--accent);
  font-size:12px;
  letter-spacing:.13em;
}

.hero-copy{
  max-width:930px;
  color:rgba(229,222,211,.82);
  font-size:19px;
  line-height:1.8;
}

.hero-context{
  max-width:900px;
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid var(--border-dark);
  color:rgba(229,222,211,.62);
  font-size:14px;
}

.hero-actions,
.contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

.light{
  border-bottom:1px solid var(--border-light);
  background:var(--bg-light);
}

.soft{
  border-bottom:1px solid var(--border-light);
  background:var(--bg-soft);
}

.dark{
  border-bottom:1px solid var(--border-dark);
  background:var(--panel-dark);
  color:var(--text-on-dark);
}

.dark .section-intro{
  color:rgba(229,222,211,.66);
}

.card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:42px;
}

.card-grid.four-up{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.card{
  min-height:210px;
  padding:25px;
  border-top:2px solid var(--accent);
  background:rgba(255,255,255,.16);
}

.card p{
  margin-top:12px;
  color:var(--text-muted-light);
  font-size:14px;
}

.context-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:42px;
}

.context-card{
  min-height:290px;
  padding:30px;
  border:1px solid var(--border-dark);
  background:var(--bg-dark);
}

.context-label{
  display:block;
  margin-bottom:20px;
  color:var(--accent);
  font-size:11px;
  letter-spacing:.12em;
}

.context-card h3{
  color:var(--text-on-dark);
  font-size:21px;
}

.context-card p{
  margin-top:16px;
  color:rgba(229,222,211,.66);
}

.shared-field{
  margin-top:22px;
  padding:24px 28px;
  border-inline-start:2px solid var(--accent);
  background:rgba(20,18,16,.06);
}

.shared-field strong{
  display:block;
  margin-bottom:7px;
  font-weight:500;
}

.process-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  margin-top:42px;
  border:1px solid var(--border-light);
  background:var(--border-light);
}

.process-step{
  min-height:230px;
  padding:26px;
  background:var(--bg-light);
}

.step-number{
  display:block;
  margin-bottom:32px;
  color:var(--accent);
  font-size:12px;
  letter-spacing:.12em;
}

.process-step p{
  margin-top:12px;
  color:var(--text-muted-light);
  font-size:14px;
}

.work-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:42px;
}

.work-item{
  min-height:156px;
  padding:24px;
  border:1px solid var(--border-dark);
  background:var(--bg-dark);
}

.work-item h3{color:var(--text-on-dark)}
.work-item p{
  margin-top:10px;
  color:rgba(229,222,211,.62);
  font-size:14px;
}

.domain-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:42px;
}

.domain-card{
  display:flex;
  min-height:260px;
  flex-direction:column;
  padding:27px;
  border-top:3px solid var(--domain-color);
  background:rgba(255,255,255,.14);
}

.domain-card.consulting{--domain-color:#526A78}
.domain-card.health{--domain-color:#BF2A36}
.domain-card.engineering{--domain-color:#8A6748}

.domain-card .domain-label{
  margin-bottom:18px;
  color:var(--domain-color);
  font-family:var(--font);
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.domain-card p{
  margin-top:12px;
  color:var(--text-muted-light);
  font-size:14px;
}

.domain-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:auto;
  padding-top:22px;
  font-size:12px;
}

.exposure-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:42px;
}

.exposure-card{
  min-height:250px;
  padding:28px;
  border:1px solid var(--border-light);
  background:rgba(255,255,255,.18);
}

.exposure-card p{
  margin-top:13px;
  color:var(--text-muted-light);
}

.project-experience-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:42px;
}

.project-experience-grid.two-up{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.project-experience-card{
  padding:27px;
  border-top:3px solid var(--domain-color,var(--accent));
  background:rgba(255,255,255,.16);
}

.project-experience-card.consulting{ --domain-color:#526A78; }
.project-experience-card.health{ --domain-color:#BF2A36; }
.project-experience-card.engineering{ --domain-color:#8A6748; }

.project-experience-card h3{
  color:var(--text-on-light);
}

.project-title-list{
  list-style:none;
  margin:20px 0 0;
  padding:0;
}

.project-title-list li{
  padding:14px 0;
  border-top:1px solid var(--border-light);
  color:var(--text-muted-light);
  font-size:14px;
}

.text-link{
  display:inline-block;
  margin-top:24px;
  font-size:12px;
  letter-spacing:.08em;
}

.output-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:60px;
  align-items:start;
  margin-top:42px;
}

.output-list{
  list-style:none;
  margin:0;
  padding:0;
}

.output-list li{
  position:relative;
  padding-block:14px;
  padding-inline:22px 0;
  border-top:1px solid var(--border-light);
}

.output-list li::before{
  content:"—";
  position:absolute;
  inset-inline-start:0;
  color:var(--accent);
}

.boundary-note{
  padding:27px;
  border:1px solid var(--border-light);
  background:rgba(255,255,255,.16);
}

.boundary-note p{
  margin-top:13px;
  color:var(--text-muted-light);
  font-size:14px;
}

.contact-band{
  border-bottom:1px solid var(--border-dark);
  background:var(--bg-dark);
  color:var(--text-on-dark);
}

.contact-band p{
  max-width:850px;
  color:rgba(229,222,211,.68);
}

.contact-note{
  margin-top:18px;
  color:rgba(229,222,211,.50)!important;
  font-size:13px;
}

@media(max-width:1120px){
  body.localized-entry .header-inner{
    flex-wrap:wrap;
    align-items:flex-start;
  }
  body.localized-entry .brand{
    min-width:0;
    flex:1 1 auto;
  }
  body.localized-entry .nav-links{
    order:3;
    flex:1 1 100%;
    flex-wrap:wrap;
    justify-content:flex-start;
    white-space:normal;
  }
}

@media(max-width:960px){
  .card-grid,.domain-grid,.project-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .output-grid{grid-template-columns:1fr;gap:30px}
}

@media(max-width:640px){
  section{padding:70px 0;scroll-margin-top:170px}
  h1{font-size:34px}
  h2{font-size:22px}
  .hero{padding:86px 0 74px}
  .hero-copy{font-size:17px}
  .card-grid,.card-grid.four-up,.context-grid,.process-grid,.work-grid,.domain-grid,.exposure-grid,.project-experience-grid,.project-experience-grid.two-up{grid-template-columns:1fr}
  .hero-actions,.contact-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn,.contact-actions .btn{width:100%}
  .card,.context-card,.process-step,.domain-card,.exposure-card{min-height:0}
}
