/* Excellent China adaptations for the QuickStart Bootstrap theme. */
:root {
  --accent-color: #0076B0;
  --nav-hover-color: #0076B0;
  --nav-dropdown-hover-color: #0076B0;
  --scroll-behavior: smooth;
}

html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { overflow-x: hidden; }
a, button { -webkit-tap-highlight-color: transparent; }
.header .container-xl { gap: 18px; }
.header .logo { gap: 10px; }
.brand-logo { width:120px; height:auto; flex:0 0 auto; }
.header .logo .sitename, .footer .logo .sitename {
  color: var(--heading-color);
  font: 800 19px/1.1 var(--heading-font);
  letter-spacing: -.45px;
  white-space: nowrap;
}
.language-switch { display:flex; align-items:center; gap:6px; margin-left:12px; white-space:nowrap; }
.language-switch a { padding:5px 2px; color:var(--nav-color); font:600 11px var(--nav-font); text-decoration:none; }
.language-switch a[aria-current="page"] { color:var(--accent-color); }
.language-switch span { color:#a0a9ac; font-size:10px; }
.header .btn-getstarted { white-space:nowrap; }
.mobile-nav-toggle { border:0; background:transparent; padding:7px; }
.hero { min-height:unset; padding-top:55px; }
.hero-banner { width:100%; margin-top:20px; }
.hero-banner img { display:block; width:100%; height:auto; }
.hero .hero-eyebrow { margin:0 0 16px; color:var(--accent-color); font:700 11px/1.5 var(--nav-font); letter-spacing:2px; }
.hero h1 { max-width:900px; }
.hero h1 span { display:block; }
.hero h1 em, .about .content h2 em, .career-closing em { color:var(--accent-color); font-style:normal; }
.hero p:not(.hero-eyebrow) { max-width:760px; }
.hero-actions { flex-wrap:wrap; justify-content:center; row-gap:15px; }
.hero .btn-watch-video { margin-left:22px; }
.hero .btn-watch-video i { margin-right:8px; }
.section-title { padding-bottom:34px; }
.featured-services .section-title h2 { max-width:760px; margin-left:auto; margin-right:auto; }
.featured-services .service-item { min-height:142px; }
.featured-services .service-item .title { margin-bottom:8px; color:var(--heading-color); font-weight:700; }
.about .content h2 { margin:0 0 20px; color:var(--heading-color); font:700 34px/1.22 var(--heading-font); }
.about .content .who-we-are { color:var(--accent-color); font-weight:700; letter-spacing:1.6px; }
.about .about-copy { color:var(--default-color); line-height:1.8; }
.about .read-more { margin-top:10px; }
.about .about-images { display:none; }
.about .about-images img { width:100%; object-fit:cover; }
.career-portal-card { padding:30px; border:0; border-radius:10px; background:var(--surface-color); box-shadow:none; }
.career-portal-heading { padding-bottom:22px; }
.career-kicker { color:var(--accent-color); font:700 11px/1.4 var(--nav-font); letter-spacing:1.7px; text-transform:uppercase; }
.career-portal-heading h3 { margin:0; font:700 24px/1.3 var(--heading-font); color:var(--heading-color); }
.career-portal-heading p { margin:0; color:var(--default-color); }
.career-section-label { margin:0 0 5px !important; color:var(--accent-color) !important; font:700 11px/1.4 var(--nav-font) !important; letter-spacing:1.7px; }
.career-note { margin:0 0 8px !important; color:var(--heading-color) !important; font:italic 15px/1.5 var(--heading-font) !important; }
.hr4you-frame-wrap { width:100%; overflow:hidden; border:0; border-radius:0; background:transparent; }
.hr4you-frame-wrap iframe { display:block; width:100%; min-height:640px; border:0; background:#fff; }
.career-privacy { display:flex; align-items:flex-start; gap:9px; margin:17px 0 0; color:#606a6c; font-size:13px; line-height:1.6; }
.career-privacy i { color:var(--accent-color); font-size:17px; }
.career-closing { margin:34px 0 4px; color:var(--heading-color); font:700 clamp(24px,3vw,34px)/1.2 var(--heading-font); text-align:center; }
.footer .footer-about > p { max-width:320px; margin:17px 0 0; }
.footer .footer-links h4 { margin-bottom:16px; }
.copyright p { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:3px; }
.legal-page { padding-top:150px; }
.legal-page .section-title { padding-bottom:25px; }
.legal-page .section-title h1 { margin:0 0 14px; color:var(--heading-color); font:700 clamp(34px,5vw,48px)/1.2 var(--heading-font); }
.legal-page .section-title p { margin-bottom:0; }
.legal-body { max-width:900px; margin:0 auto; padding-bottom:90px; }
.legal-body h2 { margin:28px 0 9px; color:var(--heading-color); font:700 20px/1.35 var(--heading-font); }
.legal-body p { color:var(--default-color); line-height:1.75; }
.legal-notice { margin:24px 0; padding:18px 20px; border-left:4px solid var(--accent-color); border-radius:4px; background:var(--surface-color); box-shadow:0 3px 18px rgba(0,0,0,.05); }
.legal-notice p { margin:6px 0 0; }
.legal-back { display:inline-flex; align-items:center; gap:8px; margin-top:18px; font-weight:600; }

@media (max-width:1199px) {
  .header .container-xl { gap:12px; }
  .header .logo { order:1; }
  .header .language-switch { order:2; margin-left:auto; }
  .header .btn-getstarted { order:3; margin:0; padding:7px 14px; font-size:12px; }
  .header .mobile-nav-toggle { order:4; margin:0; }
  .header .navmenu { order:5; }
  .footer .footer-about { min-width:0; }
  .footer .footer-about .logo { max-width:100%; gap:8px; }
  .footer .footer-about .brand-logo { width:88px; }
  .footer .footer-about .logo .sitename { min-width:0; max-width:calc(100% - 96px); font-size:16px; line-height:1.2; white-space:normal; overflow-wrap:anywhere; }
}
@media (max-width:640px) {
  html { scroll-padding-top:72px; }
  .header { padding:13px 0; }
  .header .container-xl { gap:6px; }
  .header .logo { gap:7px; }
  .header .logo .sitename { font-size:15px; }
  .header .brand-logo { width:64px; }
  .language-switch { gap:4px; margin-left:auto; }
  .language-switch a { font-size:10px; }
  .header .btn-getstarted { display:none; }
  .mobile-nav-toggle { font-size:25px; }
  .hero { min-height:unset; padding:55px 0 36px; }
  .hero h1 { font-size:36px; line-height:1.2; }
  .hero p:not(.hero-eyebrow) { font-size:16px; line-height:1.6; }
  .hero .btn-watch-video { margin-left:13px; }
  .about .content h2 { font-size:29px; }
  .career-portal-card { padding:20px 14px; }
  .career-portal-heading h3 { font-size:20px; }
  .career-closing { margin-top:26px; }
  .hr4you-frame-wrap iframe { min-height:680px; }
  .legal-page { padding-top:120px; }
  .legal-body { padding-bottom:65px; }
}
@media (max-width:380px) {
  .header .logo .sitename { font-size:13px; }
  .header .brand-logo { width:52px; }
  .language-switch { gap:2px; }
  .language-switch a { font-size:9px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto !important; }
}

/* Site background palette */
:root { --background-color: #FDFBF7; }
.light-background { --background-color: #FDFBF7; }
.footer { --background-color: #F2EEE6; }

.company-about.section { padding:clamp(44px,6vw,78px) 0; }
.about-profile { margin:0 auto; padding:clamp(24px,5vw,56px); border:1px solid rgba(62,80,85,.09); border-radius:14px; background:var(--surface-color); box-shadow:0 12px 38px rgba(38,58,64,.06); }
.about-profile-header { max-width:850px; margin:0 auto; text-align:center; }
.about-profile-label { margin:0 0 12px; color:var(--accent-color); font:700 11px/1.5 var(--nav-font); letter-spacing:2px; }
.about-profile h2 { margin:0 0 20px; color:var(--heading-color); font:800 clamp(28px,4vw,40px)/1.2 var(--heading-font); }
.about-profile-history, .about-profile-grid p { color:var(--default-color); font-size:16px; line-height:1.8; }
.about-profile-history { margin:0; }
.about-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; margin-top:34px; }
.about-profile-grid section { padding:22px 12px 0; border-top:1px solid rgba(62,80,85,.14); }
.about-profile h3 { margin:0 0 10px; color:var(--heading-color); font:700 19px/1.35 var(--heading-font); }
.about-profile-grid p { margin:0; }
.about-profile-motto { margin:34px 0 0; padding:18px 22px; border-left:4px solid var(--accent-color); border-radius:4px; background:color-mix(in srgb,var(--accent-color),transparent 94%); color:var(--heading-color); font:800 18px/1.5 var(--heading-font); text-align:center; }
@media (max-width:640px) {
  .about-profile-grid { grid-template-columns:1fr; gap:22px; margin-top:26px; }
  .about-profile-motto { margin-top:26px; padding:16px; font-size:16px; }
}
@media (max-width:767px) {
  .footer .footer-about .logo { gap:8px; }
  .footer .footer-about .brand-logo { width:72px; }
  .footer .footer-about .logo .sitename { max-width:calc(100% - 80px); font-size:16px; line-height:1.2; }
}

