:root{--radius:0;--shadow-card:0 18px 40px #17191c14}

body{font-size:18px;line-height:1.55;color:var(--ink)}
p{font-size:18px;line-height:1.6}

.utility{font-size:12px;letter-spacing:.9px;border-bottom:1px solid #e4e2de}
.utility .wrap{padding:12px 0}
.utility a{font-size:12px;letter-spacing:.3px}

.nav{min-height:112px}
.logo{width:240px;height:76px}
nav{font-size:15px;font-weight:600;gap:40px}
.nav nav>a{padding:14px 0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s}
.nav nav>a:hover,.nav nav>a[aria-current="page"]{border-color:var(--red)}
header.is-scrolled .nav{min-height:84px}
header.is-scrolled .logo{width:210px;height:66px}

.eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:700;margin-bottom:22px}
.eyebrow.light{color:#fff}

.hero-slider{height:760px;min-height:760px}
.hero-title{font-size:clamp(44px,4.7vw,68px);line-height:1.04;letter-spacing:-2.4px}
.hero-slide .hero-content p{font-size:clamp(18px,1.4vw,21px);line-height:1.5;max-width:560px;color:#e7e5e1}
.hero-link{display:inline-flex;align-items:center;gap:18px;background:var(--action);color:#fff;padding:18px 26px;font-size:16px;font-weight:700;letter-spacing:.2px;transition:background .2s}
.hero-link span{font-size:20px;line-height:1}
.hero-link:hover{background:var(--ink)}
.hero-link:focus-visible{outline-color:#fff}
.hero-slide.slide-research .hero-content p{color:var(--gray)}
.hero-slide.slide-research .hero-link{color:#fff}
.hero-slide.slide-capability .hero-link{background:var(--ink)}
.hero-slide.slide-capability .hero-link:hover{background:var(--action)}
.slider-controls .slide-picker{font-size:13px}
.slide-picker .picker-name{font-size:13px}

.topic-strip{background:var(--warm);border-bottom:1px solid var(--line)}
.topic-strip .wrap{min-height:76px}
.topic-strip a{font-size:16px;font-weight:600;white-space:nowrap}
.topic-strip span{font-size:12px;letter-spacing:1.4px}

.section{padding-top:120px;padding-bottom:120px}
.section-heading{margin-bottom:64px;align-items:flex-end}
h1{font-size:clamp(44px,4.7vw,68px);line-height:1.04;letter-spacing:-2.2px}
h2{font-size:clamp(36px,3.6vw,50px);line-height:1.1;letter-spacing:-1.4px;font-weight:700}
h2 .serif,h2 em{font-size:inherit}
h3{letter-spacing:-.2px}

.text-link{font-size:16px;font-weight:700;padding-bottom:6px;border-bottom:2px solid var(--red);display:inline-flex;gap:10px;align-items:center}
.text-link:hover{color:var(--action)}

.section-heading>div{max-width:760px}
.service-body .text-link{display:flex;width:max-content;margin-top:28px}
.service-body p{font-size:18px;line-height:1.6;color:#2b2e33}

.industries{gap:80px}
.industries h2{font-size:clamp(36px,3.6vw,50px)}
.industry-grid a{font-size:20px;font-weight:600;padding:22px 0;border-bottom:1px solid var(--line)}
.industry-grid a span{color:var(--action)}

.perspectives .article-grid{gap:44px}
.content-card-image{height:auto;aspect-ratio:16/10;margin-bottom:28px}
.content-card .category{font-size:12px;letter-spacing:1.4px;font-weight:700;color:var(--action)}
.content-card h3{font-size:clamp(22px,1.9vw,27px);line-height:1.22;margin:12px 0 14px;font-family:Georgia,serif;font-weight:400}
.content-card p{font-size:16px;line-height:1.6}
.content-card:hover .content-card-image img{transform:scale(1.03)}

.card-placeholder{aspect-ratio:16/10;height:auto}

.footer-main{padding-top:80px}
.footer-main nav a{font-size:15px}
.footer-bottom{font-size:13px}
.footer-social .social-label{font-size:12px}
.footer-social nav a{font-size:15px}

@media(max-width:1000px){
  .hero-title{font-size:clamp(40px,6vw,56px)}
  .section{padding-top:90px;padding-bottom:90px}
  .section-heading{margin-bottom:44px}
  .nav nav>a{font-size:14px}
}
@media(max-width:760px){
  body{font-size:16px}
  p{font-size:16px}
  .hero-slider{height:auto;min-height:620px}
  h1,.hero-title{font-size:38px;line-height:1.08;letter-spacing:-1.2px}
  h2{font-size:32px;letter-spacing:-.8px}
  .section{padding-top:70px;padding-bottom:70px}
  .utility{font-size:10px}
  .logo{width:200px;height:auto}
  .industry-grid a{font-size:18px}
}

/* Compact page openings across desktop, tablet and mobile. */
.single-heading.section,.archive-header.section{padding-top:32px}
@media(max-width:760px){.single-heading.section,.archive-header.section{padding-top:24px}}
