/* Section names are bold sans-serif labels; paragraph catches are editorial serif. */
:root{--section-name-size:20px;--section-catch-size:34px;--section-catch-gap:24px}

main :is(.section-title,.service-title h2,.news-section .section-label h2,.feature-copy h3){
  display:flex;align-items:center;gap:12px;
  font-family:var(--sans);font-size:var(--section-name-size);font-weight:700;
  line-height:1.55;letter-spacing:.045em;margin:0;color:inherit;
}
main :is(.section-title,.service-title h2,.news-section .section-label h2,.feature-copy h3)::before{
  content:"";display:block;width:26px;height:2px;background:currentColor;flex-shrink:0;
}
main :is(.approach-visual .approach-copy .approach-statement,
  .section-catch,.feature-copy .feature-statement,.company-visual .company-statement,
  .sdgs-copy .sdgs-statement,.service-title .service-statement,.consult-inner .consult-statement){
  font-family:var(--serif);font-size:var(--section-catch-size);font-weight:500;
  line-height:1.65;letter-spacing:.025em;color:inherit;
  margin:var(--section-catch-gap) 0 20px;text-wrap:pretty;
}
main .home-business .feature-copy h3{font-size:18px}
main .home-business .feature-copy .feature-statement{font-size:32px}
.section-heading{margin-bottom:44px}
.copy-phrase{display:inline-block}
.section-heading .eyebrow,.approach-visual .approach-copy .eyebrow{font-size:10px;line-height:1.5;letter-spacing:1.8px;margin:0 0 12px}
.feature-copy .section-kicker{font-size:10px;line-height:1.5;letter-spacing:1.4px;margin:0 0 12px}
.service-block>.section-kicker{font-size:11px;margin-bottom:14px;line-height:1.5}
.service-block>.section-kicker::before{content:none}
.home-jump strong{font-family:var(--sans);font-weight:700;font-size:20px;line-height:1.6;letter-spacing:.025em}
.business-jump strong{font-family:var(--sans);font-weight:700;font-size:18px}


.service-menu>h3{font-family:var(--sans);font-size:18px;font-weight:700;line-height:1.6;margin-bottom:20px}
.service-item h4{font-family:var(--sans);font-size:17px;font-weight:700;line-height:1.7}
.feature-copy>p:not(.section-kicker):not(.feature-statement):not(.business-brand),
.service-title>p:not(.service-statement):not(.brand-sub),
.company-visual .company-copy>p:not(.company-statement),
.sdgs-copy .sdgs-description{font-size:14px;line-height:2.1}
.service-item p,.service-item li{font-size:13px;line-height:2}
.consult-inner>p:not(.eyebrow):not(.consult-statement){font-size:14px;line-height:2}

@media(max-width:1100px){
  :root{--section-catch-size:32px}
  
  
}
@media(max-width:820px){
  :root{--section-name-size:18px;--section-catch-size:28px;--section-catch-gap:21px}
  main .home-business .feature-copy .feature-statement{font-size:28px}
  .approach-visual{grid-template-columns:1fr;gap:32px}
  
  
  .home-jump strong{font-size:18px}
}
@media(max-width:600px){
  :root{--section-catch-size:26px;--section-catch-gap:20px}
  main :is(.section-title,.service-title h2,.news-section .section-label h2,.feature-copy h3){gap:10px;letter-spacing:.025em}
  main :is(.section-title,.service-title h2,.news-section .section-label h2,.feature-copy h3)::before{width:22px}
  main .home-business .feature-copy h3{font-size:17px}
  main .home-business .feature-copy .feature-statement{font-size:26px}
  .section-heading{margin-bottom:32px}
  main .home-business .section-heading .section-catch{font-size:25px;text-wrap:balance}
  
  
  
  .service-menu>h3{font-size:17px}
  .service-item h4{font-size:16px}
  .service-item p,.service-item li{font-size:13px}
  .service-block>.section-kicker{margin-bottom:12px}
}
