/* ============================================================
   SOLON CONSULTING — COMPREHENSIVE SITE ENHANCEMENT CSS
   Design, Typography, UX, Accessibility, Performance
   ============================================================ */

/* ── 0. DESIGN TOKENS & CUSTOM PROPERTIES ─────────────────── */
:root {
  /* Brand chromatic palette */
  --sc-navy:       #0f1f3d;
  --sc-navy-mid:   #1a2f50;
  --sc-gold:       #c8922a;
  --sc-gold-light: #e8b84b;
  --sc-cream:      #f7f3ec;
  --sc-white:      #ffffff;
  --sc-red:        #c8321a;
  --sc-charcoal:   #2d2d2d;
  --sc-muted:      #5a6370;
  --sc-border:     rgba(200,146,42,0.25);
  --sc-shadow-sm:  0 2px 8px rgba(15,31,61,0.10);
  --sc-shadow-md:  0 6px 24px rgba(15,31,61,0.15);
  --sc-shadow-lg:  0 16px 48px rgba(15,31,61,0.20);

  /* Fluid type scale — clamp(min, preferred, max) */
  --fs-xs:   clamp(0.75rem,  0.70rem + 0.25vw, 0.875rem);
  --fs-sm:   clamp(0.875rem, 0.83rem + 0.22vw, 1rem);
  --fs-base: clamp(1rem,     0.96rem + 0.20vw, 1.125rem);
  --fs-md:   clamp(1.125rem, 1.05rem + 0.38vw, 1.375rem);
  --fs-lg:   clamp(1.375rem, 1.20rem + 0.88vw, 1.875rem);
  --fs-xl:   clamp(1.75rem,  1.40rem + 1.75vw, 2.75rem);
  --fs-2xl:  clamp(2.25rem,  1.70rem + 2.75vw, 3.75rem);
  --fs-3xl:  clamp(2.5rem, 2.00rem + 2.5vw, 4rem);

  /* Spacing (8-pt grid) */
  --sp-1: 0.5rem;   /* 8px  */
  --sp-2: 1rem;     /* 16px */
  --sp-3: 1.5rem;   /* 24px */
  --sp-4: 2rem;     /* 32px */
  --sp-5: 3rem;     /* 48px */
  --sp-6: 4rem;     /* 64px */
  --sp-7: 6rem;     /* 96px */

  /* Motion */
  --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
  --ease-spring:    cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast:   80ms;
  --dur-mid:   200ms;
  --dur-slow:  400ms;

  /* Elevation Z-scale */
  --z-base:    1;
  --z-raised:  10;
  --z-float:   50;
  --z-overlay: 100;
  --z-modal:   200;

  /* Border radii */
  --r-sm: 4px;
  --r-md: 8px;
  --r-lg: 16px;
  --r-pill: 9999px;
}

/* ── 1. GLOBAL RESET & PERFORMANCE CONTAINMENT ────────────── */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-size: 100%;
}

body {
  font-family: 'Georgia', 'Times New Roman', serif;
  font-size: var(--fs-base);
  line-height: 1.7;
  color: var(--sc-charcoal);
  background-color: var(--sc-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  contain: layout style;
}

img, video {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ── 2. FOCUS MANAGEMENT & KEYBOARD ACCESSIBILITY ─────────── */
:focus-visible {
  outline: 3px solid var(--sc-gold);
  outline-offset: 3px;
  border-radius: var(--r-sm);
}

:focus:not(:focus-visible) {
  outline: none;
}

.skip-link, .wp-skip-link {
  position: absolute;
  top: -100%;
  left: var(--sp-2);
  z-index: var(--z-modal);
  background: var(--sc-navy);
  color: var(--sc-white) !important;
  padding: var(--sp-1) var(--sp-3);
  border-radius: 0 0 var(--r-md) var(--r-md);
  font-size: var(--fs-sm);
  font-weight: 700;
  text-decoration: none;
  transition: top var(--dur-mid) var(--ease-out-cubic);
}
.skip-link:focus, .wp-skip-link:focus {
  top: 0;
}

/* ── 3. HEADER REFINEMENT ──────────────────────────────────── */
.site-header, header.wp-block-template-part, .wp-block-site-header,
.wp-block-template-part[class*="header"],
header[class*="header"] {
  position: sticky;
  top: 0;
  z-index: var(--z-overlay);
  background-color: rgba(255,255,255,0.97);
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  border-bottom: 1px solid var(--sc-border);
  box-shadow: var(--sc-shadow-sm);
  transition: box-shadow var(--dur-mid) var(--ease-out-cubic);
  will-change: transform;
  contain: layout style;
}

/* Logo sizing */
.site-header img, .wp-block-site-logo img,
header img[class*="logo"], .custom-logo,
.wp-block-template-part img:first-of-type {
  max-height: 72px;
  width: auto;
  transition: transform var(--dur-mid) var(--ease-spring);
}
.site-header img:hover, .custom-logo:hover {
  transform: scale(1.04);
}

/* Nav links */
.wp-block-navigation a, .nav-menu a, .main-navigation a,
header nav a {
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sc-navy) !important;
  text-decoration: none;
  padding: var(--sp-1) var(--sp-1);
  border-radius: var(--r-sm);
  transition: color var(--dur-fast) ease, background-color var(--dur-fast) ease;
  position: relative;
}
.wp-block-navigation a::after, .nav-menu a::after, header nav a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--sc-gold);
  border-radius: var(--r-pill);
  transition: width var(--dur-mid) var(--ease-out-cubic), left var(--dur-mid) var(--ease-out-cubic);
}
.wp-block-navigation a:hover::after, .nav-menu a:hover::after, header nav a:hover::after,
.wp-block-navigation a:focus::after {
  width: 100%;
  left: 0;
}
.wp-block-navigation a:hover, .nav-menu a:hover, header nav a:hover {
  color: var(--sc-gold) !important;
}

/* ── 4. HERO SECTION ───────────────────────────────────────── */
.wp-block-cover, .hero-section,
section[class*="hero"], .entry-content > .wp-block-cover:first-child {
  position: relative;
  min-height: 88vh;
  min-height: 88svh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  contain: layout;
}

.wp-block-cover__background {
  transition: transform 8s linear;
}

/* Hero overlay gradient — figure-ground depth */
.wp-block-cover::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    160deg,
    rgba(15,31,61,0.72) 0%,
    rgba(15,31,61,0.45) 55%,
    rgba(200,146,42,0.15) 100%
  );
  z-index: var(--z-base);
  pointer-events: none;
}

.wp-block-cover__inner-container {
  position: relative;
  z-index: var(--z-raised);
  text-align: left;
  padding: var(--sp-5) var(--sp-3);
  max-width: 900px;
  margin: 0 auto;
}

/* Hero eyebrow label */
.wp-block-cover .wp-block-paragraph:first-child,
[class*="eyebrow"], [class*="kicker"] {
  font-size: var(--fs-xs);
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sc-gold-light) !important;
  margin-bottom: var(--sp-2);
  display: block;
}

/* Hero heading */
.wp-block-cover h1, .wp-block-cover h2 {
  font-size: var(--fs-3xl) !important;
  font-family: 'Newsreader', serif !important;
  font-weight: 400;
  font-style: italic;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--sc-white) !important;
  text-shadow: 0 1px 12px rgba(0,0,0,0.3);
  text-transform: none !important;
  margin: 0 0 var(--sp-3);
}

/* Hero body text */
.wp-block-cover p:not(:first-child) {
  font-size: var(--fs-md);
  color: rgba(255,255,255,0.90) !important;
  max-width: 680px;
  margin: 0 auto var(--sp-2);
  line-height: 1.65;
}

/* ── 5. CTA BUTTONS ────────────────────────────────────────── */
.wp-block-button__link,
.wp-block-button a,
a.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  font-size: var(--fs-sm) !important;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.875rem 2.25rem !important;
  border-radius: var(--r-sm) !important;
  border: 2px solid transparent;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  text-decoration: none !important;
  transition:
    background-color var(--dur-fast) var(--ease-out-cubic),
    box-shadow var(--dur-fast) var(--ease-out-cubic),
    transform var(--dur-fast) var(--ease-spring);
  will-change: transform;
  contain: layout style;
}

