/* Pass 142C — modular safe public website theme runtime.
   Content owners may change safe theme tokens; layout, spacing, responsiveness, and component geometry stay protected. */

:root {
  --public-teal: var(--public-theme-primary, #00897b);
  --public-teal-dark: var(--public-theme-primary-dark, #006d63);
  --public-mint: var(--public-theme-primary-soft, #e8f8f5);
  --public-navy: var(--public-theme-accent, #0b1f33);
  --public-navy-2: var(--public-theme-accent-soft, #123751);
}

body:not(.is-admin-route),
.seo-public-body {
  background: var(--public-theme-page-background, linear-gradient(180deg, #f8fbfd 0%, #edf4f7 100%));
  background-size: var(--public-theme-page-background-size, auto);
  background-position: var(--public-theme-page-background-position, center);
  background-repeat: no-repeat;
  color: var(--public-theme-page-text, var(--public-ink));
}

.public-header,
.seo-public-body .public-header {
  background: var(--public-theme-header-background, #091c2d);
  background-size: var(--public-theme-header-background-size, auto);
  background-position: var(--public-theme-header-background-position, center);
  background-repeat: no-repeat;
  color: var(--public-theme-header-text, #fff);
}

.public-header .public-brand,
.public-header .public-brand-name,
.public-header .public-nav > a,
.public-header .public-nav-dropdown > summary,
.public-header .language-switch {
  color: inherit;
}

.public-header .public-brand-tagline,
.public-header .public-nav .public-admin-link {
  color: color-mix(in srgb, currentColor 76%, transparent);
}

.public-footer,
.seo-public-body .public-footer {
  background: var(--public-theme-footer-background, #091c2d);
  background-size: var(--public-theme-footer-background-size, auto);
  background-position: var(--public-theme-footer-background-position, center);
  background-repeat: no-repeat;
  color: var(--public-theme-footer-text, #dbe8ee);
}

.public-footer-brand strong,
.public-footer-contact strong,
.public-footer-links a:hover,
.public-footer-links a:focus-visible,
.public-footer-bottom a:hover,
.public-footer-bottom a:focus-visible {
  color: inherit;
}

.public-footer-brand p,
.public-footer-links a,
.public-footer-bottom a,
.public-footer-contact span,
.public-footer-contact a,
.public-footer-contact-item > span,
.public-footer-bottom {
  color: color-mix(in srgb, currentColor 76%, transparent);
}

#customerView .public-hero,
.public-content-hero,
.seo-hero {
  background: var(--public-theme-hero-background, linear-gradient(135deg, #0b1f33 0%, #103f4d 58%, #096d66 100%));
}

.public-content-breadcrumb,
.public-content-breadcrumb span {
  color: color-mix(in srgb, var(--public-theme-page-text, #102033) 70%, transparent);
}

.public-content-breadcrumb a,
.public-kicker,
.public-section-kicker,
.public-content-section-heading > p,
.public-content-card-link {
  color: var(--public-theme-primary-dark, #006d63);
}

.public-content-service-card:hover,
.public-content-service-card:focus-visible {
  border-color: rgba(var(--public-theme-primary-rgb, 0, 137, 123), 0.38);
}

.public-header a:focus-visible,
.public-footer a:focus-visible,
.public-site a:focus-visible,
.public-site button:focus-visible,
.seo-public-body a:focus-visible,
.seo-public-body button:focus-visible {
  outline-color: rgba(var(--public-theme-primary-rgb, 0, 137, 123), 0.58);
}

@supports not (color: color-mix(in srgb, #000 50%, #fff)) {
  .public-header .public-brand-tagline,
  .public-header .public-nav .public-admin-link { color: #c3d9df; }
  .public-footer-brand p,
  .public-footer-links a,
  .public-footer-bottom a,
  .public-footer-contact span,
  .public-footer-contact a,
  .public-footer-contact-item > span,
  .public-footer-bottom { color: #bfd0d8; }
}
