/* =========================================================== */
/* WCAG 2.2 AA contrast fixes (2026-11-03)                      */
/* Same hues, darkened just enough: 4.5:1 for small text,       */
/* 3:1 for large text. Loads last on every page. Dark sections   */
/* keep their own (stronger) label colors.                       */
/* =========================================================== */

/* Small teal labels on light grounds: #5FA8A3 (2.5:1) -> 4.6:1 */
html .ea-section-label,
html .ea-project-card-tag { color: #417773; }

/* Inactive process step numbers + phone project tags: grey 1.7:1 -> 4.6:1 */
html .ea-process-step .ea-step-number { color: #6E6E6E; }
html .ea-mobile-card-client { color: #6E6E6E; }

/* Policy section numbers: cedar 1.7:1 -> 4.6:1 */
html .ea-legal-num { color: #97622E; opacity: 1; }

/* Current page in the menu (large text): cedar 1.8:1 -> 3.2:1 */
html .ea-mobile-links a[aria-current="page"] .ea-menu-text { color: #AC7035; }

/* Footer small print: same charcoal, less transparent (2.3:1 -> 4.6:1+) */
html .ea-footer-location,
html .ea-footer-bottom p,
html .ea-footer-bottom a:not(:hover):not(:focus-visible) { opacity: 0.85; }

/* About: career attribution 4.3:1 -> 4.7:1 */
html .ea-career-attribution { opacity: 0.86; }

/* Home "Selected Work" label over photos: white 35% -> 80% */
html .ea-portfolio-label { color: rgba(255, 255, 255, 0.8); }

/* =========================================================== */
/* Layout stability: "Our Process" steps keep their full height */
/* from the start; activating a step only fades its text in, so  */
/* nothing below jumps while scrolling (CLS).                    */
/* =========================================================== */
html .ea-process-step .ea-step-desc,
html .ea-process-step.ea-step--active .ea-step-desc { max-height: none; }
/* Upcoming steps show their text dimmed, like their titles, instead of an empty gap */
html .ea-process-step:not(.ea-step--active) .ea-step-desc { opacity: 0.35; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html .ea-process-step .ea-step-desc { opacity: 1; transform: none; }
  html .ea-process-step h3 { opacity: 1; }
}

/* Footer column titles are h2 now (heading order: h2 -> h4 jump), same look as before */
html .ea-footer-col h2.ea-footer-heading {
  font-family: var(--font-accent); font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 2px; line-height: 1.1; margin: 0 0 12px; max-width: none; color: var(--color-charcoal);
}

/* Full-screen layers (page fade, menu strips, phone menu) sized to the largest screen
   height, so they hold still while phone address bars slide (no resize mid-animation) */
html .ea-page-transition,
html .ea-pt-strips,
html .ea-mobile-menu { bottom: auto; height: 100vh; height: 100lvh; }

/* Buttons: rounded corners (8px, the radius the shared button styles use) */
html .ea-btn,
html .ea-portfolio-hero-cta { border-radius: 8px; }
