/* WES type system: Tinos for brand expression; Roboto for reading and navigation. */
@font-face{
  font-family:Roboto;
  src:url('Roboto-latin.woff2') format('woff2');
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
}
@font-face{
  font-family:Roboto;
  src:url('Roboto-Italic-latin.woff2') format('woff2');
  font-style:italic;
  font-weight:400 700;
  font-display:swap;
}
:root{--sans:Roboto,'Helvetica Neue',Arial,sans-serif}
body{font-family:var(--sans);font-size:17px;line-height:1.65;font-optical-sizing:auto}
p{font-family:var(--sans);letter-spacing:0}
h1,h2,h3,h4{font-family:var(--serif)}
button,input,textarea,select{font-family:var(--sans)}
.nav{font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:0}
.brand-menu-trigger,.button,.text-link,.menu-button,.brand-breadcrumb,.site-footer{font-family:var(--sans)}
.brand-dropdown strong{font-family:var(--sans);font-size:15px;font-weight:500;line-height:1.4}
.eyebrow,.brand-label,.brand-code,.node-kicker,.division-sector,.division-detail-label,.portfolio-heading{font-family:var(--sans)}
.eyebrow,.brand-page .eyebrow{font-size:11px;line-height:1.5;letter-spacing:.1em}
.brand-label,.brand-code{font-size:11px;line-height:1.5;letter-spacing:.08em}
.button,.text-link{font-size:14px;line-height:1.5}
.hero-actions .button,.hero-actions .text-link{font-size:14px}
.hero-copy{font-size:17px;line-height:1.65}
.hero-base{font-size:11px;line-height:1.6}
.section-intro>p,.group-introduction p,.division-description,.sterna-description,.contact-copy p{font-size:17px!important;line-height:1.65!important}
.group-introduction p:first-child{font-size:20px!important;line-height:1.55!important}
.advisory-description,.sterna-services,.group-service-link,.advisory-entry>span{font-size:14px!important}
#group .portfolio-heading{font-size:11px!important;line-height:1.5}
#group .portfolio-heading span:last-child{font-size:10px}
#group .division-sector,#group .division-detail-label{font-size:10px}
#group .division-cta{font-size:14px}
.site-footer,.brand-breadcrumb{font-size:13px;line-height:1.6}
.brand-intro-copy p,.brand-heading>p,.brand-card>p,.brand-feature-copy>p,.brand-approach p,.brand-language p,.brand-contact-copy p{font-size:17px;line-height:1.65}
.brand-intro-copy .brand-lead,.brand-language .brand-lead{font-size:20px;line-height:1.55}
.brand-audience p,.brand-scope,.brand-language-list li{font-size:15px;line-height:1.65}
.brand-scope,.brand-language-list,.brand-feature-copy,.brand-direction-heading>p{font-family:var(--sans)}
.brand-direction-heading>p{font-size:17px;line-height:1.65}
.brand-direction .network-status,.brand-direction .network-hint,.brand-direction .motif-caption,.brand-direction .network-status strong{font-family:var(--sans);font-size:10px;line-height:1.5}
.brand-direction .network-status strong{font-weight:600}
.brand-direction .service-tab{font-family:var(--sans);font-size:14px;line-height:1.45;font-weight:500;min-height:68px}
.brand-direction .service-tab b{font-family:var(--sans);font-size:11px;font-weight:600}
.brand-direction .service-panel>p:not(.eyebrow){font-size:17px;line-height:1.65}
.brand-direction .service-panel>.eyebrow{font-family:var(--sans);font-size:11px}
.brand-direction .service-panel>.text-link{font-size:14px}
.sterna-service-number{font-family:var(--sans);font-size:11px}
.sterna-service-lines p{font-family:var(--sans);font-size:17px;line-height:1.65}
.sterna-service-lines strong{font-weight:600}
/* Shared masthead geometry; copy slots allow Roboto's wider letterforms. */
.brand-hero{height:560px}
.brand-hero-inner{grid-template-rows:18px 132px 112px 48px;gap:18px}
.brand-hero .eyebrow{font-size:11px;line-height:18px;letter-spacing:.1em}
.brand-hero-copy{font-family:var(--sans);font-size:17px;line-height:1.6;max-width:590px}
.brand-hero .button{font-size:14px;line-height:1.5;min-height:48px}
@media(max-width:1100px){
  .brand-direction .service-tab{font-size:13px}
  .brand-hero-copy{max-width:560px}
}
@media(max-width:800px){
  body{font-size:16px}
  .nav{font-size:16px}
  .brand-dropdown strong{font-size:16px}
  .menu-button{font-size:13px}
  .hero-copy{font-size:16px}
  .hero-base{font-size:10px}
  .section-intro>p,.group-introduction p,.division-description,.sterna-description,.contact-copy p{font-size:16px!important}
  .group-introduction p:first-child{font-size:19px!important}
  .brand-intro-copy p,.brand-heading>p,.brand-card>p,.brand-feature-copy>p,.brand-approach p,.brand-language p,.brand-contact-copy p,.brand-direction-heading>p,.brand-direction .service-panel>p:not(.eyebrow),.sterna-service-lines p{font-size:16px}
  .brand-intro-copy .brand-lead,.brand-language .brand-lead{font-size:19px}
  .brand-hero-inner{grid-template-rows:18px 112px 140px 48px;gap:18px}
  .brand-hero-copy{font-size:16px}
  .brand-direction .service-tab{font-size:14px}
}
@media(max-width:540px){
  .brand-hero-inner{grid-template-rows:18px 100px 168px 48px;gap:16px}
  .brand-hero .eyebrow{font-size:10px}
  .brand-direction .service-tab{font-size:13px}
  .brand-direction .service-tab b{font-size:10px}
  .brand-direction .service-panel{min-height:285px}
  .brand-direction .network-status,.brand-direction .network-hint,.brand-direction .motif-caption,.brand-direction .network-status strong{font-size:9px}
  .brand-audience p,.brand-scope,.brand-language-list li{font-size:15px}
  .site-footer,.brand-breadcrumb{font-size:12px}
  #group .portfolio-heading span:last-child{font-size:9px}
}
@media(max-width:360px){
  .brand-hero-inner{grid-template-rows:18px 92px 192px 48px;gap:14px}
  .brand-direction .service-tab{font-size:12px}
  .brand-direction .service-panel{min-height:310px}
}

.brand-menu-trigger,.button,.text-link,.menu-button{font-weight:500}
