/**
 * Full-site impact typography layer.
 *
 * Basis: UI hierarchy should make the first screen decisive, section headings
 * scannable, and cards readable without changing page copy or template data.
 */
:root {
  --impact-page-h1: clamp(46px, 3.9vw, 62px);
  --impact-hero-h1: clamp(50px, 4.25vw, 66px);
  --impact-section-h2: clamp(28px, 1.85vw, 36px);
  --impact-section-h3: clamp(20px, 1.15vw, 24px);
  --impact-card-title: clamp(16px, .9vw, 19px);
  --impact-lead: clamp(16px, 1vw, 18px);
  --impact-body: clamp(15px, .86vw, 16px);
  --impact-small: 14px;
  --impact-tight: 1.08;
  --impact-heading: 1.18;
  --impact-copy: 1.68;
  --impact-ink: #101827;
  --impact-text: #344054;
  --impact-muted: #5f6f84;
  --impact-red: var(--c-brand);
}

html body[class] main#main-content {
  --font-size-body: var(--impact-body);
  --font-size-lead: var(--impact-lead);
  --font-size-h4: clamp(20px, 1.25vw, 24px);
  --font-size-h3: var(--impact-section-h3);
  --font-size-h2: var(--impact-section-h2);
  --font-size-h1: var(--impact-page-h1);
  --font-size-display: var(--impact-hero-h1);
}

html body[class] main#main-content :is(h1, h2, h3, h4):not(.sr-only):not(.screen-reader-text) {
  max-width: 100%;
  color: var(--impact-ink);
  letter-spacing: 0;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

html body[class] main#main-content h1:not(.sr-only):not(.screen-reader-text) {
  font-size: var(--impact-page-h1);
  font-weight: 820;
  line-height: var(--impact-tight);
}

html body[class] main#main-content :is(
  .home-hero,
  .product-center-hero,
  .solutions-live-hero,
  .industries-hero,
  .industry-hero,
  .solution-hero,
  .support-hero,
  .about-redesign-hero,
  .case-archive-hero,
  .case-study-hero,
  .downloads-hero,
  .resource-detail-hero,
  .kh-hero,
  .legal-hero,
  .privacy-hero,
  .cookie-hero
) h1:not(.sr-only):not(.screen-reader-text) {
  font-size: var(--impact-hero-h1);
  line-height: 1.02;
}

html body[class] main#main-content h2:not(.sr-only):not(.screen-reader-text),
html body[class] main#main-content :is(.home-heading-row, .solutions-live-heading, .product-center-heading, .solution-section-heading, .industry-section-heading, .support-section-heading) h2:not(.sr-only) {
  font-size: var(--impact-section-h2);
  font-weight: 760;
  line-height: var(--impact-heading);
}

html body[class] main#main-content h3:not(.sr-only):not(.screen-reader-text) {
  font-size: var(--impact-section-h3);
  font-weight: 730;
  line-height: 1.24;
}

html body[class] main#main-content :is(
  p,
  li,
  summary,
  .entry-summary,
  .archive-description,
  [class*="description"],
  [class*="intro"],
  [class*="excerpt"]
):not(.sr-only):not(.screen-reader-text) {
  color: inherit;
  font-size: var(--impact-body);
  line-height: var(--impact-copy);
}

html body[class] main#main-content :is(
  [class*="hero"] p,
  [class*="hero-description"],
  [class*="hero__description"],
  .solution-section-description,
  .solutions-live-heading p,
  .industries-lede,
  .support-hero__lead
):not(.sr-only):not(.screen-reader-text) {
  color: var(--impact-muted);
  font-size: var(--impact-lead);
  line-height: 1.62;
}

html body[class] main#main-content :is(
  [class*="card"],
  [class*="tile"],
  [class*="step"],
  [class*="service"],
  [class*="document"],
  [class*="resource"],
  [class*="industry-item"]
) :is(h2, h3):not(.sr-only):not(.screen-reader-text) {
  font-size: var(--impact-card-title);
  line-height: 1.2;
}

html body[class] main#main-content :is(
  [class*="card"],
  [class*="tile"],
  [class*="step"],
  [class*="service"],
  [class*="document"],
  [class*="resource"],
  [class*="industry-item"]
) :is(p, li, small):not(.sr-only):not(.screen-reader-text) {
  font-size: var(--impact-small);
  line-height: 1.62;
}

