/* Site navigation and content gateways. Intentionally independent of the old .menu styles. */
:root { --wb-ink:#263e52; --wb-blue:#365e83; --wb-light:#edf3f8; --wb-line:#d7e1e9; }
.wb-site-header *, .wb-site-footer *, .wb-hub * { box-sizing:border-box; }
.wb-site-header [hidden], .wb-site-search[hidden] { display:none !important; }
.wb-site-header { position:relative; z-index:50; background:#fff; border-bottom:1px solid var(--wb-line); }
.wb-header-inner { display:grid; grid-template-columns:150px minmax(0,1fr); gap:12px 28px; align-items:center; padding-top:16px; padding-bottom:18px; }
.wb-site-logo { grid-column:1; grid-row:1 / 3; }
.wb-site-logo img { display:block; width:140px; max-width:100%; height:auto; }
.wb-utility { grid-column:2; display:flex; align-items:center; justify-content:flex-end; gap:22px; }
.wb-utility a, .wb-utility button { color:#44586b; font:600 13px/1.5 'Open Sans',sans-serif; text-decoration:none; }
.wb-utility button { border:0; background:transparent; cursor:pointer; padding:6px 0; }
.wb-utility button span { font-size:22px; vertical-align:middle; margin-left:5px; }
.wb-navigation-panel { grid-column:2; display:flex; align-items:center; justify-content:flex-end; gap:22px; }
.wb-nav-list, .wb-nav-submenu { list-style:none; padding:0; margin:0; }
.wb-nav-list { display:flex; align-items:center; gap:10px; }
.wb-nav-list > li { display:flex; position:relative; align-items:center; border-radius:5px; transition:background-color .18s; }
.wb-nav-list > li > a { padding:12px 2px 12px 8px; color:#334858; font-size:14px; font-weight:600; white-space:nowrap; transition:color .18s; }
.wb-nav-list > li.is-open { background:var(--wb-light); }
.wb-nav-list > li.is-open > a, .wb-nav-list > li > a:hover { color:var(--wb-blue); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:7px; }
.wb-nav-list a { text-decoration:none; }
.wb-nav-list > .wb-current-section > a, .wb-nav-list .current-menu-item > a { color:var(--wb-blue); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:7px; }
.wb-submenu-toggle { display:none; flex:0 0 28px; align-items:center; justify-content:center; width:28px; height:44px; padding:0; border:0; border-radius:5px; background:transparent; color:var(--wb-blue); cursor:pointer; }
.wb-nav-enhanced .wb-submenu-toggle { display:flex; }
.wb-submenu-toggle svg { display:block; flex:none; transition:transform .18s ease; }
.wb-submenu-toggle[aria-expanded=true] svg { transform:rotate(180deg); }
.wb-submenu-toggle:hover { background:#dce8f2; }
.wb-nav-submenu { padding:10px; background:#fff; border:1px solid var(--wb-line); border-top:2px solid var(--wb-blue); border-radius:0 0 8px 8px; }
.wb-nav-enhanced .wb-nav-submenu { position:absolute; top:100%; left:0; z-index:100; width:290px; box-shadow:0 16px 36px #18334c24,0 3px 8px #18334c0a; }
.wb-nav-list > li:last-child .wb-nav-submenu { left:auto; right:0; }
.wb-nav-submenu a { display:block; padding:11px 12px; color:#334858; font-size:14px; line-height:1.6; white-space:normal; overflow-wrap:anywhere; border-radius:4px; }
.wb-nav-submenu a:hover, .wb-nav-submenu a:focus-visible { background:var(--wb-light); }
.wb-button, .maincontent a.wb-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:46px; padding:12px 19px; border:1px solid var(--wb-blue); border-radius:5px; background:var(--wb-blue); color:#fff; text-decoration:none; font-size:14px; font-weight:600; line-height:1.5; }
.wb-button:hover, .maincontent a.wb-button:hover { background:#274a6a; color:#fff; }
.wb-join-button { white-space:nowrap; }
.wb-menu-toggle { display:none; }
.wb-site-search { grid-column:1 / -1; padding:12px 0 6px; }
.wb-search-form { max-width:800px; margin:0 auto; }
.wb-search-form label { display:block; margin:0 0 8px; color:var(--wb-ink); font-size:15px; font-weight:600; }
.wb-search-form > div { display:flex; gap:10px; }
.wb-search-form input[type=search] { position:static; width:100%; min-width:0; min-height:48px; margin:0; padding:10px 14px; border:1px solid #8299ac; border-radius:4px; background:#fff; color:var(--wb-ink); font:inherit; }
.wb-search-form button { padding:10px 22px; border:0; border-radius:4px; background:var(--wb-blue); color:#fff; font:600 14px 'Open Sans',sans-serif; cursor:pointer; }
.wb-skip-link { position:fixed; top:8px; left:8px; z-index:10000; padding:12px 20px; background:#fff; color:var(--wb-ink); transform:translateY(-160%); }
.wb-skip-link:focus { transform:none; }
:where(.wb-site-header,.wb-site-footer,.wb-hub,.wb-breadcrumbs,.wb-search-results,.wb-home-knowledge,.wb-home-events) :is(a,button,input,select):focus-visible { outline:3px solid #b36b0c; outline-offset:4px; }
.wb-breadcrumbs { padding:22px 0; color:#536777; font-size:13px; line-height:1.7; }
.wb-breadcrumbs ol { display:flex; flex-wrap:wrap; list-style:none; padding:0; margin:0; gap:6px 10px; }
.wb-breadcrumbs li { min-width:0; overflow-wrap:anywhere; }
.wb-breadcrumbs li + li::before { content:'›'; margin-right:10px; color:#6a7e90; }
.wb-breadcrumbs a { color:var(--wb-blue); text-decoration:underline; text-underline-offset:3px; }
.wb-site-footer { margin-top:64px; padding:55px 0 22px; background:#213c53; color:#e2ebf2; font-size:14px; line-height:1.8; }
.wb-footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:36px; }
.wb-site-footer h2 { margin:0 0 18px; color:#fff; font-size:17px; font-weight:600; }
.wb-site-footer a { color:#fff; text-decoration:none; transition:color .18s ease; }
.wb-site-footer a:not(.wb-social-link):not(.custom-logo-link) { display:inline-block; background-image:linear-gradient(currentColor,currentColor); background-position:left bottom; background-repeat:no-repeat; background-size:0% 1px; transition:color .18s ease,background-size .18s ease; }
.wb-site-footer a:not(.wb-social-link):not(.custom-logo-link):is(:hover,:focus-visible) { color:#ffe3b0; background-size:100% 1px; }
.wb-site-footer a:focus-visible { outline:3px solid #f5c16e; outline-offset:5px; }
.wb-site-footer .wb-social-link { border:1px solid #ffffff40; border-radius:4px; transition:color .18s ease,border-color .18s ease,background-color .18s ease,transform .18s ease; }
.wb-site-footer .wb-social-link:is(:hover,:focus-visible) { color:#ffe3b0; border-color:#ffe3b0; background-color:#ffe3b01f; transform:translateY(-2px); }
.wb-footer-brand .custom-logo-link { transition:opacity .18s ease; }
.wb-footer-brand .custom-logo-link:is(:hover,:focus-visible) { opacity:.8; }
.wb-footer-brand .custom-logo { width:120px; height:auto; filter:brightness(0) invert(1); margin-bottom:20px; }
.wb-footer-brand p { max-width:300px; }
.wb-footer-links, .wb-legal-links { list-style:none; margin:0; padding:0; }
.wb-footer-links li { margin-bottom:10px; }
.wb-social-link { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; margin:6px 8px 0 0; vertical-align:middle; }
.wb-social-link > i { font-size:19px; line-height:1; }
.wb-footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; margin-top:40px; padding-top:22px; border-top:1px solid #ffffff30; font-size:12px; }
.wb-footer-bottom p { margin:0; }
.wb-legal-links { display:flex; flex-wrap:wrap; gap:10px 22px; }
.wb-hub { padding-bottom:25px; color:#334858; }
.wb-hub-header { padding:32px 40px; margin-bottom:32px; border-top:3px solid #557ca1; background:var(--wb-light); }
.wb-eyebrow { margin:0 0 10px; color:var(--wb-blue); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.wb-hub h1 { margin:0 0 16px; color:var(--wb-ink); font-size:clamp(30px,4vw,46px); line-height:1.2; }
.wb-hub-intro { max-width:850px; margin:0; font-size:19px; line-height:1.7; }
.wb-hub-content > p { max-width:850px; font-size:17px; line-height:1.85; }
.wb-hub-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:28px 0; }
.maincontent .wb-hub-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:26px; border:1px solid var(--wb-line); border-radius:7px; background:#fff; color:var(--wb-ink); text-decoration:none; transition:background .15s,border-color .15s; }
.maincontent .wb-hub-card:hover { background:#f5f8fb; border-color:#557ca1; }
.wb-hub-card h2, .wb-hub-card h3 { margin:0 0 14px; color:var(--wb-ink); font-size:22px; line-height:1.4; overflow-wrap:anywhere; }
.wb-hub-card p { margin:0 0 18px; font-size:15px; line-height:1.75; }
.wb-hub-card > span { margin-top:auto; padding-top:12px; color:var(--wb-blue); font-weight:600; }
.wb-hub-card .wb-card-date { color:var(--wb-blue); font-size:13px; font-weight:600; }
.wb-hub-action { margin:24px 0 48px; }
.wb-home-knowledge { padding:32px 0; }
.wb-home-knowledge .wb-hub-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.wb-group-intro { max-width:900px; margin-bottom:30px; font-size:17px; line-height:1.8; }
.wb-search-results { max-width:1000px; margin:0 auto; padding-bottom:35px; }
.wb-search-results h1 { color:var(--wb-ink); font-size:34px; line-height:1.35; overflow-wrap:anywhere; }
.wb-search-results .wb-search-form { margin:28px 0; }
body.search-results .maincontent .wb-search-results article { padding:24px 0; margin:0; border-bottom:1px solid var(--wb-line); }
.wb-search-results article h2 { font-size:23px; line-height:1.45; }
.wb-result-type { color:#536777; font-size:13px; }
.wb-pagination .nav-links { display:flex; flex-wrap:wrap; gap:8px; margin:30px 0; }
.wb-pagination .page-numbers { padding:10px 14px; border:1px solid var(--wb-line); border-radius:4px; }
.wb-pagination .current { background:var(--wb-blue); color:white; }
.wb-section-shortcuts { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 28px; }
.wb-section-shortcuts a { padding:9px 14px; border:1px solid var(--wb-line); border-radius:5px; background:#fff; }
[id] { scroll-margin-top:24px; }
/* Full navigation remains readable when scripts are unavailable. */
.wb-site-header:not(.wb-nav-enhanced) .wb-navigation-panel { align-items:flex-start; }
.wb-site-header:not(.wb-nav-enhanced) .wb-nav-list { flex-wrap:wrap; align-items:flex-start; }
.wb-site-header:not(.wb-nav-enhanced) .wb-nav-list > li { display:block; }
@media (max-width:1399px) and (min-width:1200px) {
 .wb-header-inner { grid-template-columns:120px minmax(0,1fr); gap:10px 18px; }
 .wb-navigation-panel { gap:14px; }
 .wb-nav-list { gap:10px; }
 .wb-nav-list > li > a { font-size:13px; }
 .wb-join-button { padding:11px 13px; font-size:13px; }
 .wb-submenu-toggle { width:24px; flex-basis:24px; }
}
@media (max-width:1199px) {
 .wb-header-inner { grid-template-columns:minmax(100px,1fr) auto; gap:12px; padding-top:12px; padding-bottom:12px; }
 .wb-site-logo { grid-row:1; }
 .wb-site-logo img { width:115px; }
 .wb-utility { grid-column:1 / -1; grid-row:2; justify-content:flex-start; gap:24px; }
 .wb-nav-enhanced .wb-menu-toggle { display:inline-flex; grid-column:2; grid-row:1; gap:12px; align-items:center; justify-content:center; min-height:44px; padding:8px 14px; border:1px solid var(--wb-line); border-radius:5px; background:#fff; color:var(--wb-ink); font:600 14px 'Open Sans',sans-serif; cursor:pointer; }
 .wb-menu-toggle > [aria-hidden] { font-size:23px; }
 .wb-navigation-panel { grid-column:1 / -1; display:block; padding:10px 0; }
 .wb-nav-list { display:block; }
 .wb-nav-list > li { display:grid; grid-template-columns:minmax(0,1fr) 48px; border-top:1px solid var(--wb-line); }
 .wb-nav-list > li > a { padding:16px 8px; font-size:16px; white-space:normal; overflow-wrap:anywhere; }
 .wb-submenu-toggle { width:48px; height:56px; }
 .wb-nav-enhanced .wb-nav-submenu, .wb-nav-submenu { position:static; grid-column:1 / -1; width:100%; border:0; border-radius:0; padding:4px 12px 14px; box-shadow:none; background:var(--wb-light); }
 .wb-nav-submenu a { padding:12px; font-size:15px; }
 .wb-join-button { display:flex; margin-top:14px; }
 .wb-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
 .wb-hub-grid, .wb-home-knowledge .wb-hub-grid { grid-template-columns:minmax(0,1fr); }
 .wb-hub-header { padding:25px 22px; }
 .wb-hub-intro { font-size:17px; }
 .wb-hub-card { padding:22px; }
 .wb-footer-grid { grid-template-columns:minmax(0,1fr); gap:30px; }
 .wb-site-footer { margin-top:40px; padding-top:36px; }
 .wb-breadcrumbs { font-size:12px; padding:16px 0; }
 .wb-search-form > div { gap:6px; }
 .wb-search-form button { padding:10px 13px; }
 .wb-search-results h1 { font-size:28px; }
}
@media (prefers-reduced-motion:reduce) { .wb-hub-card, .wb-nav-list > li, .wb-nav-list > li > a, .wb-submenu-toggle svg { transition:none; } }
@media (prefers-reduced-motion:reduce) {
 .wb-site-footer a, .wb-site-footer a:not(.wb-social-link):not(.custom-logo-link), .wb-site-footer .wb-social-link, .wb-footer-brand .custom-logo-link { transition:none; }
 .wb-site-footer .wb-social-link:is(:hover,:focus-visible) { transform:none; }
}
.wb-primary-nav .dropdown > a::after { display:none; }
.wb-site-header:not(.wb-nav-enhanced) .wb-search-toggle { display:none; }
.home .banner-text h1 { margin:0; font-size:clamp(34px,4.2vw,60px); font-weight:700; line-height:1.2; letter-spacing:-.03em; color:#2d2f34; }
.wb-pagination .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.wb-archive-notice { padding:20px; background:var(--wb-light); border-left:3px solid #557ca1; }
.home .content-area { position:relative; }
.home .content-area::before { content:''; position:absolute; inset:0; background:#18344bcb; }
.home .content-area .container { position:relative; }
.home .content-area .content-text :is(h2,p,strong,span) { color:#fff !important; }
.home .news-area .vc_gitem-post-data-source-post_excerpt { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
/* WPBakery uses 15px row gutters; match them now that the legacy clipping panel is gone. */
.maincontent.container { padding-left:15px; padding-right:15px; }
.wb-search-results :is(h2,p) { overflow-wrap:anywhere; hyphens:auto; }