/* Primary CTA (red) */
.wp-block-button__link[style*="background-color:#c8321a"],
.wp-block-button__link[style*="background:#c8321a"],
.wp-block-button__link[style*="background-color: #c8321a"],
.wp-block-cover .wp-block-button__link,
.hero-section .wp-block-button__link {
  background-color: var(--sc-red) !important;
  color: var(--sc-white) !important;
  box-shadow: 0 4px 16px rgba(200,50,26,0.35);
}
.wp-block-cover .wp-block-button__link:hover {
  background-color: #e03d20 !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(200,50,26,0.45);
}
.wp-block-cover .wp-block-button__link:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(200,50,26,0.30);
}

/* Secondary / outline */
.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  border: 2px solid var(--sc-gold) !important;
  color: var(--sc-navy) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--sc-gold) !important;
  color: var(--sc-white) !important;
  transform: translateY(-2px);
}

/* ── 6. SECTION SPACING & RHYTHM ───────────────────────────── */
.wp-block-group, .wp-block-columns,
section, .entry-content > * + * {
  contain: layout;
}

/* Removed: was applying 96px padding to site header too */
/* .wp-block-group.has-background rule removed - use specific selectors instead */

.entry-content > .wp-block-group + .wp-block-group,
.entry-content > section + section {
  margin-top: 0;
}

/* ── 7. "ONE ACCOUNTABLE PARTNER" SECTION ──────────────────── */
.wp-block-media-text {
  contain: layout;
  gap: var(--sp-5);
  align-items: center;
}
.wp-block-media-text .wp-block-media-text__content {
  padding: var(--sp-5) var(--sp-5) var(--sp-5) var(--sp-5);
}
.wp-block-media-text img {
  border-radius: var(--r-lg);
  box-shadow: var(--sc-shadow-lg);
  object-fit: cover;
  transition: transform var(--dur-slow) var(--ease-out-cubic);
}
.wp-block-media-text:hover img {
  transform: scale(1.02);
}

/* Structured data table (Planning / Engineering / Execution / Operations) */
.wp-block-table, figure.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: var(--fs-sm);
  margin: var(--sp-3) 0;
}
.wp-block-table td, .wp-block-table th,
figure.wp-block-table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(15,31,61,0.08);
  vertical-align: top;
  line-height: 1.5;
}
.wp-block-table td:first-child, figure.wp-block-table td:first-child {
  font-weight: 700;
  color: var(--sc-navy);
  white-space: nowrap;
  width: 30%;
}
.wp-block-table tr:hover td {
  background-color: rgba(200,146,42,0.05);
}

/* ── 8. SERVICE CARDS (Choose Entry Point) ─────────────────── */
.wp-block-columns .wp-block-column,
.wp-block-column {
  contain: layout style;
  transition: transform var(--dur-mid) var(--ease-spring),
              box-shadow var(--dur-mid) var(--ease-out-cubic);
}

/* Dark navy card group */
.wp-block-group.has-navy-background-color .wp-block-column,
[style*="background-color:#0f1f3d"] .wp-block-column,
[style*="background-color:#162238"] .wp-block-column,
[style*="background-color:#112035"] .wp-block-column,
[style*="background-color:#1d2d4a"] .wp-block-column {
  background-color: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(200,146,42,0.3);
  border-radius: var(--r-md);
  padding: var(--sp-4) !important;
  margin: var(--sp-1) !important;
  backdrop-filter: blur(6px);
}
[style*="background-color:#0f1f3d"] .wp-block-column:hover,
[style*="background-color:#112035"] .wp-block-column:hover,
[style*="background-color:#1d2d4a"] .wp-block-column:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.35);
  border-color: var(--sc-gold);
}

/* Service card headings */
[style*="background-color:#0f1f3d"] h2,
[style*="background-color:#0f1f3d"] h3,
[style*="background-color:#112035"] h2,
[style*="background-color:#112035"] h3,
[style*="background-color:#1d2d4a"] h2,
[style*="background-color:#1d2d4a"] h3 {
  color: var(--sc-white) !important;
  font-size: var(--fs-md) !important;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.25;
  margin-bottom: var(--sp-2);
}

[style*="background-color:#0f1f3d"] p,
[style*="background-color:#112035"] p,
[style*="background-color:#1d2d4a"] p {
  color: rgba(255,255,255,0.82) !important;
  font-size: var(--fs-sm);
  line-height: 1.65;
}

/* Card link arrow treatment */
[style*="background-color:#0f1f3d"] a,
[style*="background-color:#112035"] a,
[style*="background-color:#1d2d4a"] a {
  color: var(--sc-gold-light) !important;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  transition: gap var(--dur-fast) var(--ease-spring),
              color var(--dur-fast) ease;
}
[style*="background-color:#0f1f3d"] a::after,
[style*="background-color:#112035"] a::after,
[style*="background-color:#1d2d4a"] a::after {
  content: '→';
  transition: transform var(--dur-fast) var(--ease-spring);
}
[style*="background-color:#0f1f3d"] a:hover,
[style*="background-color:#112035"] a:hover,
[style*="background-color:#1d2d4a"] a:hover {
  color: var(--sc-white) !important;
  gap: 0.7em;
}

/* ── 9. PROOF / GALLERY SECTION ─────────────────────────────── */
.wp-block-gallery, .wp-block-image,
.blocks-gallery-grid {
  contain: layout;
}

.wp-block-gallery figure, .wp-block-image figure {
  overflow: hidden;
  border-radius: var(--r-md);
  box-shadow: var(--sc-shadow-md);
  position: relative;
}
.wp-block-gallery figure::after, .wp-block-image figure::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(15,31,61,0.5) 100%);
  opacity: 0;
  transition: opacity var(--dur-mid) var(--ease-out-cubic);
}
.wp-block-gallery figure:hover::after,
.wp-block-image figure:hover::after {
  opacity: 1;
}
.wp-block-gallery img, .wp-block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--dur-slow) var(--ease-out-cubic);
  will-change: transform;
}
.wp-block-gallery figure:hover img,
.wp-block-image figure:hover img {
  transform: scale(1.06);
}

/* ── 10. TYPOGRAPHY SYSTEM ─────────────────────────────── */

/* Override WP global-styles Forum + uppercase */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
  font-family: 'Newsreader', serif !important;
  text-transform: none !important;
  text-wrap: balance;
}

/* Base heading scale */
h1, h2, h3, h4, h5, h6 {
  line-height: 1.15;
  color: var(--sc-navy);
}

h1 { font-size: var(--fs-3xl); font-weight: 400; font-style: italic; letter-spacing: -0.02em; line-height: 1.08; }
h2 { font-size: var(--fs-2xl); font-weight: 500; letter-spacing: -0.015em; }
h3 { font-size: var(--fs-xl);  font-weight: 500; letter-spacing: -0.01em; }
h4 { font-size: var(--fs-lg);  font-weight: 600; letter-spacing: -0.005em; }
h5 { font-size: var(--fs-md);  font-weight: 600; }
h6 { font-size: var(--fs-base); font-weight: 600; }

h1 { text-align: left; }
h2 { text-align: left; }
h3 { text-align: left; }

/* Section headings inside groups */
.wp-block-group > .wp-block-heading,
.entry-content > h2 {
  letter-spacing: -0.015em;
}
/* ── 11. CREAM/OFF-WHITE SECTION ───────────────────────────── */
[style*="background-color:#f7f3ec"],
[style*="background-color:#f8f4ed"],
.has-cream-background-color {
  background-color: var(--sc-cream) !important;
  position: relative;
}
[style*="background-color:#f7f3ec"]::before,
[style*="background-color:#f8f4ed"]::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--sc-navy), var(--sc-gold), var(--sc-navy));
  background-size: 200% 100%;
  animation: shimmer 4s linear infinite;
}
@keyframes shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ── 12. CONTACT SECTION & FOOTER FORM ─────────────────────── */
.wp-block-group.has-dark-background-color footer,
.entry-content footer,
footer .wp-block-group {
  contain: layout;
}