html body[class] :is(.button, .home-button, [class*="button"], button[type="submit"], input[type="submit"]) {
  min-height: 52px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.18;
}

html body[class] main#main-content :is([class*="eyebrow"], [class*="kicker"], [class*="overline"]) {
  color: var(--impact-red);
  font-size: 14px;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: .08em;
}

html body[class] main#main-content :is([class*="stat"], [class*="metric"], [class*="fact"]) strong,
html body[class] main#main-content :is([class*="stat"], [class*="metric"], [class*="fact"]) .counter {
  font-size: clamp(24px, 1.65vw, 32px);
  line-height: 1;
}

html body.home[class] main#main-content .home-hero.home-hero--particles .home-hero__copy h1 {
  max-width: 800px;
  color: #101827;
  font-size: clamp(54px, 4.2vw, 66px);
  font-weight: 850;
  line-height: .98;
}

html body.home[class] main#main-content .home-hero.home-hero--particles .home-hero__copy {
  max-width: 830px;
}

html body.home[class] main#main-content .home-hero.home-hero--particles .home-hero__description {
  max-width: 790px;
  color: #263648;
  font-size: clamp(19px, 1.28vw, 22px);
  line-height: 1.68;
}

@media (max-width: 1366px) {
  html body.home[class] main#main-content .home-hero.home-hero--particles .home-hero__copy {
    max-width: 760px;
  }

  html body.home[class] main#main-content .home-hero.home-hero--particles .home-hero__copy h1 {
    font-size: clamp(40px, 3.25vw, 50px);
    line-height: .99;
  }

  html body.home[class] main#main-content .home-hero.home-hero--particles .home-hero__description {
    font-size: clamp(15px, .95vw, 16px);
    line-height: 1.6;
  }
}

html body.home[class] main#main-content .home-heading-row h2,
html body.home[class] main#main-content .home-engineering__copy h2 {
  font-size: var(--impact-section-h2);
  line-height: 1.18;
}

html body.home[class] main#main-content :is(.home-equipment-card__copy h3, .home-solution-card__copy h3, .home-insight-card h3) {
  font-size: var(--impact-card-title);
}

html body:is(.post-type-archive-product, .page-template-page-products) main#main-content .products-page .product-center-hero-copy h1#products-page-title,
html body.post-type-archive-solution main#main-content .solutions-live-hero h1,
html body.page-template-page-industries main#main-content .industries-hero h1 {
  font-size: clamp(50px, 4.2vw, 66px);
  line-height: 1.05;
}

html body:is(.single-product, .single-solution, .tax-application_industry, .single-case, .single-resource, .single-support_service, .single-insight) main#main-content h1 {
  font-size: clamp(46px, 3.8vw, 62px);
  line-height: 1.06;
}

html body:is(.page-template-page-about, .page-template-page-services-support, .page-template-page-downloads, .page-template-page-contact-us, .page-template-page-legal) main#main-content h1,
html body:is(.page-template-page-privacy, .page-template-page-cookie) main#main-content h1 {
  font-size: clamp(46px, 3.8vw, 62px);
}

html body[class] main#main-content :is(.product-center-category-copy h3, .product-center-featured-card h3, .products-featured-card h3, .solutions-live-card h3, .solutions-live-step h3, .solution-architecture-step h3, .solution-equipment-copy h3, .industry-card h3, .challenge-card h3, .support-service-card h3, .resource-document-card h3, .case-study-card h3) {
  font-size: var(--impact-card-title);
  line-height: 1.26;
}

html body[class] main#main-content :is(.product-center-category-copy p, .product-center-featured-card p, .solutions-live-card p, .solutions-live-step p, .solution-equipment-copy p, .industry-card p, .challenge-card p, .support-service-card p, .resource-document-card p, .case-study-card p) {
  font-size: 15px;
  line-height: 1.58;
}

html body[class] main#main-content :is(.privacy-policy-content, .cookie-policy-content, .legal-content, .entry-content) {
  color: var(--impact-text);
  font-size: var(--impact-body);
  line-height: 1.78;
}

html body.page-template-page-services-support[class] main#main-content.support-page .support-hero h1 {
  font-size: clamp(46px, 3.8vw, 62px) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  transform: none !important;
}

html body.page-template-page-about[class] main#main-content.about-reference-page .about-reference-side-card h2,
html body.page-template-page-about[class] main#main-content.about-reference-page .about-reference-side-cta h2 {
  font-size: clamp(24px, 1.55vw, 28px) !important;
  line-height: 1.18 !important;
}

