/*
 * Homepage typography system
 * Scope: B2B industrial homepage only.
 */
body.home {
  --yc-font-heading: Poppins, Nunito, Arial, sans-serif;
  --yc-font-body: Nunito, Arial, sans-serif;
  --yc-type-display: clamp(2rem, 2.65vw, 2.5rem);
  --yc-type-section: clamp(1.75rem, 2.35vw, 2.375rem);
  --yc-type-card: 1.125rem;
  --yc-type-body: 1rem;
  --yc-type-lead: 1.0625rem;
  --yc-type-small: .9375rem;
  --yc-type-caption: .8125rem;
  --yc-leading-body: 1.66;
  --yc-leading-tight: 1.16;
  color: #40556f;
  font-family: var(--yc-font-body);
  font-size: var(--yc-type-body);
  line-height: var(--yc-leading-body);
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}

body.home h1,
body.home h2,
body.home h3,
body.home .gb-headline {
  font-family: var(--yc-font-heading);
}

body.home .entry-content p,
body.home .gb-headline-text {
  letter-spacing: 0;
}

body.home .entry-content p {
  font-size: var(--yc-type-body);
  line-height: var(--yc-leading-body);
  color: #40556f;
}

body.home .gb-container-ad3752fd .gb-headline-eda98b30 {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 1rem;
  color: #1d64ad;
  font-size: var(--yc-type-caption);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.home .gb-container-ad3752fd .gb-headline-02445323 {
  max-width: 15.5em;
  margin: 0 0 1.15rem;
  color: #052b55;
  font-size: var(--yc-type-display);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.025em;
  text-wrap: balance;
}

body.home .gb-container-ad3752fd .wp-block-paragraph {
  max-width: 62ch;
  margin: 0 0 1.7rem;
  color: #24415f !important;
  font-size: var(--yc-type-lead);
  font-weight: 500;
  line-height: 1.72;
}

body.home .gb-container-ad3752fd .wp-block-paragraph strong {
  font-weight: 650;
}

body.home .gb-headline-077e2115,
body.home .gb-headline-46f9fb95,
body.home .gb-headline-e86a8e24,
body.home .gb-headline-33dd77a4,
body.home .gb-headline-757f3ba7 {
  color: #2a77ca;
  font-size: var(--yc-type-caption);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .09em;
  text-transform: uppercase;
}

body.home .gb-headline-7a3bbc78,
body.home .gb-headline-c766be8d,
body.home .gb-headline-400a09d2,
body.home .gb-headline-cfa308ba,
body.home .gb-headline-f22a5383,
body.home .gb-headline-3923d6b7,
body.home .gb-headline-7b67228b {
  color: #052b55;
  font-size: var(--yc-type-section);
  font-weight: 800;
  line-height: var(--yc-leading-tight);
  letter-spacing: -.025em;
  text-wrap: balance;
}

body.home .gb-container-bef98be3 .gb-headline-7a3bbc78 {
  color: #fff;
}

body.home .gb-container-bef98be3 .gb-headline-5d2b2fc9 {
  color: #eef6ff;
  font-weight: 600;
}

body.home .gb-headline-5d2b2fc9,
body.home .gb-headline-0c4817b6,
body.home .gb-container-805b7613 > p.gb-headline-text,
body.home .gb-container-44368304 .gb-headline-323df45d,
body.home .gb-container-a4540854 > p.gb-headline-text {
  max-width: 66ch;
  color: #415a76;
  font-size: var(--yc-type-lead);
  line-height: 1.68;
}

body.home .gb-headline-dc7abb09,
body.home .gb-headline-92c40df5,
body.home .gb-headline-eed90626,
body.home .gb-headline-f7bc232c,
body.home .gb-headline-dbc6524e,
body.home .gb-headline-397c1e25,
body.home .gb-headline-d1d40c7f,
body.home .gb-headline-29324851,
body.home .gb-headline-4a54bd47,
body.home .gb-headline-a150c6e5,
body.home .gb-headline-f42a23eb,
body.home .gb-headline-3c5c4891,
body.home .gb-headline-b6decde4 {
  color: #082b55;
  font-size: var(--yc-type-card);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -.012em;
}

body.home .gb-headline-b784d577,
body.home .gb-headline-11bdeb02,
body.home .gb-headline-c0db1ccb,
body.home .gb-headline-d4a13260,
body.home .gb-headline-97fd8422,
body.home .gb-headline-74b4cd2b {
  color: #526981;
  font-size: var(--yc-type-small);
  line-height: 1.62;
}

body.home .gb-headline-dbfe1c9e,
body.home .gb-headline-debe5d76 {
  color: #052b55;
  font-family: var(--yc-font-heading);
  font-size: clamp(1.75rem, 2.55vw, 2.375rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.025em;
  font-variant-numeric: tabular-nums;
}

body.home .gb-headline-010828c3,
body.home .gb-headline-785a5a60,
body.home .gb-headline-504a8839 {
  color: #5b6c82;
  font-size: var(--yc-type-small);
  font-weight: 700;
  line-height: 1.35;
}

body.home .gb-container-d03ef9ff {
  align-items: stretch;
}

body.home .gb-container-5c437cc8,
body.home .gb-container-77f95779 {
  align-items: center;
}

body.home .gb-container-690b328f,
body.home .gb-container-b7d90fbe {
  display: grid;
  align-content: center;
  min-height: 3.25rem;
}

body.home .gb-container-690b328f .gb-headline,
body.home .gb-container-b7d90fbe .gb-headline {
  margin-bottom: 0;
}

body.home .gb-headline-010828c3,
body.home .gb-headline-785a5a60 {
  color: #24415f;
  font-size: .9375rem;
  font-weight: 800;
  line-height: 1.3;
  text-transform: none;
}

body.home .gb-grid-wrapper-3180d6bf .gb-headline-4b3189f1,
body.home .gb-grid-wrapper-3180d6bf .gb-headline-82896aa3 {
  color: #30465f;
  font-family: var(--yc-font-body);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.68;
}

body.home a.gb-button,
body.home .elementor-button,
body.home button,
body.home input,
body.home textarea {
  font-family: var(--yc-font-body);
}

body.home a.gb-button,
body.home .elementor-button {
  font-size: var(--yc-type-small);
  font-weight: 800;
  line-height: 1;
  letter-spacing: .01em;
  text-transform: none;
}

body.home .elementor-field-textual,
body.home input,
body.home textarea {
  font-size: var(--yc-type-small);
  line-height: 1.5;
}

body.home .elementor-field-textual::placeholder {
  color: #6f8094;
  opacity: 1;
}

body.home .gb-container-77771980 > .gb-headline-7b67228b {
  font-size: clamp(1.625rem, 2.05vw, 1.875rem);
  line-height: 1.18;
}

body.home .gb-container-805b7613 > .gb-headline-cfa308ba,
body.home .gb-container-805b7613 > .gb-headline-f22a5383,
body.home .gb-container-38874d6f > .gb-headline-3923d6b7 {
  font-size: clamp(1.75rem, 2.35vw, 2.25rem);
  line-height: 1.18;
}

body.home .gb-container-293a2755 .gb-headline-400a09d2 {
  max-width: none;
  font-size: clamp(1.5rem, 2vw, 1.875rem);
  line-height: 1.22;
  white-space: nowrap;
}

body.home .gb-container-d78d5a9a .gb-headline-c766be8d {
  font-size: clamp(1.5rem, 1.9vw, 1.75rem);
  line-height: 1.32;
  letter-spacing: -.015em;
}

body.home .gb-container-293a2755 .gb-grid-wrapper-4bf95d93 h3,
body.home .gb-container-38874d6f .gb-grid-wrapper-3180d6bf h3 {
  font-size: 1.125rem;
  line-height: 1.28;
}

@media (max-width: 767px) {
  body.home {
    --yc-type-display: clamp(1.625rem, 6.8vw, 2rem);
    --yc-type-section: 1.45rem;
    --yc-type-card: 1.0625rem;
    --yc-type-lead: 1rem;
  }

  body.home .gb-container-ad3752fd .gb-headline-02445323 {
    max-width: 100%;
    line-height: 1.12;
    letter-spacing: -.025em;
  }

  body.home .gb-container-ad3752fd .wp-block-paragraph,
  body.home .gb-headline-5d2b2fc9,
  body.home .gb-headline-0c4817b6,
  body.home .gb-container-805b7613 > p.gb-headline-text,
  body.home .gb-container-44368304 .gb-headline-323df45d,
  body.home .gb-container-a4540854 > p.gb-headline-text {
    max-width: none;
    line-height: 1.64;
  }

  body.home .gb-container-77771980 > .gb-headline-7b67228b {
    font-size: 1.375rem;
    line-height: 1.2;
  }

  body.home .gb-container-805b7613 > .gb-headline-cfa308ba,
  body.home .gb-container-805b7613 > .gb-headline-f22a5383,
  body.home .gb-container-38874d6f > .gb-headline-3923d6b7 {
    font-size: 1.45rem;
    line-height: 1.22;
  }

  body.home .gb-container-293a2755 .gb-headline-400a09d2 {
    font-size: 1.375rem;
    line-height: 1.25;
    white-space: normal;
  }

  body.home .gb-container-d78d5a9a .gb-headline-c766be8d {
    font-size: 1.25rem;
    line-height: 1.38;
  }

  body.home .gb-container-293a2755 .gb-grid-wrapper-4bf95d93 h3,
  body.home .gb-container-38874d6f .gb-grid-wrapper-3180d6bf h3 {
    font-size: 1.0625rem;
    line-height: 1.3;
  }
}

/* Local adjustment: homepage manufacturing section title on all viewports */
body.home .gb-container-bef98be3 .gb-headline-7a3bbc78 {
  font-size: calc(var(--yc-type-section) * .75) !important;
  line-height: 1.2;
  text-wrap: balance;
}

/* Reduce the blue section's vertical padding without changing its content scale. */
body.home .gb-container-bef98be3 .gb-container-3deb6595 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

@media (max-width: 767px) {
  body.home .gb-container-bef98be3 .gb-headline-7a3bbc78 {
    max-width: none;
    margin-inline: auto;
    font-size: .95rem !important;
    line-height: 1.24;
  }

  body.home .gb-container-bef98be3 .gb-headline-5d2b2fc9 {
    font-size: .9375rem;
    line-height: 1.58;
  }

  body.home .gb-container-bef98be3 .gb-container-3deb6595 {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
}
