/* Globex V10 — site-wide typography and footer system, based on supplied Meditec + Kleider references. */
:root {
  --body: 'DM Sans', Arial, sans-serif;
  --display: 'Manrope', 'DM Sans', Arial, sans-serif;
  --v10-footer-bg: #14362d;
  --v10-footer-text: #d5e3dc;
  --v10-footer-muted: #b9cec3;
}
html { scroll-behavior: smooth; }
body {
  font-family: var(--body) !important;
  font-optical-sizing: auto;
  color: #173047;
}
body :is(p, a, li, button, input, select, textarea, label, small, figcaption, blockquote, th, td, nav, .eyebrow, .topline) {
  font-family: var(--body) !important;
}
body :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--display) !important;
  font-synthesis: none;
}
/* Editorial heading pair: Manrope headline + restrained Georgia accent. */
body :is(h1, h2, h3, h4, h5, h6) em {
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  font-style: normal !important;
}
body :is(h1, h2, h3, h4, h5, h6) strong {
  font-family: var(--display) !important;
}
body p { text-rendering: optimizeLegibility; }

/* Consistent inner-page title rhythm. Wide screens keep every page title on one line. */
.pagehero h1, .page-hero h1 {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  font-family: var(--display) !important;
  font-size: clamp(32px, 4vw, 54px) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  letter-spacing: -.045em !important;
  white-space: nowrap;
  text-wrap: nowrap;
}
.pagehero p, .page-hero p { font-family: var(--body) !important; }
main section:not(.pagehero):not(.page-hero) .section-heading h2,
main section:not(.pagehero):not(.page-hero) .about-ref-copy h2,
main section:not(.pagehero):not(.page-hero) .about-who-header h2,
main section:not(.pagehero):not(.page-hero) .contact-section-title h2,
main section:not(.pagehero):not(.page-hero) .contact-message-lead h2 {
  font-family: var(--display) !important;
  line-height: 1.2;
  letter-spacing: -.035em;
}