html body.page-template-page-about[class] main#main-content.about-reference-page .about-reference-recent h3 {
  font-size: clamp(16px, .95vw, 18px) !important;
  line-height: 1.22 !important;
}

html body.page-template-page-about[class] main#main-content.about-reference-page .about-reference-recent p {
  font-size: 14px !important;
  line-height: 1.45 !important;
}

html body.single-insight[class] main#main-content .insight-breadcrumb {
  white-space: normal;
  overflow-wrap: anywhere;
}

html body.single-insight[class] main#main-content .insight-article-header h1 {
  max-width: 900px;
  font-size: clamp(44px, 3.5vw, 58px) !important;
  line-height: 1.06 !important;
  letter-spacing: 0 !important;
}

html body.single-insight[class] main#main-content .insight-lead {
  font-size: var(--impact-lead) !important;
  line-height: 1.62 !important;
}

html body.single-insight[class] main#main-content .insight-copy h2 {
  font-size: clamp(26px, 1.65vw, 32px) !important;
  line-height: 1.2 !important;
}

html body.single-insight[class] main#main-content .sidebar-panel h2,
html body.single-insight[class] main#main-content .sidebar-advice h2 {
  font-size: clamp(20px, 1.2vw, 23px) !important;
  line-height: 1.22 !important;
}

@media (max-width: 1200px) {
  :root {
    --impact-page-h1: clamp(42px, 4.7vw, 56px);
    --impact-hero-h1: clamp(44px, 5vw, 60px);
    --impact-section-h2: clamp(27px, 2.7vw, 34px);
  }
}

@media (max-width: 768px) {
  :root {
    --impact-page-h1: clamp(34px, 8.6vw, 42px);
    --impact-hero-h1: clamp(36px, 9.2vw, 44px);
    --impact-section-h2: clamp(24px, 6vw, 30px);
    --impact-section-h3: clamp(19px, 4.8vw, 22px);
    --impact-card-title: clamp(17px, 4.4vw, 20px);
    --impact-lead: 16px;
    --impact-body: 15px;
  }

  html body[class] main#main-content :is(
    .home-hero,
    .product-center-hero,
    .solutions-live-hero,
    .industries-hero,
    .industry-hero,
    .solution-hero,
    .support-hero,
    .about-redesign-hero,
    .case-archive-hero,
    .case-study-hero,
    .downloads-hero,
    .resource-detail-hero,
    .kh-hero
  ) h1:not(.sr-only):not(.screen-reader-text) {
    font-size: var(--impact-hero-h1);
    line-height: 1.06;
  }

  html body.home[class] main#main-content .home-hero.home-hero--particles .home-hero__copy h1 {
    font-size: clamp(38px, 9.6vw, 46px);
    line-height: 1.04;
  }

  html body.page-template-page-services-support[class] main#main-content.support-page .support-hero h1 {
    font-size: clamp(32px, 8.3vw, 40px) !important;
    line-height: 1.08 !important;
  }

  html body.single-insight[class] main#main-content .insight-article-header h1 {
    font-size: clamp(34px, 8.8vw, 42px) !important;
    line-height: 1.08 !important;
  }

  html body.single-insight[class] main#main-content .insight-copy h2 {
    font-size: clamp(23px, 5.8vw, 28px) !important;
  }

  html body.single-insight[class] main#main-content .insight-breadcrumb {
    min-height: 0;
    margin-bottom: 18px;
    font-size: 13px;
    line-height: 1.45;
  }

  html body.single-insight[class] main#main-content .insight-breadcrumb li:not(:last-child) {
    display: none;
  }

  html body.single-insight[class] main#main-content .insight-breadcrumb li:last-child {
    display: block;
    max-width: 100%;
  }

  html body.single-insight[class] main#main-content .insight-breadcrumb li:last-child::before {
    display: none;
  }

  html body[class] :is(.button, .home-button, [class*="button"], button[type="submit"], input[type="submit"]) {
    min-height: 50px;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  :root {
    --impact-page-h1: clamp(32px, 8.4vw, 40px);
    --impact-hero-h1: clamp(34px, 8.8vw, 42px);
    --impact-section-h2: clamp(23px, 6vw, 29px);
  }

  html body.home[class] main#main-content .home-hero.home-hero--particles .home-hero__copy h1 {
    font-size: clamp(34px, 8.8vw, 42px);
  }

  html body.page-template-page-services-support[class] main#main-content.support-page .support-hero h1 {
    font-size: clamp(31px, 8vw, 38px) !important;
  }

  html body.single-insight[class] main#main-content .insight-article-header h1 {
    font-size: clamp(32px, 8.4vw, 40px) !important;
  }
}

