/* Bluemetrix WordPress theme styles.
   Section 1 is carried over verbatim from the static pages' shared inline <style> so the nav,
   buttons and reveal behave identically. Sections 2+ are the resource hub and article typography. */

/* ---------- 1. Shared with the static site ---------- */
html { scroll-behavior: smooth; }
body { font-family:'Inter',ui-sans-serif,system-ui,sans-serif; background:#fff; color:#181A1B; -webkit-font-smoothing:antialiased; }
::selection { background:#0164FF; color:#fff; }
.ease-spring { transition-timing-function: cubic-bezier(0.34,1.56,0.64,1); }
.shadow-card { box-shadow: 0 1px 2px rgba(24,26,27,.05), 0 12px 28px -10px rgba(24,26,27,.12); }
.shadow-card-hover { box-shadow: 0 2px 4px rgba(24,26,27,.07), 0 24px 44px -14px rgba(24,26,27,.20); }
.btn-primary { background:#0164FF; color:#fff; transition: transform .25s cubic-bezier(0.34,1.56,0.64,1), box-shadow .25s ease, background-color .2s ease; }
.btn-primary:hover { background:#0048BD; transform: translateY(-2px); box-shadow: 0 14px 28px -10px rgba(1,100,255,.5); }
.btn-outline { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.35); transition: transform .25s cubic-bezier(0.34,1.56,0.64,1), background-color .2s ease, border-color .2s ease; }
.btn-outline:hover { background:rgba(255,255,255,.1); border-color:#fff; transform: translateY(-2px); }
.link-arrow { transition: gap .25s cubic-bezier(0.34,1.56,0.64,1), color .2s ease; }
.link-arrow:hover { gap:10px; color:#0164FF; }
.nav-link { color:#181A1B; transition: color .2s ease; }
.nav-link:hover, .group:hover .nav-link, .group:focus-within .nav-link { color:#0164FF; }
.mega-panel { visibility:hidden; opacity:0; transform: translateX(-50%) translateY(6px); transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.group:hover .mega-panel, .group:focus-within .mega-panel { visibility:visible; opacity:1; transform: translateX(-50%) translateY(0); }
.menu-item { transition: background-color .15s ease, color .15s ease; }
.menu-item:hover { background:#F3F0EC; }
.menu-item:hover .menu-item-label { color:#0164FF; }
.menu-icon { color:#8B93A1; transition: color .15s ease; }
.menu-item:hover .menu-icon { color:#0164FF; }
.menu-icon-box { width:32px; height:32px; border-radius:9px; background:#F3F0EC; color:#8B93A1; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition: background-color .15s ease, color .15s ease; }
.menu-item:hover .menu-icon-box { background:#fff; color:#0164FF; }
.menu-col-label { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#8B93A1; margin-bottom:10px; }
[data-reveal] { opacity:0; transform:translateY(22px); transition: opacity .6s cubic-bezier(0.16,1,0.3,1), transform .6s cubic-bezier(0.16,1,0.3,1); }
[data-reveal].is-revealed { opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce) { [data-reveal] { opacity:1; transform:none; transition:none; } }
/* Flat ink-black background + faint grain texture, used by every dark section sitewide
   (industry-page intro/stack sections, etc). Matches the static site's per-page .field-dark /
   .noise rules exactly (see solutions/financial-services.html's own <style> block). */
.field-dark { background:#181a1b; }
.noise { position:relative; }
.noise::before { content:''; position:absolute; inset:0; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"); }

/* Logged-in admin bar sits above the sticky announcement bar + header. */
body.admin-bar > a.sticky { top:32px; }
body.admin-bar > header.sticky { top:72px; }
@media (max-width:782px) { body.admin-bar > a.sticky { top:46px; } body.admin-bar > header.sticky { top:86px; } }

/* ---------- 2. Resource hub (mirrors resources.html) ---------- */
.res-dark { background:#2B2D2D; }
.eyebrow-label { font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.res-feature-panel { background:#F2F2F0; }
.res-thumb { position:relative; overflow:hidden; background:#141515; }
.res-thumb img { display:block; width:100%; height:100%; object-fit:cover; transition: transform .2s ease; }
.res-link:hover .res-thumb img { transform: scale(1.02); }
.res-title { transition: color .18s ease; }
.res-link:hover .res-title { color:#0164FF; }
.res-cta { display:inline-flex; align-items:center; gap:6px; transition: gap .2s ease; }
.res-link:hover .res-cta { gap:10px; }
.res-cta svg { transition: transform .2s ease; }
.res-link:hover .res-cta svg { transform: translateX(3px); }
.bm-no-scrollbar { scrollbar-width:none; -ms-overflow-style:none; }
.bm-no-scrollbar::-webkit-scrollbar { display:none; }
.res-check { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 0; font-size:14px; color:#33363A; }
.res-check:hover, .res-check.is-active { color:#0164FF; }
.res-check.is-active { font-weight:600; }
.res-check small { color:#8B93A1; font-size:12px; }
.res-row-desc { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bm-pagination { display:flex; gap:8px; flex-wrap:wrap; padding-top:2rem; }
.bm-pagination a, .bm-pagination span { border:1.5px solid #181A1B; border-radius:10px; padding:8px 14px; font-size:14px; font-weight:600; color:#181A1B; }
.bm-pagination a:hover { background:#F3F0EC; }
.bm-pagination .current { background:#181A1B; color:#fff; }

/* ---------- 3. Article / page content typography (WordPress editor output) ---------- */
.entry-content { font-size:17px; line-height:1.75; color:#33363A; }
.entry-content > * + * { margin-top:1.25rem; }
.entry-content h2 { font-size:30px; line-height:1.15; letter-spacing:-0.02em; font-weight:600; color:#181A1B; margin-top:2.75rem; scroll-margin-top:168px; }
.entry-content h3 { font-size:22px; line-height:1.25; letter-spacing:-0.01em; font-weight:500; color:#181A1B; margin-top:2.25rem; }
.entry-content h4 { font-size:17px; font-weight:500; color:#181A1B; margin-top:1.75rem; }
.entry-content a { color:#0164FF; text-decoration:underline; text-underline-offset:2px; }
.entry-content a:hover { color:#0048BD; }
.entry-content ul { list-style:disc; padding-left:1.5rem; }
.entry-content ol { list-style:decimal; padding-left:1.5rem; }
.entry-content li + li { margin-top:.4rem; }
.entry-content blockquote { border-left:3px solid #0164FF; padding:.25rem 0 .25rem 1.25rem; font-size:19px; color:#181A1B; }
.entry-content img, .entry-content video { max-width:100%; height:auto; border-radius:12px; }
.entry-content figure { margin-left:0; margin-right:0; }
.entry-content figcaption { font-size:13px; color:#5B6470; margin-top:.5rem; }
.entry-content pre { background:#0d1520; color:#e6edf7; border-radius:12px; padding:1.1rem 1.25rem; overflow-x:auto; font-size:14px; line-height:1.6; }
.entry-content code { font-size:.9em; background:#F3F0EC; border-radius:6px; padding:.1em .35em; }
.entry-content pre code { background:none; padding:0; }
.entry-content .wp-block-table { overflow-x:auto; }
/* display:block makes a BARE <table> (not wrapped in .wp-block-table, which migrated content
   doesn't have) scrollable on its own on narrow screens instead of forcing the whole page wider. */
.entry-content table { display:block; max-width:100%; overflow-x:auto; width:100%; border-collapse:collapse; font-size:14.5px; }
.entry-content th, .entry-content td { border:1px solid #E7ECF3; padding:.55rem .75rem; text-align:left; }
.entry-content th { background:#FAFBFC; font-weight:600; }
.entry-content .wp-block-image.has-grey-bg img { background:#F3F0EC; padding:1.5rem; }
.entry-content hr { border:0; border-top:1px solid #181A1B; margin:2.5rem 0; }
.entry-content .alignwide { max-width:min(1100px, 100vw - 3rem); margin-left:50%; transform:translateX(-50%); }
.entry-content .alignfull { width:100vw; max-width:100vw; margin-left:50%; transform:translateX(-50%); }
.entry-content .wp-block-button__link { background:#0164FF; color:#fff; border-radius:12px; padding:.85rem 1.4rem; font-weight:600; text-decoration:none; }
.entry-content .wp-block-button__link:hover { background:#0048BD; color:#fff; }
.entry-content .wp-block-button.is-style-outline .wp-block-button__link { background:transparent; color:#181A1B; border:1.5px solid #181A1B; }
.entry-content--landing > * + * { margin-top:0; } /* landing pages control their own vertical rhythm */
.entry-content--landing { font-size:inherit; line-height:inherit; }
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
