
.cookie-banner {
  position: fixed;
  z-index: 1000;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--c-bg-alt, #1F2B33);
  color: var(--c-fg-on-alt, #F4F6F6);
  border-top: 1px solid var(--c-border-on-alt, #3A484E);
  box-shadow: 0 -0.5rem 1.5rem rgba(27, 34, 38, 0.16);
  padding: var(--space-3, 1.25rem);
}
.cookie-banner[hidden], .cookie-preferences[hidden] { display: none; }
.cookie-banner-inner { max-width: 1200px; margin-inline: auto; display: flex; align-items: center; gap: var(--space-3, 1.25rem); }
.cookie-copy { flex: 1; }
.cookie-copy h2 { margin: 0 0 var(--space-1, .5rem); color: inherit; font-size: 1rem; }
.cookie-copy p { margin: 0; color: var(--c-muted-on-alt, #9FB2B4); font-size: .88rem; line-height: 1.5; }
.cookie-copy a { color: var(--c-fg-on-alt, #F4F6F6); text-decoration: underline; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: var(--space-1, .5rem); flex-shrink: 0; }
.cookie-button { border: 1px solid var(--c-border-on-alt, #3A484E); border-radius: var(--radius-sm, 2px); padding: .7rem 1rem; font: inherit; font-weight: 700; cursor: pointer; background: transparent; color: var(--c-fg-on-alt, #F4F6F6); }
.cookie-button-primary { background: var(--c-accent, #5D8A8C); border-color: var(--c-accent, #5D8A8C); }
.cookie-button:hover { filter: brightness(1.08); }
.cookie-preferences { max-width: 1200px; margin: var(--space-3, 1.25rem) auto 0; border-top: 1px solid var(--c-border-on-alt, #3A484E); padding-top: var(--space-3, 1.25rem); }
.cookie-preferences h3 { margin: 0 0 var(--space-2, .75rem); color: inherit; font-size: 1rem; }
.cookie-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2, .75rem); }
.cookie-option { display: flex; align-items: flex-start; gap: var(--space-1, .5rem); color: var(--c-muted-on-alt, #9FB2B4); font-size: .86rem; }
.cookie-option input { margin-top: .25rem; accent-color: var(--c-accent, #5D8A8C); }
.cookie-preferences .cookie-button { margin-top: var(--space-2, .75rem); }
@media (max-width: 640px) {
  .cookie-banner-inner { flex-direction: column; align-items: stretch; }
  .cookie-actions { display: flex; flex-direction: column; }
  .cookie-button { width: 100%; }
  .cookie-options { grid-template-columns: 1fr; }
}
@media (min-width: 641px) and (max-width: 1024px) { .cookie-banner-inner { align-items: flex-start; } }
@media (min-width: 1025px) { .cookie-banner { padding-inline: var(--space-4, 2rem); } }
.
.card > h3 { color: #989c9d !important; }
.card > p { color: #989c9d !important; }
.step > h3 { color: #6e6f6f !important; }
.step > p { color: #6e6f6f !important; }


.card > h3 { color: #989c9d !important; }
.card > p { color: #989c9d !important; }
.step > h3 { color: #6e6f6f !important; }
.step > p { color: #6e6f6f !important; }


/* wh-elem-contrast */
/* Auto: element text failed 4.5:1 against its resolved background. */
.site-header .brand-name { color: #6e6f6f !important; }
.eyebrow { color: #4f7577 !important; }
.about-block .timeline-marker { color: #547c7e !important; }
.hero .eyebrow { color: #677475 !important; }
.hero .btn-outline { color: #6e6f6f !important; }
.card > h3 { color: #989c9d !important; }
.card > p { color: #989c9d !important; }
.step > h3 { color: #6e6f6f !important; }
.step > p { color: #6e6f6f !important; }
.product-card .btn-outline { color: #6e6f6f !important; }
.case-study .eyebrow { color: #677475 !important; }
.case-study .btn-outline { color: #6e6f6f !important; }
.contact-map .contact-map-label { color: #759c9d !important; }