/* Final footer color contract: dark footer with readable light text. */
html body[class] .site-footer.site-footer {
  color: #aeb8c7 !important;
  background: #071321 !important;
  border-top-color: transparent !important;
}

html body[class] .site-footer.site-footer .footer-bottom {
  color: #9da9b9 !important;
  background: #071321 !important;
  border-top-color: rgba(255, 255, 255, .16) !important;
}

html body[class] .site-footer.site-footer :is(
  .footer-brand > p,
  .footer-contact-line,
  .footer-contact-line a,
  .footer-column > a,
  .footer-menu a,
  .footer-contact > a,
  .footer-contact > span,
  .footer-legal-menu a
) {
  color: #aeb8c7 !important;
}

html body[class] .site-footer.site-footer .footer-grid h2 {
  color: #fff !important;
}

html body[class] .site-footer.site-footer :is(
  .footer-column > a,
  .footer-menu a,
  .footer-contact-line a,
  .footer-legal-menu a
):hover {
  color: #fff !important;
}

html body[class] .site-footer.site-footer .footer-contact {
  color: #aeb8c7 !important;
  background: transparent !important;
  border-color: rgba(255, 255, 255, .16) !important;
}

html body[class] .site-footer.site-footer .footer-contact svg {
  color: #fff !important;
}

html body.home[class] main#main-content :is(
  .home-equipment,
  .home-solutions,
  .home-engineering,
  .home-insights
) .home-eyebrow,
html body.home[class] main#main-content :is(
  .home-equipment,
  .home-solutions,
  .home-insights
) .home-text-link {
  color: var(--c-brand) !important;
}

html body.home[class] main#main-content .home-section {
  padding-top: clamp(48px, 3.8vw, 68px) !important;
  padding-bottom: clamp(48px, 3.8vw, 68px) !important;
}

html body.home[class] main#main-content .home-equipment {
  padding-top: clamp(58px, 4.2vw, 76px) !important;
  padding-bottom: clamp(44px, 3.2vw, 58px) !important;
}

html body.home[class] main#main-content :is(
  .home-solutions,
  .home-engineering,
  .home-insights
) {
  padding-top: clamp(44px, 3.4vw, 60px) !important;
}

html body.home[class] main#main-content :is(
  .home-heading-row,
  .home-solutions .home-heading-row
) {
  margin-bottom: clamp(24px, 2.4vw, 30px) !important;
}

@media (min-width: 769px) {
  html body.home[class] main#main-content .home-engineering__layout {
    grid-template-columns: minmax(0, 52%) minmax(0, 48%) !important;
    align-items: center !important;
    gap: clamp(36px, 4.6vw, 76px) !important;
  }

  html body.home[class] main#main-content .home-engineering__copy {
    min-height: 0 !important;
    display: grid !important;
    align-content: center !important;
    padding: clamp(8px, 1.2vw, 18px) 0 !important;
  }

  html body.home[class] main#main-content .home-engineering__copy h2 {
    max-width: 720px !important;
  }

  html body.home[class] main#main-content .home-engineering__description {
    max-width: 760px !important;
    margin-top: clamp(18px, 1.8vw, 24px) !important;
  }

  html body.home[class] main#main-content .home-engineering__copy ul {
    gap: clamp(10px, 1vw, 14px) !important;
    margin: clamp(24px, 2.2vw, 32px) 0 clamp(28px, 2.6vw, 36px) !important;
  }

  html body.home[class] main#main-content .home-engineering__copy .home-button {
    align-self: flex-start !important;
    justify-self: start !important;
    width: fit-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-inline: 23px !important;
    margin-top: 0 !important;
  }
}

/* Services uses the shared overview Banner type contract. */
@media (min-width: 769px) {
  html body.page-template-page-services-support[class] main#main-content.support-page .support-hero h1 {
    font-size: var(--impact-hero-h1) !important;
    font-weight: 820 !important;
    line-height: 1.02 !important;
    letter-spacing: normal !important;
  }

  html body.page-template-page-services-support[class] main#main-content.support-page .support-hero .support-hero__description {
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 27px !important;
    letter-spacing: normal !important;
  }

  html body.page-template-page-services-support[class] main#main-content.support-page .support-hero .support-actions .support-button {
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 17.7px !important;
    letter-spacing: normal !important;
  }
}