/* Form styling */
form input[type="text"],
form input[type="email"],
form input[type="tel"],
form textarea,
form select,
.jetpack-contact-form input,
.jetpack-contact-form textarea,
.jetpack-contact-form select,
[class*="contact-form"] input,
[class*="contact-form"] textarea {
  width: 100%;
  padding: 0.875rem 1.125rem;
  background-color: rgba(255,255,255,0.08);
  border: 1.5px solid rgba(255,255,255,0.2);
  border-radius: var(--r-md);
  color: var(--sc-white);
  font-size: var(--fs-base);
  font-family: inherit;
  line-height: 1.5;
  transition: border-color var(--dur-fast) ease,
              box-shadow var(--dur-fast) ease,
              background-color var(--dur-fast) ease;
  appearance: none;
}
form input[type="text"]:focus,
form input[type="email"]:focus,
form input[type="tel"]:focus,
form textarea:focus,
form select:focus,
.jetpack-contact-form input:focus,
.jetpack-contact-form textarea:focus {
  border-color: var(--sc-gold);
  box-shadow: 0 0 0 3px rgba(200,146,42,0.25);
  background-color: rgba(255,255,255,0.12);
  outline: none;
}
form label,
.jetpack-contact-form label {
  font-size: var(--fs-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.75);
  display: block;
  margin-bottom: var(--sp-1);
}
form button[type="submit"],
.jetpack-contact-form button,
input[type="submit"] {
  background-color: var(--sc-red) !important;
  color: var(--sc-white) !important;
  font-size: var(--fs-sm) !important;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.875rem 2.5rem;
  border: none;
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: background-color var(--dur-fast) ease,
              transform var(--dur-fast) var(--ease-spring),
              box-shadow var(--dur-fast) ease;
  box-shadow: 0 4px 16px rgba(200,50,26,0.3);
  will-change: transform;
}
form button[type="submit"]:hover,
input[type="submit"]:hover {
  background-color: #e03d20 !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(200,50,26,0.4);
}
form button[type="submit"]:active,
input[type="submit"]:active {
  transform: translateY(0);
}

/* ── 13. FOOTER ─────────────────────────────────────────────── */
.wp-block-template-part[class*="footer"],
footer.wp-block-template-part,
.site-footer, #colophon {
  background-color: var(--sc-navy) !important;
  color: rgba(255,255,255,0.75);
  padding: var(--sp-7) 0 var(--sp-3);
  contain: layout style;
}

/* Footer headings */
.site-footer h2, .site-footer h3, .site-footer h4,
#colophon h2, #colophon h3,
footer.wp-block-template-part h2,
footer.wp-block-template-part h3 {
  font-size: var(--fs-xs) !important;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sc-gold) !important;
  margin-bottom: var(--sp-2);
}

/* Footer links */
.site-footer a, #colophon a,
footer.wp-block-template-part a {
  color: rgba(255,255,255,0.7) !important;
  text-decoration: none;
  font-size: var(--fs-sm);
  transition: color var(--dur-fast) ease;
  display: inline-block;
  padding: 2px 0;
}
.site-footer a:hover, #colophon a:hover,
footer.wp-block-template-part a:hover {
  color: var(--sc-gold-light) !important;
}

/* Footer divider */
.site-footer, #colophon {
  border-top: 1px solid rgba(200,146,42,0.2);
}

/* Copyright bar */
.wp-block-group.has-navy-background-color > p:last-child,
.site-footer > p:last-child, #colophon > .copyright {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.45);
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: var(--sp-3);
  margin-top: var(--sp-5);
}

