
:root { color-scheme: light; }
html { scroll-behavior: smooth; }
body { margin: 0; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
a { text-underline-offset: .18em; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid #2C7A7B; outline-offset: 3px; }
.skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 10000; transform: translateY(-200%); background: #fff; color: #102A43; padding: .75rem 1rem; box-shadow: 0 8px 28px rgba(16,42,67,.18); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: sticky; top: 0; z-index: 999; border-bottom: 1px solid rgba(98,125,152,.25); backdrop-filter: saturate(160%) blur(14px); background: rgba(255,255,255,.96); }
.admin-bar .site-header { top: 32px; }
.site-header .wp-block-site-logo img { max-height: 46px; width: auto; }
.site-brand-text { line-height: 1.05; white-space: nowrap; }
.site-brand-text strong { display: block; color: #102A43; font-size: 1.1rem; }
.site-brand-text span { color: #52606D; font-size: .72rem; letter-spacing: .09em; text-transform: uppercase; }
.header-cta .wp-block-button__link { white-space: nowrap; }
.bhit-section { padding-top: clamp(3.5rem,7vw,6rem); padding-bottom: clamp(3.5rem,7vw,6rem); }
.bhit-section-compact { padding-top: clamp(2.5rem,5vw,4rem); padding-bottom: clamp(2.5rem,5vw,4rem); }
.bhit-eyebrow { font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #1769AA; }
.bhit-card { height: 100%; border: 1px solid #D5E1EA; background: #fff; padding: clamp(1.25rem,2vw,1.75rem); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.bhit-card:hover { transform: translateY(-3px); box-shadow: 0 14px 40px rgba(16,42,67,.12); border-color: #9FB3C8; }
.bhit-card h3 { margin-top: .8rem; }
.bhit-icon { display:flex; align-items:center; justify-content:center; width:2.75rem; height:2.75rem; border-radius:4px; background:#EAF2F8; color:#1769AA; }
.bhit-icon svg { width:1.45rem; height:1.45rem; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.bhit-hero-placeholder { min-height: 420px; display:flex; align-items:center; justify-content:center; border:1px solid #BCCCDC; background:linear-gradient(145deg,#EAF2F8,#F7F9FB); color:#52606D; text-align:center; padding:2rem; }
.bhit-hero-placeholder svg { width:120px; height:120px; stroke:#1769AA; fill:none; stroke-width:1.25; margin-bottom:1rem; }
.bhit-footer a { color:#D9E8F5; }
.bhit-footer a:hover { color:#fff; }
.bhit-footer .wp-block-navigation { color:#D9E8F5; }
.bhit-footer-heading { color:#fff !important; font-size:1rem !important; }
.bhit-footer-meta { border-top:1px solid rgba(255,255,255,.15); padding-top:1.25rem; }
.bhit-process-number { font-family:ui-monospace,monospace; font-size:.78rem; font-weight:700; color:#1769AA; letter-spacing:.08em; }
.bhit-diagram-node { border:1px solid #9FB3C8; background:#fff; padding:1rem; text-align:center; min-width:150px; }
.bhit-diagram-arrow { color:#627D98; font-size:1.5rem; text-align:center; }
.wp-block-query-pagination { margin-top:2.5rem; }
.wp-block-post-template { padding-left:0; }
@media (max-width: 900px) {
 .header-cta { display:none !important; }
 .admin-bar .site-header { top:46px; }
}
@media (max-width: 781px) {
 .bhit-hero-placeholder { min-height:300px; }
 .bhit-section { padding-top:3rem; padding-bottom:3rem; }
}
@media (max-width: 600px) {
 .site-brand-text span { display:none; }
 .site-header .wp-block-site-logo img { max-height:38px; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior:auto; }
 *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}

.bhit-page-hero { background: linear-gradient(180deg,#F7F9FB 0%,#EAF2F8 100%); border-bottom:1px solid #D5E1EA; }
.bhit-page-hero h1 { max-width: 980px; margin-top:.6rem; }
.bhit-page-hero p:not(.bhit-eyebrow) { max-width: 820px; font-size:clamp(1.05rem,1.8vw,1.25rem); }
.bhit-card-grid { align-items:stretch; flex-wrap:wrap !important; }
.bhit-card-grid > .wp-block-column { min-width:min(100%,260px); flex-basis:280px !important; }
.bhit-cta-section { background:#102A43; color:#fff; }
.bhit-cta-section h2,.bhit-cta-section p { color:#fff; }
.bhit-faq h3 { margin-top:2rem; margin-bottom:.5rem; }
.bhit-consultation-form { max-width:900px; }
.bhit-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 1.5rem; }
.bhit-consultation-form label { display:block; font-weight:650; margin-bottom:.4rem; }
.bhit-consultation-form input[type=text],.bhit-consultation-form input[type=email],.bhit-consultation-form input[type=tel],.bhit-consultation-form select,.bhit-consultation-form textarea { width:100%; border:1px solid #9FB3C8; border-radius:3px; background:#fff; color:#1F2933; padding:.8rem .85rem; font:inherit; }
.bhit-consultation-form input:focus,.bhit-consultation-form select:focus,.bhit-consultation-form textarea:focus { border-color:#1769AA; box-shadow:0 0 0 2px rgba(23,105,170,.15); }
.bhit-consent label { font-weight:400; display:flex; gap:.6rem; align-items:flex-start; }
.bhit-form-privacy { color:#52606D; font-size:.9rem; }
.bhit-honeypot { position:absolute !important; left:-9999px !important; }
.bhit-form-message { padding:1rem; margin-bottom:1.25rem; border-left:4px solid; }
.bhit-form-success { background:#edf7f3; border-color:#2C7A7B; }
.bhit-form-error { background:#fff1f0; border-color:#b42318; }
@media (max-width:700px){.bhit-form-grid{grid-template-columns:1fr}.bhit-page-hero .wp-block-buttons{gap:.75rem}}


/* Phase 3 resource center */
.single-post .wp-block-post-content { max-width: 780px; margin-inline: auto; }
.single-post .wp-block-post-content > h2 { margin-top: 2.75rem; }
.single-post .wp-block-post-content > p { line-height: 1.78; }
.bhit-resource-card .wp-block-post-terms { color:#1769AA; font-weight:700; }
.bhit-resource-card .wp-block-post-title { margin-top:.65rem; }
.bhit-article-cta { margin-top:3.5rem; background:#EAF2F8; border:1px solid #BCCCDC; padding-inline:clamp(1.25rem,4vw,3rem); }
.bhit-article-cta h2 { color:#102A43; }
