/* Shared typography: five self-hosted Poppins weights. */
body,body :where(main,section,article,aside,nav,header,footer,div,h1,h2,h3,h4,h5,h6,p,a,li,small,summary,label,span,strong,b,td,th,button,input,select,textarea){font-family:'Poppins',Arial,sans-serif!important}
body{font-size:16px;line-height:1.65;-webkit-text-size-adjust:100%}
body h1,body .hero-overlay h1,body .page-hero h1,body .op1 .op-hero h1,body #gh1-hub h1{font-size:clamp(30px,3.15vw,48px)!important;line-height:1.17!important;font-weight:600!important;letter-spacing:-.9px!important;overflow-wrap:break-word}
body h2,body .section-head h2,body .project h2,body .hero-title,body .hr1-campaign h2,body .gh1 h2,body .op1 h2{font-size:clamp(23px,2.15vw,34px)!important;line-height:1.25!important;font-weight:600!important;letter-spacing:-.55px!important;overflow-wrap:break-word}
body h3,body .b2b-grid h3,body .gh1 h3,body .op1 h3{font-size:20px!important;line-height:1.35!important;font-weight:600!important;letter-spacing:-.25px!important}
body h4{font-size:17px!important;line-height:1.4!important;font-weight:600!important}
body main p,body main li,body main .lead,body main .intro-text{font-size:16px!important;line-height:1.7!important}
body main summary{font-size:16px!important;line-height:1.5!important;font-weight:600!important}
body .hero-overlay p,body .op-hero>div>p,body .pv1-hero>div>p{font-size:17px!important;line-height:1.65!important}
body .product-card p,body .insight-card p,body .gh1-product p,body .gh1-category p,body .ct2-card p,body .ct2-checklist p{font-size:14px!important;line-height:1.65!important}
body .gh1-fine,body figcaption,body .article-meta,body .ct2-brief>header>p{font-size:12px!important;line-height:1.55!important}
body .hero-overlay small,body .section-head small,body .gh1-kicker,body .hr1-platform small{font-size:12px!important;letter-spacing:1.4px!important;font-weight:600!important}
body input,body textarea,body select{font-size:16px}body .btn,body .gh1-btn,body .head-cta{font-weight:600!important}
body .site-head>nav{gap:clamp(14px,1.1vw,21px)!important}body .site-head>nav>a,body .site-head>nav>.op-nav>summary{font-size:13px!important;font-weight:500!important}
@media(min-width:1400px) and (max-width:1599px){body .site-head>nav{gap:12px!important}body .site-head>nav>a,body .site-head>nav>.op-nav>summary{font-size:12px!important}body .site-head>nav>.header-search{min-width:125px;flex-basis:145px}}
@media(max-width:1399px){body .site-head>nav.open{gap:15px!important}body .site-head>nav>a,body .site-head>nav>.op-nav>summary{font-size:15px!important}}
@media(max-width:600px){body h1,body .hero-overlay h1,body .page-hero h1,body .op1 .op-hero h1,body #gh1-hub h1{font-size:30px!important;line-height:1.2!important;letter-spacing:-.5px!important}body h2,body .section-head h2,body .project h2,body .hero-title,body .hr1-campaign h2,body .gh1 h2,body .op1 h2{font-size:24px!important;letter-spacing:-.3px!important}body h3,body .b2b-grid h3,body .gh1 h3,body .op1 h3{font-size:19px!important}body main p,body main li{font-size:15px!important}}

/* Candidate only. Scope: public header navigation. */
@media (min-width:1280px) {
 html body .site-head { grid-template-columns:110px minmax(0,1fr) auto!important; gap:14px!important; padding-inline:20px!important }
 html body .site-head>.brand { grid-column:auto; grid-row:auto }
 html body .site-head>.head-cta { grid-column:auto; grid-row:auto }
 html body .site-head>.nav-toggle { display:none!important }
 html body .site-head>nav { display:flex!important; position:static; flex-flow:row nowrap; align-items:center; justify-content:flex-start!important; gap:18px!important; padding:0; max-height:none; overflow:visible; border:0; box-shadow:none }
 html body .site-head>nav>a { display:block!important; flex:0 0 auto; font-size:16px!important; line-height:1.4; white-space:nowrap }
 html body .site-head>nav>.header-search { display:flex!important; width:auto; min-width:125px; flex:0 1 145px; margin-left:auto!important }
}
@media (min-width:1280px) and (max-width:1399px) {
 html body .site-head>nav { gap:14px!important }
 html body .site-head>nav>a { font-size:14px!important }
}
@media (min-width:1320px) and (max-width:1399px) {
 html body .site-head>nav { gap:16px!important }
 html body .site-head>nav>a { font-size:15px!important }
}
@media (max-width:1279px) {
 html body .site-head>nav.open { gap:4px!important }
 html body .site-head>nav.open>a { display:flex!important; align-items:center; min-height:44px; font-size:16px!important }
 html body .site-head>nav.open>.header-search { margin-top:10px!important; flex:none; min-height:40px }
}

/* Navigation spacing, including the language selector. */
@media(min-width:1280px){
html body .site-head>nav:has(.es1-selector){gap:18px!important}
html body .site-head>nav:has(.es1-selector)>a{font-size:13px!important}
html body .site-head>nav .es1-selector{margin:0!important}
html body .site-head>nav:has(.es1-selector)>.header-search{min-width:105px;flex-basis:120px}
}
@media(min-width:1600px){
html body .site-head{grid-template-columns:140px minmax(0,1fr) auto!important;gap:24px!important;padding-inline:28px!important}
html body .site-head>nav:has(.es1-selector){gap:24px!important}
html body .site-head>nav:has(.es1-selector)>a{font-size:15px!important}
html body .site-head>nav:has(.es1-selector)>.header-search{min-width:125px;flex-basis:160px;max-width:180px}
}