@media (max-width: 1366px) {
  html body[class] .site-header.site-header .nav-toggle {
    display: inline-flex !important;
  }

  html body[class] .site-header.site-header .header-navigation {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: 0 !important;
    display: block !important;
    max-height: calc(100dvh - var(--tongyi-header-height)) !important;
    padding: 18px 20px 22px !important;
    overflow-y: auto !important;
    background: #fff !important;
    border-bottom: 1px solid #edf0f3 !important;
    box-shadow: 0 16px 32px rgba(15, 23, 42, .1) !important;
    transform: translateY(-120%) !important;
    visibility: hidden !important;
  }

  html body[class] .site-header.site-header .header-navigation.is-open {
    transform: translateY(0) !important;
    visibility: visible !important;
    background: rgba(7, 19, 33, .97) !important;
  }

  html body[class] .site-header.site-header .header-navigation.is-open :is(.menu a, .language-switcher summary, .header-search) {
    color: #fff !important;
  }

  html body[class] .site-header.site-header .primary-nav {
    width: 100% !important;
  }

  html body[class] .site-header.site-header .menu {
    display: block !important;
    margin: 0 !important;
  }

  html body[class] .site-header.site-header .header-tools {
    width: 100% !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding-top: 10px !important;
  }

  html body[class] .site-header.site-header .menu a {
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    font-size: 14px !important;
  }
}

@media (min-width: 1025px) and (max-width: 1366px) {
  html body.home[class] main#main-content .home-hero,
  html body.home[class] main#main-content .home-hero__inner {
    min-height: 600px !important;
  }

  html body.home[class] main#main-content .home-hero__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 40%) minmax(0, 60%) !important;
    gap: 28px !important;
    align-items: center !important;
  }

  html body.home[class] main#main-content .home-hero__copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: auto !important;
    max-width: none !important;
    padding: 54px 0 74px !important;
  }

  html body.home[class] main#main-content .home-hero__visual {
    position: relative !important;
    inset: auto !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    align-self: center !important;
    overflow: hidden !important;
    border-radius: 6px !important;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  html body.home[class] main#main-content .home-hero,
  html body.home[class] main#main-content .home-hero__inner {
    height: auto !important;
    min-height: 0 !important;
  }

  html body.home[class] main#main-content .home-hero__inner {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 28px !important;
    padding: 48px 0 0 !important;
  }

  html body.home[class] main#main-content .home-hero__copy {
    width: min(calc(100% - var(--home-gutter) * 2), var(--home-container)) !important;
    margin-inline: auto !important;
    padding: 0 !important;
  }

  html body.home[class] main#main-content .home-hero__visual {
    position: relative !important;
    inset: auto !important;
    width: min(calc(100% - var(--home-gutter) * 2), var(--home-container)) !important;
    height: auto !important;
    margin-inline: auto !important;
    aspect-ratio: 16 / 8 !important;
    overflow: hidden !important;
    border-radius: 6px !important;
  }

  html body.home[class] main#main-content .home-hero__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  html body.home[class] main#main-content .home-statistics-wrap {
    margin-top: 0 !important;
    padding-top: 24px !important;
    background: #fff !important;
  }
}