/* Kleider-reference footer composition, using Globex identity and contact details. */
.v10-footer,
footer.v10-footer {
  margin: 0 !important;
  padding: 68px 0 22px !important;
  color: var(--v10-footer-text) !important;
  background: linear-gradient(132deg, #173a30 0%, #14372d 52%, #102e26 100%) !important;
  border-top: 1px solid rgba(255,255,255,.08);
}
.v10-footer .v10-footer-wrap {
  width: min(1680px, calc(100% - 88px));
  margin: 0 auto;
}
.v10-footer .v10-footer-grid {
  display: grid;
  grid-template-columns: minmax(285px, 1.3fr) minmax(145px, .65fr) minmax(150px, .7fr) minmax(290px, 1.05fr);
  gap: clamp(30px, 4vw, 74px);
  align-items: start;
  padding: 0 0 56px;
}
.v10-footer .v10-footer-brand { min-width: 0; max-width: 390px; }
.v10-footer .v10-footer-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 170px;
  height: 118px;
  margin: 0 0 23px;
  padding: 8px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 6px;
  background: linear-gradient(145deg, #f5f8f8 0%, #e5eef0 58%, #dce9eb 100%);
  box-shadow: 0 8px 24px rgba(3,16,13,.18), inset 0 1px 0 rgba(255,255,255,.8);
}
.v10-footer .v10-footer-logo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  background: transparent !important;
  padding: 0 !important;
  filter: none !important;
}
.v10-footer .v10-footer-brand p {
  max-width: 365px;
  margin: 0 0 22px;
  color: #d2e1d9 !important;
  font-size: 15px !important;
  line-height: 1.78 !important;
}
.v10-footer .v10-footer-email {
  display: inline-block;
  margin-top: 2px;
  padding-bottom: 5px;
  color: #f2f7f3 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border-bottom: 1px solid rgba(219,239,225,.48);
}
.v10-footer .v10-footer-col h4,
.v10-footer .v10-footer-office h4 {
  margin: 8px 0 25px !important;
  color: #f4f8f5 !important;
  font-family: var(--display) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase;
}
.v10-footer .v10-footer-col a {
  display: block;
  width: fit-content;
  margin: 0 0 17px;
  color: #d0ded7 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  transition: color .2s ease, transform .2s ease;
}
.v10-footer .v10-footer-col a:hover,
.v10-footer .v10-footer-col a:focus-visible,
.v10-footer .v10-footer-office a:hover { color: #fff !important; transform: translateX(2px); }
.v10-footer .v10-footer-office p {
  margin: 0 0 17px;
  color: #d0ded7 !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
}
.v10-footer .v10-footer-office p strong { color: #f4f8f5; font-weight: 700; }
.v10-footer .v10-footer-office > a {
  display: block;
  width: fit-content;
  margin: 0 0 10px;
  color: #d0ded7 !important;
  font-size: 14px !important;
  line-height: 1.5;
}
.v10-footer .v10-footer-social {
  margin-top: 27px;
  padding-top: 20px;
  border-top: 1px solid rgba(229,242,234,.2);
}
.v10-footer .v10-footer-social-label {
  display: block;
  margin: 0 0 15px;
  color: #e0ebe4;
  font-family: var(--display) !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.v10-footer .v10-footer-social-icons { display: flex; align-items: center; gap: 12px; }
.v10-footer .v10-footer-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin: 0;
  color: #edf5ef !important;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(214,235,221,.28);
  border-radius: 50%;
  transition: background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}
.v10-footer .v10-footer-social-link svg { display: block; width: 19px; height: 19px; fill: currentColor; }
.v10-footer .v10-footer-social-link:hover,
.v10-footer .v10-footer-social-link:focus-visible {
  color: #17382e !important;
  background: #e4efcf;
  border-color: #e4efcf;
  transform: translateY(-3px);
}
.v10-footer .v10-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px 30px;
  padding-top: 23px;
  border-top: 1px solid rgba(221,239,227,.16);
}
.v10-footer .v10-footer-bottom p {
  margin: 0;
  color: #c4d6cc !important;
  font-size: 13px !important;
  line-height: 1.7;
}
.v10-footer .v10-footer-bottom strong {
  color: #edf4df;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.v10-footer .v10-footer-bottom-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  color: #a9c0b3;
  font-size: 12px;
}
.v10-footer .v10-footer-bottom-links a { color: #c4d6cc !important; }
.v10-footer .v10-footer-bottom-links a:hover { color: #fff !important; }
@media (max-width: 1120px) {
  .v10-footer .v10-footer-grid { grid-template-columns: minmax(260px,1.2fr) minmax(145px,.7fr) minmax(145px,.7fr); gap: 34px 42px; }
  .v10-footer .v10-footer-office { grid-column: 2 / span 2; }
}
@media (max-width: 760px) {
  .v10-footer { padding: 55px 0 20px !important; }
  .v10-footer .v10-footer-wrap { width: min(100% - 42px, 620px); }
  .v10-footer .v10-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 24px; padding-bottom: 38px; }
  .v10-footer .v10-footer-brand { grid-column: 1 / -1; max-width: 480px; }
  .v10-footer .v10-footer-office { grid-column: 1 / -1; }
  .v10-footer .v10-footer-col h4, .v10-footer .v10-footer-office h4 { margin-bottom: 18px !important; }
  .v10-footer .v10-footer-bottom { align-items: flex-start; flex-direction: column; gap: 11px; }
}
@media (max-width: 420px) {
  .v10-footer .v10-footer-grid { grid-template-columns: 1fr; gap: 27px; }
  .v10-footer .v10-footer-brand, .v10-footer .v10-footer-office { grid-column: 1; }
  .v10-footer .v10-footer-logo { width: 154px; height: 108px; }
}
@media (min-width: 761px) {
  .pagehero h1, .page-hero h1 { overflow: visible; }
}
@media (max-width: 760px) {
  .pagehero h1, .page-hero h1 { white-space: normal !important; text-wrap: balance !important; font-size: clamp(29px, 7vw, 42px) !important; line-height: 1.13 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .v10-footer * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* V12 footer palette correction — align the footer with Globex's navy / blue / teal site identity. */
:root {
  --v10-footer-bg: #081c33;
  --v10-footer-text: #d9e8f2;
  --v10-footer-muted: #b8cedd;
}
.v10-footer,
footer.v10-footer {
  color: #d9e8f2 !important;
  background: linear-gradient(128deg, #061a2d 0%, #082b49 54%, #0a3b58 100%) !important;
  border-top: 1px solid rgba(22, 207, 183, .42) !important;
}
.v10-footer .v10-footer-logo {
  background: linear-gradient(145deg, #edf7fc 0%, #e3f0f7 52%, #d8eaf4 100%) !important;
  border-color: rgba(255, 255, 255, .78) !important;
  box-shadow: 0 8px 24px rgba(3, 16, 35, .22), inset 0 1px 0 rgba(255, 255, 255, .92) !important;
}
.v10-footer .v10-footer-brand p,
.v10-footer .v10-footer-col a,
.v10-footer .v10-footer-office p,
.v10-footer .v10-footer-office > a {
  color: #c8dce9 !important;
}
.v10-footer .v10-footer-email {
  color: #f0f8fc !important;
  border-bottom-color: rgba(22, 207, 183, .58) !important;
}
.v10-footer .v10-footer-col h4,
.v10-footer .v10-footer-office h4,
.v10-footer .v10-footer-office p strong {
  color: #f4f9fc !important;
}
.v10-footer .v10-footer-col a:hover,
.v10-footer .v10-footer-col a:focus-visible,
.v10-footer .v10-footer-office a:hover,
.v10-footer .v10-footer-bottom-links a:hover {
  color: #65e5d6 !important;
}
.v10-footer .v10-footer-social {
  border-top-color: rgba(150, 199, 220, .24) !important;
}
.v10-footer .v10-footer-social-label {
  color: #d7eaf4 !important;
}
.v10-footer .v10-footer-social-link {
  color: #e7f3f9 !important;
  background: rgba(21, 107, 188, .16) !important;
  border-color: rgba(128, 190, 218, .36) !important;
}
.v10-footer .v10-footer-social-link:hover,
.v10-footer .v10-footer-social-link:focus-visible {
  color: #062b42 !important;
  background: #16cfb7 !important;
  border-color: #16cfb7 !important;
}
.v10-footer .v10-footer-bottom {
  border-top-color: rgba(150, 199, 220, .22) !important;
}
.v10-footer .v10-footer-bottom p {
  color: #b9d0df !important;
}
.v10-footer .v10-footer-bottom strong {
  color: #d8f3ef !important;
}
.v10-footer .v10-footer-bottom-links {
  color: #a9c8d9 !important;
}
.v10-footer .v10-footer-bottom-links a {
  color: #c8dce9 !important;
}
@media (prefers-reduced-motion: reduce) {
  .v10-footer .v10-footer-col a,
  .v10-footer .v10-footer-social-link { transition: none !important; }
}


/* Partners page editorial headings — exact type scale and weight from Who We Are. */
.partners-section-heading{max-width:790px;margin:0 0 30px}
.partners-section-heading .eyebrow{display:inline-flex;align-items:center;gap:10px;color:#55758b;font-family:var(--body)!important;font-size:10px!important;line-height:1.4!important;font-weight:800!important;letter-spacing:.17em!important;text-transform:uppercase}
.partners-section-heading .eyebrow .mini-line{width:28px!important;height:1px!important;background:#16a6a5!important;flex:none}
.partners-section-heading h2{font-family:var(--display)!important;font-size:clamp(32px,3.6vw,46px)!important;line-height:1.1!important;color:#092d4e!important;margin:13px 0 17px!important;letter-spacing:-.035em!important;font-weight:700!important}
.partners-section-heading h2 em{font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important;font-style:normal!important;color:#8d7650!important}
@media(max-width:700px){.partners-section-heading h2{font-size:clamp(30px,8vw,36px)!important;line-height:1.12!important}}

/* V26 shared typography: keep all page copy on DM Sans and all headings on Manrope.
   Eyebrows use the compact Who We Are label rhythm across the website. */
body .eyebrow{font-family:var(--body)!important;font-size:10px!important;line-height:1.4!important;font-weight:800!important;letter-spacing:.17em!important}
body .eyebrow .mini-line{width:28px!important;height:1px!important;background:#16a6a5!important;flex:none}

/* V32: shared footer logo tile stays gently shaded instead of bright white. */
.v10-footer .v10-footer-logo {
  background: linear-gradient(145deg, #d0e1de 0%, #bdd6d8 100%) !important;
  border-color: rgba(161,200,200,.62) !important;
  box-shadow: 0 8px 20px rgba(3,16,33,.12), inset 0 1px 0 rgba(255,255,255,.25) !important;
}

/* V34: same typography across main navigation labels; preserve branded CTA style. */
@media(min-width:1181px){
  .header .nav > a:not(.nav-quote){font-family:Manrope,"DM Sans",Arial,sans-serif !important;font-size:12px !important;font-weight:700 !important;letter-spacing:0 !important;white-space:nowrap}
}
@media(min-width:981px) and (max-width:1180px){
  .header .nav > a:not(.nav-quote){font-size:11px !important;font-weight:700 !important;letter-spacing:0 !important;white-space:nowrap}
}


/* V64 footer logo soft-shade refinement: avoid a harsh white box, keep logo readable on the dark footer. */
.v10-footer .v10-footer-logo {
  width: 166px !important;
  height: 112px !important;
  padding: 10px 12px !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, rgba(202, 223, 233, .18) 0%, rgba(166, 199, 214, .24) 55%, rgba(133, 173, 194, .28) 100%) !important;
  border: 1px solid rgba(132, 188, 214, .34) !important;
  box-shadow: 0 10px 24px rgba(2, 15, 32, .16), inset 0 1px 0 rgba(255,255,255,.12) !important;
  backdrop-filter: blur(5px);
}
.v10-footer .v10-footer-logo img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
}
@media (max-width: 700px) {
  .v10-footer .v10-footer-logo {
    width: 152px !important;
    height: 104px !important;
    padding: 10px !important;
  }
}


/* V70 - Option C approved footer logo treatment.
   Keep the original logo clearly visible on the dark footer with a compact soft tile,
   without using a harsh white box. */
footer.v10-footer .v10-footer-logo,
.v10-footer .v10-footer-logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: 100% !important;
  padding: 12px 16px !important;
  margin: 0 0 22px !important;
  line-height: 0 !important;
  background: linear-gradient(180deg, rgba(64, 95, 118, 0.62) 0%, rgba(38, 66, 88, 0.72) 100%) !important;
  border: 1px solid rgba(137, 183, 214, 0.42) !important;
  border-radius: 18px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10) !important;
  backdrop-filter: none !important;
  filter: none !important;
}
footer.v10-footer .v10-footer-logo img,
.v10-footer .v10-footer-logo img {
  display: block !important;
  width: 184px !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}
@media(max-width:700px) {
  .v10-footer .v10-footer-logo {padding: 10px 13px !important; border-radius: 16px !important;}
  .v10-footer .v10-footer-logo img {width:168px !important; height:auto !important; }
}
