/*
 * Plastica shared visual system
 * Loaded last on every active page so typography and colour remain identical
 * to the approved homepage, without changing page-specific layouts.
 */
:root {
  --sans: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  --serif: "Noto Serif Display", "Times New Roman", serif;
  --ink: #071729;
  --navy: #04111f;
  --navy-soft: #0a2035;
  --blue: #174a8b;
  --blue-accent: #5681ad;
  --ice: #7596b9;
  --paper: #f5f4ef;
  --surface: #f7f8f9;
  --muted: #66717b;
  --line: rgba(7, 23, 41, 0.14);

  /* Page modules now inherit the homepage palette. */
  --c-blue: var(--blue);
  --c-navy: var(--navy);
  --c-text: var(--ink);
  --c-muted: var(--muted);
  --c-line: var(--line);
  --c-pale: #eef2f5;
  --lab-navy: var(--navy);
  --lab-blue: var(--blue);
  --lab-ice: var(--ice);
  --lab-ink: var(--ink);
  --lab-muted: var(--muted);
  --lab-line: var(--line);
  --lab-paper: var(--surface);
  --profile-blue: var(--blue);
  --profile-navy: var(--navy);
  --profile-ink: var(--ink);
  --profile-muted: var(--muted);
  --profile-line: var(--line);
  --profile-paper: var(--surface);
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--sans);
}

body {
  color: var(--ink);
  font-family: var(--sans) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6,
button,
input,
select,
textarea {
  font-family: var(--sans) !important;
}

h1 em,
h2 em,
h3 em,
.products-hero-lead,
.cold-solution-copy h2,
.profile-page h1 em,
.profile-page h2 em,
.diagrams-page h1 em,
.diagrams-page h2 em,
.certifications-page h1 em,
.certifications-page h2 em,
.clients-page em {
  color: var(--blue-accent) !important;
  font-family: var(--serif) !important;
  font-style: italic;
  font-weight: 500;
}

/* Shared editorial labels and fine rules. */
.section-kicker,
.clients-kicker,
.cert-eyebrow,
.lab-eyebrow,
.profile-page .section-kicker span,
.products-section-label span {
  color: var(--blue-accent) !important;
}

.title-rule,
.cert-rule,
.lab-rule,
.profile-page .title-rule {
  background: var(--blue);
}

/* Keep interactive colour language consistent with the homepage. */
a,
button {
  -webkit-tap-highlight-color: transparent;
}

.oval-page .oval-pill,
.oval-page .oval-sizes > a.is-current,
.oval-page .oval-thumbs button.is-active,
.oval-page .oval-tabs a:first-child {
  border-color: var(--blue);
  color: var(--blue);
}

.oval-page .oval-pill {
  background: rgba(86, 129, 173, 0.12);
}

.oval-page .oval-thumbs.eps-three-thumbs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.oval-page .oval-actions a {
  border-color: var(--blue);
  color: var(--blue);
}

.oval-page .oval-actions a.primary,
.profile-button.primary {
  background: var(--blue);
  color: #fff;
}

.oval-page .oval-uses header i,
.oval-page .oval-trust article > i {
  background: var(--blue);
}

.oval-page .oval-uses header small,
.oval-page .oval-use-number,
.oval-page .oval-value-icon,
.profile-page .production-list b,
.profile-page .logistics-copy li b,
.profile-page .profile-product-grid span b {
  color: var(--blue);
}

.products-page,
.oval-page,
.profile-page,
.certifications-page,
.diagrams-page,
.clients-page {
  color: var(--ink);
}

.report-strip,
.lab-contact-strip,
.cert-cta,
.clients-closing {
  background-color: var(--navy);
}

/* The global header and footer always retain the approved homepage treatment. */
.site-header,
.site-header a,
.site-footer,
.site-footer a,
.site-footer button {
  font-family: var(--sans);
}

.site-footer {
  --ink: #f4f7fa;
  --muted: #9cabb8;
  --line: rgba(255, 255, 255, 0.14);
  background-color: var(--navy);
  color: #f4f7fa;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
  }
}
