/* White Cloak 2026: theme-level additions on top of tokens, ds and the boards' shared helmet rules. */

/* Inline display styles must not defeat the hidden attribute (tabs, menus, filters). */
[hidden] { display: none !important; }

html { scroll-padding-top: 96px; -webkit-text-size-adjust: 100%; }
body { font-family: var(--font-sans); color: #5b6771; }
main:focus { outline: none; }

/* Skip link */
.wc-skip { position: absolute; left: 12px; top: -60px; z-index: 100; padding: 10px 16px; border-radius: 10px; background: #23292e; color: #fff; font-weight: 700; text-decoration: none; }
.wc-skip:focus { top: 12px; }

/* Honeypot field */
.wc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* Header menus */
.wc-site-header [aria-expanded="true"] .wc-chev { transform: rotate(180deg); }
.wc-site-header .wc-close { display: none; }
.wc-site-header [aria-expanded="true"] .wc-close { display: block; }
.wc-site-header [aria-expanded="true"] .wc-burger { display: none; }
.wc-menu-item { transition: background 140ms; }
.wc-menu-item:hover { background: #f5f7f9; }

/* Small phones: logo, Let's talk and the menu button must fit in the bar */
@media (max-width: 440px) {
	.wc-mainbar > div { gap: 12px !important; }
	.wc-mainbar > div > a:first-child { flex-shrink: 1 !important; min-width: 0; }
	.wc-mainbar > div > a:first-child img:not(.wc-xm-hat) { max-width: 100%; height: auto !important; max-height: 22px; }
	.wc-mainbar .wc-btn-ink { padding: 0 14px !important; }
	.wc-mainbar .wc-btn-ink svg { display: none; }
}

/* Form fields */
.wc-field:focus-within { border-color: var(--accent, #d88728) !important; box-shadow: 0 0 0 3px rgba(216, 135, 40, .18); }
[aria-invalid="true"] { border-color: #b42318 !important; }
.wc-field:has([aria-invalid="true"]) { border-color: #b42318 !important; }
button[aria-busy="true"] { opacity: .7; cursor: progress !important; }
input:focus-visible, textarea:focus-visible, select:focus-visible { outline: none; }

/* Long-form content from the WordPress editor (articles, work entries, legal pages) */
.wc-prose { font-size: 18px; line-height: 1.75; color: #3f4a52; overflow-wrap: break-word; }
.wc-prose > * { margin: 0 0 1.1em; }
.wc-prose > *:last-child { margin-bottom: 0; }
.wc-prose h2, .wc-prose h3, .wc-prose h4 { font-family: var(--font-sans); color: #23292e; letter-spacing: -0.01em; line-height: 1.25; text-transform: none; }
.wc-prose h2 { font-size: clamp(24px, 2.2vw, 30px); font-weight: 800; margin-top: 1.8em; }
.wc-prose h3 { font-size: 21px; font-weight: 800; margin-top: 1.6em; }
.wc-prose h4 { font-size: 18px; font-weight: 800; margin-top: 1.4em; }
.wc-prose img, .wc-prose video, .wc-prose iframe { max-width: 100%; height: auto; border-radius: 14px; }
.wc-prose iframe { aspect-ratio: 16 / 9; width: 100%; height: auto; }
.wc-prose figure { margin-left: 0; margin-right: 0; }
.wc-prose figcaption { font-size: 14px; color: #5b6771; margin-top: 8px; }
.wc-prose ul, .wc-prose ol { padding-left: 1.3em; }
.wc-prose li { margin: .35em 0; }
.wc-prose blockquote { margin-left: 0; padding: 4px 0 4px 22px; border-left: 3px solid #d88728; font-size: 20px; color: #23292e; }
.wc-prose table { width: 100%; border-collapse: collapse; font-size: 16px; }
.wc-prose th, .wc-prose td { padding: 10px 12px; border-bottom: 1px solid rgba(35, 41, 46, .12); text-align: left; vertical-align: top; }
.wc-prose pre, .wc-prose code { font-family: var(--font-mono); font-size: .9em; }
.wc-prose pre { padding: 18px; border-radius: 12px; background: #23292e; color: #ecebea; overflow-x: auto; }
.wc-prose hr { border: 0; border-top: 1px solid rgba(35, 41, 46, .12); margin: 2em 0; }
.wc-prose .alignleft { float: left; margin: 0 1.2em 1em 0; }
.wc-prose .alignright { float: right; margin: 0 0 1em 1.2em; }
.wc-prose .aligncenter { margin-left: auto; margin-right: auto; display: block; }
/* Elementor markup inside migrated posts: keep it readable without Elementor's CSS */
.wc-prose .elementor-widget-container > *:last-child { margin-bottom: 0; }
.wc-prose .elementor-section, .wc-prose .elementor-container, .wc-prose .elementor-column, .wc-prose .elementor-widget-wrap { display: block; width: auto !important; }

/* Pagination */
.wc-pager { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; }
.wc-pager .page-numbers { min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 14px; box-sizing: border-box; border-radius: 12px; border: 1.5px solid rgba(35, 41, 46, .16); background: #fff; color: #23292e; font-weight: 700; font-size: 15px; text-decoration: none; }
.wc-pager .page-numbers.current { background: #23292e; border-color: #23292e; color: #fff; }
.wc-pager a.page-numbers:hover { border-color: #23292e; }

/* WordPress admin bar on small screens should not cover the sticky header */
@media (max-width: 600px) { #wpadminbar { position: fixed; } }

/* Keyboard focus (WCAG 2.4.7 / 1.4.11). Outline plus a white halo so the ring shows on light and
   dark sections; !important because many buttons carry an inline box-shadow. */
a:focus-visible, button:focus-visible, summary:focus-visible, [role="tab"]:focus-visible, [tabindex]:not([tabindex="-1"]):focus-visible, input[type="checkbox"]:focus-visible, input[type="radio"]:focus-visible {
	outline: 3px solid #23292e !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 2px #ffffff !important;
}
.wc-site-footer a:focus-visible, .wc-site-footer button:focus-visible, [data-wc-consent] button:focus-visible, [data-wc-consent] a:focus-visible, .wc-on-dark :focus-visible {
	outline-color: #ffffff !important;
	box-shadow: 0 0 0 2px #23292e !important;
}

/* LinkedIn icon link on leader cards (About board) */
.wc-in{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;color:#5b6771;border:1px solid rgba(35,41,46,.12);text-decoration:none;transition:color 140ms,border-color 140ms,background 140ms}
.wc-in:hover{color:#0a66c2;border-color:rgba(10,102,194,.35);background:#f2f7fc}