@media (min-width: 769px) and (max-width: 1366px) {
  html body.home[class] main#main-content .home-equipment__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px 28px !important;
    align-items: stretch !important;
  }

  html body.home[class] main#main-content .home-equipment-card.product-center-category-card {
    height: 350px !important;
    min-height: 350px !important;
    overflow: hidden !important;
  }

  html body.home[class] main#main-content .home-equipment-card.product-center-category-card > a {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-media {
    height: 178px !important;
    min-height: 178px !important;
    display: grid !important;
    place-items: center !important;
    position: relative !important;
    padding: 18px 22px 8px !important;
    background: linear-gradient(180deg, #fbfcfd 0%, #fff 100%) !important;
    overflow: hidden !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-media img {
    position: absolute !important;
    inset: 18px 22px 8px !important;
    width: calc(100% - 44px) !important;
    height: calc(100% - 26px) !important;
    max-width: calc(100% - 44px) !important;
    max-height: calc(100% - 26px) !important;
    object-fit: contain !important;
    mix-blend-mode: multiply !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-copy {
    min-height: 172px !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 16px 18px 18px !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-copy h3 {
    min-height: 0 !important;
    margin: 0 0 10px !important;
    font-size: 18px !important;
    line-height: 1.24 !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-copy p {
    min-height: 52px !important;
    margin: 0 0 14px !important;
    overflow: hidden !important;
    color: #344054 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-copy strong {
    min-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: auto !important;
    color: var(--c-brand) !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-copy strong svg {
    width: 18px !important;
    height: 18px !important;
  }
}

/* CMS copy must remain contained without changing normal text measures. */
html body[class] main#main-content :is(p, li, dt, dd) {
  overflow-wrap: break-word;
}

html body[class] main#main-content :is(.button, button, [role="button"]):not([aria-label]),
html body[class] main#main-content [class*="cta"] > a:not([aria-label]) {
  max-width: 100%;
  height: auto !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (min-width: 769px) and (max-width: 1024px) {
  html body.home[class] main#main-content .home-equipment__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  html body.home[class] main#main-content .home-equipment__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
  }

  html body.home[class] main#main-content .home-equipment-card.product-center-category-card {
    height: 330px !important;
    min-height: 330px !important;
    overflow: hidden !important;
  }

  html body.home[class] main#main-content .home-equipment-card.product-center-category-card > a {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-media {
    height: 156px !important;
    min-height: 156px !important;
    display: grid !important;
    place-items: center !important;
    position: relative !important;
    padding: 16px 18px 6px !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, #fbfcfd 0%, #fff 100%) !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-media img {
    position: absolute !important;
    inset: 16px 18px 6px !important;
    width: calc(100% - 36px) !important;
    height: calc(100% - 22px) !important;
    max-width: calc(100% - 36px) !important;
    max-height: calc(100% - 22px) !important;
    object-fit: contain !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-copy {
    min-height: 174px !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 14px 16px 16px !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-copy h3 {
    margin: 0 0 8px !important;
    font-size: 17px !important;
    line-height: 1.24 !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-copy p {
    min-height: 50px !important;
    margin: 0 0 12px !important;
    overflow: hidden !important;
    font-size: 14px !important;
    line-height: 1.58 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-copy strong {
    min-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: auto !important;
    font-size: 13px !important;
  }
}

/* Keep narrow home cards readable after all global card contracts. */
@media (max-width: 680px) {
  html body.home[class] main#main-content .home-equipment__grid,
  html body.home[class] main#main-content .home-solutions__grid,
  html body.home[class] main#main-content .home-insights__grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  html body.home[class] main#main-content :is(.home-equipment-card, .home-solution-card, .home-insight-card) :is(h2, h3) {
    font-size: 17px !important;
    line-height: 1.3 !important;
  }

  html body.home[class] main#main-content :is(.home-equipment-card, .home-solution-card, .home-insight-card) p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }
}

@media (min-width: 769px) {
  html body.home[class] main#main-content .home-equipment-card.product-center-category-card {
    height: 350px !important;
    min-height: 350px !important;
    overflow: hidden !important;
  }

  html body.home[class] main#main-content .home-equipment-card.product-center-category-card > a {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-media {
    height: 178px !important;
    min-height: 178px !important;
    display: grid !important;
    place-items: center !important;
    position: relative !important;
    padding: 18px 22px 8px !important;
    background: linear-gradient(180deg, #fbfcfd 0%, #fff 100%) !important;
    overflow: hidden !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-media img {
    position: absolute !important;
    inset: 18px 22px 8px !important;
    width: calc(100% - 44px) !important;
    height: calc(100% - 26px) !important;
    max-width: calc(100% - 44px) !important;
    max-height: calc(100% - 26px) !important;
    object-fit: contain !important;
    mix-blend-mode: multiply !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-copy {
    min-height: 172px !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 16px 18px 18px !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-copy h3 {
    min-height: 0 !important;
    margin: 0 0 10px !important;
    font-size: 18px !important;
    line-height: 1.24 !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-copy p {
    min-height: 52px !important;
    margin: 0 0 14px !important;
    overflow: hidden !important;
    color: #344054 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-copy strong {
    min-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: auto !important;
    color: var(--c-brand) !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
  }

  html body.home[class] main#main-content .home-equipment-card .product-center-category-copy strong svg {
    width: 18px !important;
    height: 18px !important;
  }
}