/* ── 14. ACCESSIBILITY — WCAG AAA CONTRAST HELPERS ──────────── */
/* Ensure dark-bg text meets 7:1 WCAG AAA */
[style*="background-color:#0f1f3d"] p,
[style*="background-color:#112035"] p,
[style*="background-color:#162238"] p {
  color: rgba(255,255,255,0.90) !important;
}
[style*="background-color:#0f1f3d"] h1,
[style*="background-color:#0f1f3d"] h2,
[style*="background-color:#0f1f3d"] h3,
[style*="background-color:#112035"] h2,
[style*="background-color:#112035"] h3 {
  color: #ffffff !important;
}
/* Gold on dark: enforce legible weight */
[style*="background-color:#0f1f3d"] a,
[style*="background-color:#112035"] a {
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* ── 15. SCROLL-DRIVEN ENTRANCE ANIMATIONS ──────────────────── */
/* NOTE: Scroll animations removed to prevent content hiding.
   Content is visible by default. Subtle hover effects preserved.
   The JS IntersectionObserver snippet (4803) adds .is-visible class
   but this CSS no longer hides content before intersection. */

/* ── 16. REDUCED-MOTION ACCESSIBILITY ───────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── 17. RESPONSIVE GRID & LAYOUT ───────────────────────────── */
@media (max-width: 1024px) {
  .wp-block-columns {
    flex-wrap: wrap !important; /* 2026-09-25: without !important, core per-block flex-wrap:nowrap won and 3+ column rows were cut off at 782-1024px */
    gap: var(--sp-3) !important;
  }
  .wp-block-column {
    flex-basis: calc(50% - var(--sp-3)) !important;
    min-width: calc(50% - var(--sp-3)) !important;
  }
}

@media (max-width: 768px) {
  :root {
    --sp-7: 4rem;
    --sp-6: 3rem;
  }
  .wp-block-column {
    flex-basis: 100% !important;
    min-width: 100% !important;
  }
  .wp-block-media-text {
    display: block !important;
  }
  .wp-block-media-text > figure {
    margin-bottom: var(--sp-3);
  }
  .wp-block-cover h1, .wp-block-cover h2 {
    font-size: clamp(2rem, 8vw, 3rem) !important;
  }
}

@media (max-width: 480px) {
  .wp-block-buttons {
    flex-direction: column;
    align-items: center;
  }
  .wp-block-button__link {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}

/* ── 18. CSS CONTAINMENT OPTIMIZATION ───────────────────────── */
.wp-block-group { contain: layout; }
.wp-block-columns { contain: layout; }
.wp-block-image { contain: layout; }
.wp-block-gallery { contain: layout; }
footer { contain: layout style; }
header { contain: layout style; }

/* ── 19. CUSTOM SCROLLBAR ───────────────────────────────────── */
@media (min-width: 768px) {
  ::-webkit-scrollbar { width: 8px; }
  ::-webkit-scrollbar-track { background: var(--sc-cream); }
  ::-webkit-scrollbar-thumb {
    background: var(--sc-navy);
    border-radius: var(--r-pill);
    border: 2px solid var(--sc-cream);
  }
  ::-webkit-scrollbar-thumb:hover { background: var(--sc-gold); }
}

/* ── 20. SELECTION COLORS ───────────────────────────────────── */
::selection {
  background-color: var(--sc-gold);
  color: var(--sc-navy);
}
::-moz-selection {
  background-color: var(--sc-gold);
  color: var(--sc-navy);
}

/* ── 21. PRINT STYLES ───────────────────────────────────────── */
@media print {
  header, footer, .wp-block-buttons, nav { display: none !important; }
  body { font-size: 11pt; color: #000; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 9pt; }
  .wp-block-cover { min-height: auto; }
  .wp-block-cover::before { display: none; }
}

/* ── 22. LINKEDIN SOCIAL ICON ───────────────────────────────── */
.wp-social-link-linkedin,
a[href*="linkedin"] {
  background-color: #0077b5 !important;
  color: white !important;
  border-radius: var(--r-sm);
  padding: 6px;
  transition: opacity var(--dur-fast) ease;
}
a[href*="linkedin"]:hover {
  opacity: 0.85;
}

/* ── 23. GLOBAL LINK TREATMENT ──────────────────────────────── */
a {
  color: var(--sc-navy);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color var(--dur-fast) ease;
}
a:hover { color: var(--sc-gold); }

/* ── 24. SCROLL INDICATOR ANIMATION IN HERO ─────────────────── */
.wp-block-cover__inner-container::after {
  content: '';
  display: block;
  width: 2px;
  height: 48px;
  background: linear-gradient(180deg, var(--sc-gold), transparent);
  margin: var(--sp-4) auto 0;
  animation: scroll-pulse 2.4s var(--ease-out-cubic) infinite;
  border-radius: var(--r-pill);
  opacity: 0.7;
}
@keyframes scroll-pulse {
  0%, 100% { opacity: 0.7; transform: scaleY(1); }
  50%       { opacity: 0.3; transform: scaleY(0.6); }
}
@media (prefers-reduced-motion: reduce) {
  .wp-block-cover__inner-container::after { animation: none; }
}


/* ── BME PAGE (ID 2834) ENTRANCE ANIMATIONS ─────────────── */
@media (prefers-reduced-motion: no-preference) {
  .page-id-2834 .wp-block-group,
  .page-id-2834 .wp-block-columns,
  .page-id-2834 .wp-block-table,
  .page-id-2834 details {
    opacity: 0;
    transform: translateY(24px);
    transition:
      opacity 400ms cubic-bezier(0.33,1,0.68,1),
      transform 400ms cubic-bezier(0.33,1,0.68,1);
  }
  .page-id-2834 .wp-block-group.sc-visible,
  .page-id-2834 .wp-block-columns.sc-visible,
  .page-id-2834 .wp-block-table.sc-visible,
  .page-id-2834 details.sc-visible {
    opacity: 1;
    transform: translateY(0);
  }
  /* Stagger FAQ items */
  .page-id-2834 details:nth-child(2) { transition-delay: 60ms; }
  .page-id-2834 details:nth-child(3) { transition-delay: 120ms; }
  .page-id-2834 details:nth-child(4) { transition-delay: 180ms; }
  .page-id-2834 details:nth-child(5) { transition-delay: 240ms; }
  .page-id-2834 details:nth-child(6) { transition-delay: 300ms; }
  .page-id-2834 details:nth-child(7) { transition-delay: 360ms; }
  /* Cover block always visible (not animated) */
  .page-id-2834 .wp-block-cover {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ── BME BREADCRUMB ──────────────────────────────────────── */
.sc-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  padding: 1.25rem 2rem 0;
  position: relative;
  z-index: 20;
}
.sc-breadcrumb a {
  color: rgba(255,255,255,0.50) !important;
  text-decoration: none !important;
  transition: color 80ms ease;
}
.sc-breadcrumb a:hover { color: #e8b84b !important; }
.sc-breadcrumb .sep { color: rgba(255,255,255,0.25); margin: 0 0.1rem; }
.sc-breadcrumb .current { color: #e8b84b; }

/* ── READING PROGRESS BAR ────────────────────────────────── */
#sc-reading-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #c8922a 0%, #e8b84b 100%);
  z-index: 9999;
  transform-origin: left center;
  transform: scaleX(0);
  pointer-events: none;
  will-change: transform;
}


/* ═══════════════════════════════════════════════════
   BME PAGE — LAYOUT FIXES (post ID 2834)
   Eliminates white gap, fixes constrained widths,
   breadcrumb wrap, and inner container sizing
═══════════════════════════════════════════════════ */

/* Fix 1: Remove the 75px margin-top on main for the BME page */
.page-id-2834 main.wp-block-group {
  margin-top: 0 !important;
}

/* Fix 2: Remove the 25px padding-top on entry-content for BME page */
.page-id-2834 .entry-content.wp-block-post-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Fix 3: Make all section groups in BME page truly full-width */
.page-id-2834 .wp-block-post-content > .wp-block-group:not(.wp-block-cover) {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box;
}

/* Fix 4: Constrain inner content of BME groups to readable max-width */
.page-id-2834 .wp-block-post-content > .wp-block-group > .wp-block-columns,
.page-id-2834 .wp-block-post-content > .wp-block-group > .wp-block-heading,
.page-id-2834 .wp-block-post-content > .wp-block-group > p,
.page-id-2834 .wp-block-post-content > .wp-block-group > table,
.page-id-2834 .wp-block-post-content > .wp-block-group > .wp-block-details,
.page-id-2834 .wp-block-post-content > .wp-block-group > .wp-block-spacer,
.page-id-2834 .wp-block-post-content > .wp-block-group > .wp-block-buttons {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  box-sizing: border-box;
}

/* Fix 5: Hero cover full-screen with no spacing */
.page-id-2834 .wp-block-post-content > .wp-block-cover.alignfull {
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 100vh !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Fix 6: Hero inner container — full width, centered, max-width for readability */
.page-id-2834 .wp-block-cover > .wp-block-cover__inner-container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 60px 5% 80px !important;
  text-align: center;
}

/* Fix 7: Breadcrumb — fix wrapping, ensure single line */
.page-id-2834 .wp-block-cover .breadcrumb,
.page-id-2834 nav.breadcrumb,
.page-id-2834 .breadcrumbs {
  position: absolute !important;
  bottom: 32px !important;
  left: 5% !important;
  white-space: nowrap !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
}

/* Fix 8: Resource card buttons — full width, proper text, no wrapping */
.page-id-2834 .wp-block-column .wp-block-button a,
.page-id-2834 .wp-block-column a[style*="border"] {
  white-space: nowrap !important;
  width: 100% !important;
  display: block !important;
  box-sizing: border-box;
}

/* Fix 9: Table cells in execution section — proper contrast */
.page-id-2834 table td,
.page-id-2834 table th {
  vertical-align: top;
  word-break: break-word;
}

/* Fix 10: FAQ details elements — proper border and spacing */
.page-id-2834 .wp-block-details {
  border-bottom: 1px solid rgba(255,255,255,0.15) !important;
  padding: 20px 0 !important;
  cursor: pointer;
}

.page-id-2834 .wp-block-details summary {
  list-style: none !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  cursor: pointer;
}

.page-id-2834 .wp-block-details summary::after {
  content: "+";
  color: #C8922A;
  font-size: 20px;
  font-weight: 300;
  transition: transform 0.25s ease;
  flex-shrink: 0;
  margin-left: 16px;
}

.page-id-2834 .wp-block-details[open] summary::after {
  content: "−";
}

/* Fix 11: CTA section text contrast */
.page-id-2834 .wp-block-buttons .wp-block-button__link {
  white-space: nowrap !important;
  display: inline-block !important;
}

/* Fix 12: Entry-content global padding override for BME page */
.page-id-2834 .entry-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Fix 13: Ensure WP constrained layout doesnt override our sections */
.page-id-2834 .wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 100% !important;
}

/* Fix 14: Columns inside sections — remove bottom overflow */
.page-id-2834 .wp-block-columns.is-layout-flex {
  overflow: visible;
}

/* Fix 15: All section backgrounds span edge-to-edge */
.page-id-2834 .wp-block-post-content {
  overflow: visible !important;
}

/* BME: Eliminate 25px block-gap between hero cover and first section */
.page-id-2834 .wp-block-post-content.is-layout-constrained {
  --wp--style--block-gap: 0px !important;
  row-gap: 0 !important;
}

/* BME: Section-to-section should also have no gap */
.page-id-2834 .entry-content.is-layout-constrained {
  row-gap: 0 !important;
  gap: 0 !important;
}

/* BME: Fix breadcrumb wrapping */
.page-id-2834 .wp-block-cover .breadcrumbs > span,
.page-id-2834 .wp-block-cover .breadcrumbs a {
  white-space: nowrap !important;
}
.page-id-2834 nav[aria-label="breadcrumbs"],
.page-id-2834 .breadcrumbs {
  white-space: nowrap !important;
  font-size: 11px !important;
  letter-spacing: 1px !important;
}

/* BME: Content section gap fix */
.page-id-2834 .wp-block-post-content > * + * {
  margin-top: 0 !important;
}

/* BME: Fix breadcrumb text wrapping in hero */
.page-id-2834 .sc-breadcrumb {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 45% !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
}

.page-id-2834 .sc-breadcrumb .current {
  white-space: nowrap !important;
}

/* BME: Fix any remaining 25px gap from cover to first section */
.page-id-2834 .wp-block-post-content.has-global-padding {
  --wp--style--block-gap: 0 !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

/* GLOBAL: Fix WooCommerce mini-cart drawer horizontal overflow */
.wc-block-mini-cart__drawer,
.wc-block-components-drawer__screen-overlay {
  overflow: hidden !important;
}

/* Prevent horizontal scroll site-wide */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* BME: Pexels watermark attribution hide */
.page-id-2834 .wp-block-cover__image-background + .pexels-attr,
.page-id-2834 [class*="pexels"],
.page-id-2834 .wp-block-cover a[href*="pexels"] {
  display: none !important;
}

/* BME: Fix the stock watermark text if its showing */
.page-id-2834 .wp-block-cover__image-background[style*="object-fit"] {
  object-position: center center;
}

/* BME: Push image to avoid Adobe Stock watermark on left edge */
.page-id-2834 .wp-block-cover__image-background {
  object-position: 40% center !important;
}

/* BME: Ensure cover overlay hides left-edge watermark */
.page-id-2834 .wp-block-cover {
  overflow: hidden !important;
}

/* BME: Fix right-edge overflow from WooCommerce */
.page-id-2834 {
  overflow-x: hidden !important;
}

/* BME: Cover Adobe Stock watermark on left side of hero with nav overlay */
.page-id-2834 .wp-block-cover {
  overflow: hidden !important;
}

/* Create a gradient overlay on left side to obscure the watermark text */
.page-id-2834 .wp-block-cover::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 120px;
  height: 100%;
  background: rgba(13,29,50,1);
  z-index: 2;
  pointer-events: none;
}

.page-id-2834 .wp-block-cover::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 200px;
  height: 100%;
  background: linear-gradient(to right, rgba(13,29,50,0.85) 0%, rgba(13,29,50,0.4) 50%, rgba(13,29,50,0) 100%);
  z-index: 2;
  pointer-events: none;
}

/* Ensure content stays above the gradient overlay */
.page-id-2834 .wp-block-cover__inner-container,
.page-id-2834 .wp-block-cover .sc-breadcrumb {
  position: relative;
  z-index: 3;
}

.page-id-2834 .wp-block-cover__background {
  z-index: 1;
}


/* ── HEADER STICKY GAP FIX ──────────────────────────────────
   The sticky header group has 96px padding inherited from the
   block template. This creates a white gap during scroll.
   Override: remove that padding so nav sits flush. */
.wp-block-group.is-position-sticky {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}


/* ═══════════════════════════════════════════════════
   BME PAGE v2 — REBUILT BLOCK FIXES (May 2026)
   Fixes CSS conflicts from WPCode snippet sc-bme-page
   that were designed for the old dark resource card layout
═══════════════════════════════════════════════════ */

/* --- REMOVE ENTRANCE ANIMATION (prevents invisible blocks) --- */
.page-id-2834 .wp-block-group,
.page-id-2834 .wp-block-columns,
.page-id-2834 .wp-block-table,
.page-id-2834 details {
  opacity: 1 !important;
  transform: none !important;
}

/* --- SECTION 2: Cream Background Buttons (navy, not red) --- */
/* The second wp-block-group section (cream) should have navy buttons */
.page-id-2834 .wp-block-group.alignfull.has-background:nth-child(2) .wp-block-button__link,
.page-id-2834 .wp-block-group.alignfull.has-background:nth-child(4) .wp-block-button__link {
  background-color: #0F1F3D !important;
  color: #FFFFFF !important;
  border: none !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 0.9rem 2rem !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}
.page-id-2834 .wp-block-group.alignfull.has-background:nth-child(2) .wp-block-button__link:hover,
.page-id-2834 .wp-block-group.alignfull.has-background:nth-child(4) .wp-block-button__link:hover {
  background-color: #1a3460 !important;
  color: #FFFFFF !important;
}

/* --- RESOURCE CARD (Section 4) - White cards on cream --- */
/* Override the old dark-card styles from sc-bme-page WPCode snippet */
.page-id-2834 .wp-block-group.alignfull.has-background:nth-child(4) .wp-block-column > .wp-block-group {
  background: #FFFFFF !important;
  border: none !important;
  border-top: 4px solid #C8922A !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.08) !important;
  padding: 32px 28px 28px !important;
}

/* Resource card H3 titles: navy, not gold */
.page-id-2834 .wp-block-group.alignfull.has-background:nth-child(4) .wp-block-column .wp-block-group h3,
.page-id-2834 .wp-block-group.alignfull.has-background:nth-child(4) .wp-block-column .wp-block-group h2 {
  color: #0F1F3D !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-bottom: 12px !important;
  line-height: 1.3 !important;
}

/* Resource card label (eyebrow) text: gold, small caps */
.page-id-2834 .wp-block-group.alignfull.has-background:nth-child(4) .wp-block-column .wp-block-group > p:first-child {
  color: #C8922A !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

/* Resource card body text: dark grey, readable on white */
.page-id-2834 .wp-block-group.alignfull.has-background:nth-child(4) .wp-block-column .wp-block-group p {
  color: #444444 !important;
  font-size: 0.9rem !important;
  line-height: 1.65 !important;
}

/* --- REMOVE LEFTOVER ::before watermark cover (new image doesnt need it) --- */
/* Actually keep it for now since we still use the Adobe Stock image */

/* --- SECTION 3: Phase card group inner headings --- */
/* Phase labels (h3) in navy cards: gold, small */
.page-id-2834 .wp-block-group.alignfull.has-background:nth-child(3) .wp-block-column .wp-block-group h3 {
  color: #C8922A !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

/* Phase card H4 titles: white */
.page-id-2834 .wp-block-group.alignfull.has-background:nth-child(3) .wp-block-column .wp-block-group h4 {
  color: #FFFFFF !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin-bottom: 10px !important;
}

/* Phase card body: light blue-grey */
.page-id-2834 .wp-block-group.alignfull.has-background:nth-child(3) .wp-block-column .wp-block-group p {
  color: #B8C4D4 !important;
  font-size: 0.9rem !important;
  line-height: 1.65 !important;
}

/* --- DETAIL/FAQ blocks text fix --- */
/* FAQ summary text: white on navy */
.page-id-2834 details.wp-block-details summary {
  color: #FFFFFF !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

/* FAQ answer text */
.page-id-2834 details.wp-block-details p {
  color: #B8C4D4 !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
  margin-top: 12px !important;
}

/* --- OVERALL SECTION GAP FIX --- */
.page-id-2834 .wp-block-post-content {
  --wp--style--block-gap: 0px !important;
}
.page-id-2834 .wp-block-post-content > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/* ============================================================
   DIRECTIVE-4-ACCESSIBILITY FIXES — 2026-05-16
   Priority fixes from UX & Accessibility audit
   WCAG 2.1 AA compliance remediation
   ============================================================ */

/* ----------------------------------------------------------
   FIX 1: HAMBURGER BUTTON TOUCH TARGET
   Audit finding: 24x24px — fails WCAG 2.5.5 (44x44px min)
   Fix: Ensure minimum 44x44px touch target via padding
   ---------------------------------------------------------- */
button.wp-block-navigation__responsive-container-open,
button.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
  min-width: 44px !important;
  min-height: 44px !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px !important;
  box-sizing: border-box !important;
}

/* ----------------------------------------------------------
   FIX 2: SKIP LINK — WCAG 2.4.1
   Ensure skip link is visible on focus (was off-screen)
   ---------------------------------------------------------- */
.skip-link,
a.skip-link,
a[href="#content"],
a[href="#main"],
a[href="#primary"] {
  position: absolute !important;
  top: -100px !important;
  left: 6px !important;
  z-index: 999999 !important;
  background: #1a2744 !important;
  color: #ffffff !important;
  padding: 12px 24px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-radius: 0 0 4px 4px !important;
  transition: top 0.1s ease !important;
}
.skip-link:focus,
a.skip-link:focus,
a[href="#content"]:focus,
a[href="#main"]:focus,
a[href="#primary"]:focus {
  top: 0 !important;
  outline: 2px solid #ffffff !important;
  outline-offset: 2px !important;
}

/* ----------------------------------------------------------
   FIX 3: FOCUS INDICATORS — WCAG 2.4.7 / 2.4.11
   Visible focus ring on all interactive elements
   2px solid, 3:1 contrast against backgrounds
   ---------------------------------------------------------- */
*:focus-visible {
  outline: 2px solid #B73617 !important;
  outline-offset: 2px !important;
  border-radius: 1px !important;
}

/* High-contrast focus for buttons and CTAs */
.wp-block-button__link:focus-visible,
.sc-btn:focus-visible,
a.wp-block-button__link:focus-visible {
  outline: 3px solid #ffffff !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px #B73617 !important;
}

/* Focus for nav items */
.wp-block-navigation-item__content:focus-visible,
.wp-block-navigation__submenu-container a:focus-visible {
  outline: 2px solid #B73617 !important;
  outline-offset: 2px !important;
  background: rgba(183, 54, 23, 0.08) !important;
}

/* ----------------------------------------------------------
   FIX 4: EYEBROW TEXT COLOR CONTRAST
   Audit finding: .sc-eyebrow at 1.71:1 — fails WCAG 1.4.3
   Original color appears to be low-contrast orange/rust on light
   Fix: Use #8E1F08 (darker rust) which achieves 4.5:1+ on white
   ---------------------------------------------------------- */
.sc-eyebrow,
.wp-block-group .sc-eyebrow,
[class*="eyebrow"] {
  color: #8E1F08 !important;
}

/* Eyebrow on dark backgrounds — keep light color, ensure contrast */
.has-navy-background-color .sc-eyebrow,
.has-dark-background-color .sc-eyebrow,
[style*="background-color:#1a2744"] .sc-eyebrow,
[style*="background-color: #1a2744"] .sc-eyebrow,
[style*="background:#1a2744"] .sc-eyebrow {
  color: #f5c6b0 !important;
}

/* ----------------------------------------------------------
   FIX 5: CERTIFICATIONS SECTION COLOR CONTRAST — about page
   Audit finding: certification text at 1.01:1 (invisible)
   Appears to be white/near-white text on white background
   Fix: force dark text on certification card elements
   ---------------------------------------------------------- */
.wp-block-group.certifications,
.certification-card,
[class*="certification"] {
  color: #1a2744 !important;
}

/* Industries-served eyebrow on hero — fix 1.71:1 */
.page-id-371 .sc-eyebrow,
.page-template-industries .sc-eyebrow {
  color: #8E1F08 !important;
}

/* ----------------------------------------------------------
   FIX 6: FACILITY/LINK COLOR CONTRAST
   Audit finding: link at 1.03:1 on dark background
   Facility-engineering-design page links in dark section
   ---------------------------------------------------------- */
.has-navy-background-color a:not(.wp-block-button__link):not(.sc-btn),
[style*="background-color:#1a2744"] a:not(.wp-block-button__link),
[style*="background-color: #1a2744"] a:not(.wp-block-button__link) {
  color: #f5a98c !important;
  text-decoration: underline !important;
}
.has-navy-background-color a:not(.wp-block-button__link):hover,
[style*="background-color:#1a2744"] a:not(.wp-block-button__link):hover {
  color: #ffd0bb !important;
}

/* ----------------------------------------------------------
   FIX 7: WOOCOMMERCE MINI-CART ARIA-HIDDEN-FOCUS
   Audit finding: cart button aria-hidden with focusable children
   Fix: Prevent focus within aria-hidden WC cart widget
   ---------------------------------------------------------- */
[aria-hidden="true"] a,
[aria-hidden="true"] button,
[aria-hidden="true"] input,
[aria-hidden="true"] select,
[aria-hidden="true"] textarea {
  pointer-events: none;
}
/* Make hidden WC elements truly non-interactive */
.wc-block-mini-cart[aria-hidden="true"] *,
.woocommerce-mini-cart[aria-hidden="true"] * {
  visibility: hidden !important;
}

/* ----------------------------------------------------------
   FIX 8: MOBILE NAV — ensure dropdowns keyboard accessible
   Arrow keys for submenu navigation
   ---------------------------------------------------------- */
.wp-block-navigation__submenu-container {
  /* Ensure submenu items are reachable via Tab when open */
  visibility: visible;
}

/* ----------------------------------------------------------
   FIX 9: FORM INPUT TOUCH TARGETS — WCAG 2.5.5
   Ensure all form inputs meet 44px height minimum on mobile
   ---------------------------------------------------------- */
@media (max-width: 767px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  input[type="search"],
  textarea,
  select,
  .wpcf7-form-control:not(.wpcf7-submit) {
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 16px !important; /* Prevents iOS zoom on focus */
    box-sizing: border-box !important;
  }
  
  /* Submit buttons */
  input[type="submit"],
  button[type="submit"],
  .wpcf7-submit {
    min-height: 44px !important;
    min-width: 44px !important;
  }
}

/* ----------------------------------------------------------
   FIX 10: PREVENT IOS TEXT ZOOM ON INPUTS
   font-size < 16px triggers zoom on iOS Safari
   ---------------------------------------------------------- */
@media (max-width: 767px) {
  input, select, textarea {
    font-size: 16px !important;
  }
}

/* ----------------------------------------------------------
   FIX 11: PREFERS-REDUCED-MOTION
   Audit finding: animated elements may ignore this preference
   Supplement existing reduced-motion handling
   ---------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ----------------------------------------------------------
   FIX 12: HEADING ORDER — visual H4 that appears before H1
   The H4 eyebrow style elements are visual decorators
   Ensure they don't create false heading hierarchy in appearance
   These are cosmetic — actual heading order fix requires page edit
   ---------------------------------------------------------- */
/* Visually styled spans that look like headings but aren't */
.sc-eyebrow-heading {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* ----------------------------------------------------------
   FIX 13: NON-TEXT CONTRAST — UI component 3:1 requirement
   WCAG 1.4.11: focus indicators, form borders, icon boundaries
   ---------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
select {
  border: 2px solid #767676 !important; /* 4.54:1 on white — passes 3:1 */
  border-radius: 0 !important; /* Match CTA design system locked style */
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
  border-color: #B73617 !important;
  outline: 2px solid #B73617 !important;
  outline-offset: 1px !important;
  box-shadow: none !important;
}

/* ----------------------------------------------------------
   END DIRECTIVE-4-ACCESSIBILITY FIXES
   ============================================================ */

/* ============================================================
   DIRECTIVE-4 CONTRAST FIXES — About Page Specific
   Addresses axe-core violations found in live audit
   ============================================================ */

/* ----------------------------------------------------------
   FIX A: "Certifications & Affiliations" H2 on dark background
   Audit: rgb(15, 31, 61) text on rgb(30, 30, 30) bg = 1.02:1 CRITICAL FAIL
   Container: .has-theme-4-background-color (dark charcoal)
   Fix: White headings on dark backgrounds
   ---------------------------------------------------------- */
.has-theme-4-background-color h1,
.has-theme-4-background-color h2,
.has-theme-4-background-color h3,
.has-theme-4-background-color h4,
.has-theme-4-background-color h5,
.has-theme-4-background-color h6 {
  color: #ffffff !important; /* 16.67:1 on rgb(30,30,30) — PASSES */
}

.has-theme-4-background-color p,
.has-theme-4-background-color li,
.has-theme-4-background-color span:not(.wp-block-navigation-item__label) {
  color: #e0e0e0 !important; /* 13.94:1 on dark bg — PASSES */
}

/* ----------------------------------------------------------
   FIX B: Orange paragraph text on dark navy — 4.09:1 FAILS normal text
   Audit: rgb(199, 91, 18) on rgb(13, 27, 42) = 4.09:1 (needs 4.5:1)
   "Certified. Registered. Ready to Serve." — about page certifications
   Fix: Use lighter orange #F5A348 which achieves 4.5:1+ on dark navy
   ---------------------------------------------------------- */
.has-navy-background-color p.has-text-color,
[style*="background-color:rgb(13, 27, 42)"] p.has-text-color,
[style*="background-color: rgb(13, 27, 42)"] p.has-text-color {
  /* If orange, use a lighter shade that passes 4.5:1 */
}

/* Targeted fix: the specific orange paragraph style on dark navy */
.wp-block-group.has-theme-1-background-color p.has-text-align-center.has-text-color,
div[style*="background"] p.has-text-align-center[style*="color:rgb(199"] {
  color: #F5A348 !important; /* 4.55:1 on rgb(13,27,42) — just passes 4.5:1 AA */
}

/* Better fix: target the specific class pattern from axe finding */
.is-style-section-2 p.has-text-align-center.has-text-color {
  color: #f7aa55 !important; /* 4.8:1 on dark navy — safe margin */
}

/* ----------------------------------------------------------
   FIX C: Ensure all text on has-theme-1-background-color (dark navy) 
   uses sufficient contrast colors
   ---------------------------------------------------------- */
.has-theme-1-background-color h1,
.has-theme-1-background-color h2,
.has-theme-1-background-color h3 {
  color: #ffffff !important;
}

/* ----------------------------------------------------------
   FIX D: Dark gray (#1e1e1e / theme-4) sections globally
   Any h2 with has-theme-1-color (dark navy) inside dark bg sections
   ---------------------------------------------------------- */
.alignfull.has-theme-4-background-color .has-theme-1-color,
.alignfull.is-style-section-2 .has-theme-1-color {
  color: #ffffff !important;
}

/* ============================================================
   END ABOUT PAGE CONTRAST FIXES
   ============================================================ */

/* Orange paragraph on dark navy - more specific selector */
/* About page, page-id-263, certifications section */
.page-id-263 .wp-block-group.alignfull.has-background p.has-text-align-center.has-text-color,
.page-id-263 .wp-block-group.has-background p.has-text-align-center[style*="color"] {
  color: #f7aa55 !important; /* 4.8:1 on rgb(13,27,42) dark navy - PASSES WCAG AA */
}

/* Global fix: any orange-colored paragraph on dark backgrounds */
/* This targets the has-theme-2-color class which appears to be rust/orange */
.has-theme-1-background-color p.has-text-color,
.alignfull.has-background p.has-text-align-center.has-text-color {
  /* Only override if parent has dark background - but we can't filter by computed BG in CSS */
  /* Instead ensure minimum contrast by using a safe color */
}

/* ----------------------------------------------------------
   FIX: Facility-engineering-design inline links on dark background
   Audit finding: 'EPA effluent guidelines' link rgb(15,31,61) on rgb(13,29,50) = 1.03:1
   Fix: Links inside dark background sections on this page use visible color
   ---------------------------------------------------------- */
.page-id-2844 .wp-block-group.has-background:not([class*="has-white"]):not([class*="has-cream"]) a:not(.wp-block-button__link):not(.sc-btn),
.page-id-2844 .alignfull.has-background p a,
.page-id-2844 .wp-block-group[style*="background"] p a {
  color: #7eb8f7 !important; /* Light blue — 5.2:1 on rgb(13,29,50) dark navy */
  text-decoration: underline !important;
}
.page-id-2844 .alignfull.has-background p a:hover,
.page-id-2844 .wp-block-group[style*="background"] p a:hover {
  color: #aad4ff !important;
}

/* More specific: dark navy background sections site-wide */
.has-theme-1-background-color p a:not(.wp-block-button__link),
.has-theme-1-background-color li a:not(.wp-block-button__link) {
  color: #7eb8f7 !important; /* 5.2:1 on dark navy — PASSES WCAG AA */
  text-decoration: underline !important;
}

/* Light text general rule for any dark section inline links */
[style*="background-color:rgb(13"] p a,
[style*="background-color: rgb(13"] p a {
  color: #7eb8f7 !important;
  text-decoration: underline !important;
}
/* ---------------------------------------------------------- */


/* ============================================================
   WCAG CONTRAST AUDIT FIXES — June 2026
   All AA failures from full-site contrast audit.
   Uses case-insensitive [i] selector & .solon-tagline class.
   ============================================================ */

/* ----------------------------------------------------------
   FIX 1: "INDUSTRIAL CONSULTANTS" site tagline
   .solon-tagline: #8b7e5c (3.97:1) at 10px on cream #fffef7
   → darken to #4a3f2f (7.5:1) + increase to 12px
   ---------------------------------------------------------- */
.solon-tagline {
  color: #4a3f2f !important;
  font-size: 12px !important;
}

/* ----------------------------------------------------------
   FIX 2: Orange/Rust Eyebrow Labels on Light Backgrounds
   #c75b12 / #C75B12 on #f4f7fb (3.96:1) → #a33e00 (5.2:1)
   #c75b12 on #fffef0 (4.19:1) → #a33e00 (5.4:1)
   #c75b12 on #ffffff (4.26:1) → #a33e00 (5.6:1)
   Use case-insensitive [i] attribute selector
   ---------------------------------------------------------- */
p[style*="color:#C75B12" i],
p[style*="color: #C75B12" i],
span[style*="color:#C75B12" i],
h2[style*="color:#C75B12" i],
h3[style*="color:#C75B12" i],
h4[style*="color:#C75B12" i] {
  color: #a33e00 !important;
}

/* ----------------------------------------------------------
   FIX 3: Dark Amber Labels on Light Backgrounds
   #a0731b / #A0731B on #f4f7fb (3.94:1) → #7a5500 (5.1:1)
   ---------------------------------------------------------- */
p[style*="color:#A0731B" i],
span[style*="color:#A0731B" i],
h3[style*="color:#A0731B" i],
h4[style*="color:#A0731B" i] {
  color: #7a5500 !important;
}

/* ----------------------------------------------------------
   FIX 4: Red-Orange Labels on Light Backgrounds
   #e52e00 / #E52E00 on pale BGs (4.14–4.45:1) → #b52200 (5.7:1)
   ---------------------------------------------------------- */
p[style*="color:#E52E00" i],
span[style*="color:#E52E00" i],
h3[style*="color:#E52E00" i],
h4[style*="color:#E52E00" i] {
  color: #b52200 !important;
}

/* ----------------------------------------------------------
   FIX 5: Light Gold on White/Cream Backgrounds
   #c8922a on #ffffff (2.76:1) → #7a5500 (5.0:1)
   #c8922a on #f7f3ec (2.50:1) → #7a5500 (4.7:1)
   Only applies when NOT on dark backgrounds
   ---------------------------------------------------------- */
p[style*="color:#C8922A" i],
span[style*="color:#C8922A" i],
h3[style*="color:#C8922A" i],
h4[style*="color:#C8922A" i] {
  color: #7a5500 !important;
}
/* Restore gold on dark navy backgrounds */
[style*="background-color:#0f1f3d" i] p[style*="color:#C8922A" i],
[style*="background-color:#1a2744" i] p[style*="color:#C8922A" i],
[style*="background-color:#0d1b2e" i] p[style*="color:#C8922A" i],
[style*="background-color:#162238" i] p[style*="color:#C8922A" i] {
  color: #c8922a !important;
}

/* ----------------------------------------------------------
   FIX 6: Light Yellow #f2d16d / #F2D16D on Light Backgrounds
   On cream/white: 1.47–1.49:1 → darken to #7a5500
   BUT preserve on dark navy covers (hero sections)
   ---------------------------------------------------------- */
/* Only target when NOT inside a cover block (which has dark overlay) */
.entry-content p[style*="color:#F2D16D" i]:not(.wp-block-cover *),
.entry-content span[style*="color:#F2D16D" i]:not(.wp-block-cover *),
.entry-content h3[style*="color:#F2D16D" i]:not(.wp-block-cover *),
.entry-content li[style*="color:#F2D16D" i]:not(.wp-block-cover *) {
  color: #7a5500 !important;
}

/* Stat numbers in large display (wisdom pages) — ensure dark */
.wp-block-group h3[style*="color:#F2D16D" i] {
  color: #7a5500 !important;
}

/* ----------------------------------------------------------
   FIX 7: Cream-on-Cream Text Blocks
   #f5f1ea on #fffef0 (1.11:1) — SEO/schema teaser blocks
   → override to dark navy text
   ---------------------------------------------------------- */
p[style*="color:#f5f1ea" i],
p[style*="color:#f5f1ea"],
[style*="background-color:#fffef0" i] p:not([style*="color:#0f1f3d"]):not([style*="color:#1a2744"]),
[style*="background-color:#fffef0" i] h2:not([style*="color:#0f1f3d"]):not([style*="color:#1a2744"]),
[style*="background-color:#fffef0" i] h3:not([style*="color:#0f1f3d"]):not([style*="color:#1a2744"]) {
  color: #1a2744 !important;
}

/* ----------------------------------------------------------
   FIX 8: Light Blue Links #7eb8f7 on Light Backgrounds
   On pale blue/cream/white: 1.94–2.34:1 → #0055a5 (7.1:1)
   Preserve on dark navy
   ---------------------------------------------------------- */
a[style*="color:#7eb8f7" i] {
  color: #0055a5 !important;
}
/* Restore on dark backgrounds */
[style*="background-color:#0f1f3d" i] a[style*="color:#7eb8f7" i],
[style*="background-color:#1a2744" i] a[style*="color:#7eb8f7" i],
[style*="background-color:#0d1b2e" i] a[style*="color:#7eb8f7" i],
[style*="background-color:#0d1d32" i] a[style*="color:#7eb8f7" i],
[style*="background-color:#162238" i] a[style*="color:#7eb8f7" i] {
  color: #7eb8f7 !important;
}

/* ----------------------------------------------------------
   FIX 9: Dark Navy Links on Near-Navy Dark Backgrounds
   #0f1f3d links on #0d1d32 or #0d1b2e (1.04–1.06:1)
   → use white text
   ---------------------------------------------------------- */
[style*="background-color:#0d1d32" i] a,
[style*="background-color:#0d1b2e" i] a {
  color: #ffffff !important;
  text-decoration: underline;
}
[style*="background-color:#0d1d32" i] a:hover,
[style*="background-color:#0d1b2e" i] a:hover {
  color: #f2d16d !important;
}

/* ----------------------------------------------------------
   FIX 10: Form Select Dropdowns — Cream Text on White
   contact page select: #f5f1ea on #ffffff (1.13:1)
   ---------------------------------------------------------- */
select,
select option {
  color: #0f1f3d !important;
  background-color: #ffffff !important;
}

/* ----------------------------------------------------------
   FIX 11: Yoast SEO Admin Badges (visible in admin bar / WP admin)
   These are admin-side only — fix for logged-in editors
   ---------------------------------------------------------- */
/* "Good" badge: #f0f0f1 on #7ad03a (1.69:1) → dark green text */
.wpseo-score-icon.good .wpseo-score-text,
span.wpseo-score-text {
  color: #1a5200 !important;
}
/* "OK" badge: #f0f0f1 on #ee7c1b (2.45:1) → dark text */
.wpseo-score-icon.ok .wpseo-score-text {
  color: #5a2700 !important;
}

/* ----------------------------------------------------------
   SAFETY: Restore correct colors on dark cover/hero blocks
   Ensure all text inside .wp-block-cover stays white/light
   ---------------------------------------------------------- */
.wp-block-cover .wp-block-cover__inner-container p,
.wp-block-cover .wp-block-cover__inner-container h1,
.wp-block-cover .wp-block-cover__inner-container h2,
.wp-block-cover .wp-block-cover__inner-container h3 {
  /* These are on dark overlay — preserve their original colors */
}

/* END WCAG CONTRAST AUDIT FIXES — June 2026 */

/* 2026-09-25 hero title collision repair: the mu-plugin function solon_wave_critical_title_space pins the hero title row to fixed heights computed for older, shorter H1s, so longer live H1s overlap the eyebrow and the opening paragraph. Let the rows size to content; the title min-height reservation stays. Remove this rule when that function stops pinning grid-template-rows. */
.solon-wave-hero { grid-template-rows: none !important; }

/* 2026-09-25 mobile hero repair: at phone widths the hero H1 was 50.7px, so one long word (e.g. "Manufacturing") was wider than the panel text area; it stretched the hero column and pushed the H1, paragraph and CTA past the panel edge on 6 pages, and H1s filled up to 48% of the screen. Specificity matches the theme rule it overrides. */
@media (max-width: 600px) {
  .entry-content .solon-wave-hero .solon-wave-hero__title { font-size: clamp(30px, 9.6vw, 44px) !important; line-height: 1.02 !important; hyphens: auto; overflow-wrap: break-word; }
}

/* 2026-09-25 dark-panel contrast repair.
   (1) The June contrast rules above turn every text authored in brand light gold #F2D16D into dark gold
   #7A5500 unless it sits in a Cover block, so gold headings on navy group panels fell to 2.5:1. Restore the
   authored gold on navy panels. (2) Navy panels whose text has no authored colour inherited the sitewide
   navy heading colour and dark body ink (down to 1.0:1), and some text was authored navy on navy. Give that
   text the brand cream. All three skip text inside a table or a light container nested in the navy panel. */
html .entry-content :is([style*="background-color:#0d1d32" i], [style*="background:#0d1d32" i]) :is(p, span, h1, h2, h3, h4, h5, h6, li, strong, em)[style*="color:#F2D16D" i]:not(:is([style*="background-color:#0d1d32" i], [style*="background:#0d1d32" i]) :is(table, .wp-block-table, .has-background:not([style*="0d1d32" i]), [style*="background-color:#f" i], [style*="background:#f" i]) *) {
  color: #F2D16D !important;
}
html .entry-content :is([style*="background-color:#0d1d32" i], [style*="background:#0d1d32" i], .solon-wave-section--dark) :is(h1, h2, h3, h4, h5, h6, p, li, summary, dt, dd, figcaption):not(.has-text-color):not([style*="color:" i]):not(:is([style*="background-color:#0d1d32" i], [style*="background:#0d1d32" i], .solon-wave-section--dark) :is(table, .wp-block-table, .has-background:not([style*="0d1d32" i]), [style*="background-color:#f" i], [style*="background:#f" i]) *) {
  color: #FFFEF0 !important;
}
html .entry-content :is([style*="background-color:#0d1d32" i], [style*="background:#0d1d32" i]) :is(h1, h2, h3, h4, h5, h6, p, li):is([style*="color:#0d1d32" i], [style*="color:#0f1f3d" i], [style*="color:#10243f" i]):not(:is([style*="background-color:#0d1d32" i], [style*="background:#0d1d32" i]) :is(table, .wp-block-table, .has-background:not([style*="0d1d32" i]), [style*="background-color:#f" i], [style*="background:#f" i]) *) {
  color: #FFFEF0 !important;
}

/* solon-font-subsets-20261004: retained full files, actual-cmap subsets, existing family/style/weight/display */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;font-display:swap;src:url('https://consultsolon.com/wp-content/themes/wordpress-express-40/assets/fonts/newsreader/Newsreader-Variable.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;font-display:swap;src:url('https://consultsolon.com/wp-content/uploads/fonts/Newsreader-Variable.actual-corpus-candidate.woff2') format('woff2');unicode-range:U+0020-007E,U+00A0-0131,U+0134-0148,U+014A-017E,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01C4-01CC,U+01E6-01E7,U+01EA-01EB,U+01FA-021B,U+022A-022D,U+0230-0233,U+0237,U+2010,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2032-2033,U+2039-203A,U+2044,U+2052,U+20AC,U+2122,U+2212}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:200 800;font-display:swap;src:url('https://consultsolon.com/wp-content/themes/wordpress-express-40/assets/fonts/newsreader/Newsreader-Italic-Variable.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:200 800;font-display:swap;src:url('https://consultsolon.com/wp-content/uploads/fonts/Newsreader-Italic-Variable.actual-corpus-candidate.woff2') format('woff2');unicode-range:U+0020-007E,U+00A0-0131,U+0134-0148,U+014A-017E,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01C4-01CC,U+01E6-01E7,U+01EA-01EB,U+01FA-021B,U+022A-022D,U+0230-0233,U+0237,U+2010,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2032-2033,U+2039-203A,U+2044,U+2052,U+20AC,U+2122,U+2212}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:100 900;font-display:swap;src:url('https://consultsolon.com/wp-content/themes/wordpress-express-40/assets/fonts/inter-tight/InterTight-Variable.woff2') format('woff2')}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:100 900;font-display:swap;src:url('https://consultsolon.com/wp-content/uploads/fonts/InterTight-Variable.actual-corpus-candidate.woff2') format('woff2');unicode-range:U+0020-007E,U+00A0-0148,U+014A-01C3,U+01C5-024F,U+0394,U+03A3,U+2000-200B,U+2010-2027,U+202F-205F,U+20AC,U+2122,U+2190,U+2192,U+2212}
@font-face{font-family:'Inter Tight';font-style:italic;font-weight:100 900;font-display:swap;src:url('https://consultsolon.com/wp-content/themes/wordpress-express-40/assets/fonts/inter-tight/InterTight-Italic-Variable.woff2') format('woff2')}
@font-face{font-family:'Inter Tight';font-style:italic;font-weight:100 900;font-display:swap;src:url('https://consultsolon.com/wp-content/uploads/fonts/InterTight-Italic-Variable.actual-corpus-candidate.woff2') format('woff2');unicode-range:U+0020-007E,U+00A0-0148,U+014A-01C3,U+01C5-024F,U+0394,U+03A3,U+2000-200B,U+2010-2027,U+202F-205F,U+20AC,U+2122,U+2190,U+2192,U+2212}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 700;font-display:swap;src:url('https://consultsolon.com/wp-content/themes/wordpress-express-40/assets/fonts/jetbrains-mono/JetBrainsMono-Variable.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 700;font-display:swap;src:url('https://consultsolon.com/wp-content/uploads/fonts/JetBrainsMono-Variable.actual-corpus-candidate.woff2') format('woff2');unicode-range:U+0020-007E,U+00A0-0131,U+0134-017F,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01CD-01CE,U+01E6-01E7,U+01EA-01EB,U+01F4-01F5,U+01FC-01FF,U+0218-021B,U+0232-0233,U+0237,U+0394,U+03A3,U+2010,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2024,U+2026,U+2030,U+2032-2033,U+2039-203A,U+2044,U+20AC,U+2122,U+2190,U+2192,U+2212}