/* Header geometry and complete WPBakery mega menus follow the reference. */
.bb-topbar { height:116px; padding-top:13px; font-size:13px; }
.bb-header { height:20px; background:transparent; border:0; }
.bb-header-inner { position:absolute; top:-61px; left:50%; transform:translateX(-50%); width:calc(100% - 60px); max-width:1210px; height:140px; min-height:140px; margin:0; background:#fff; box-shadow:0 4px 0 #10415418; }
.bb-logo { flex:0 0 302px; padding:0; border-inline:15px solid #34546c; }
.bb-logo img { width:272px; max-height:140px; object-fit:contain; }
.bb-header-body { padding:0 15px; }
.bb-contact { height:73px; min-height:73px; gap:44px; }
.bb-contact>div { display:grid; grid-template-columns:24px 1fr; column-gap:12px; }
.bb-contact svg { grid-row:1/3; align-self:center; width:24px; height:28px; fill:none; stroke:var(--bb-blue); stroke-width:1.5; }
.bb-nav { min-height:67px; gap:16px; }
.bb-menu { flex:1; gap:0; justify-content:space-between; align-self:stretch; }
.bb-menu>li { align-items:stretch; }
.bb-menu>li>a,.bb-panel-trigger { display:flex; align-items:center; justify-content:center; min-height:64px; padding:0 15px; font:700 14px/1.4 'Noto Sans',sans-serif; letter-spacing:.15px; color:var(--bb-blue); text-transform:uppercase; white-space:nowrap; }
.bb-panel-trigger { appearance:none; border:0; border-radius:0; background:transparent; cursor:pointer; box-shadow:none; text-shadow:none; }
.bb-panel-trigger:hover,.bb-panel-trigger:focus,.bb-panel-trigger[aria-expanded=true] { background:transparent; color:var(--bb-deep); }
.bb-menu>li>a,.bb-panel-trigger { position:relative; transition:color 220ms ease; }
.bb-menu>li>a::before,.bb-panel-trigger::before { content:''; position:absolute; inset:0 0 auto; height:2px; background:var(--bb-blue); opacity:0; transform:scaleX(.65); transition:opacity 220ms ease,transform 220ms ease; }
.bb-menu>li>a:hover::before,.bb-menu>li>a:focus-visible::before,.bb-menu .current-menu-item>a::before,.bb-panel-trigger:hover::before,.bb-panel-trigger:focus-visible::before,.bb-panel-trigger[aria-expanded=true]::before { opacity:1; transform:scaleX(1); }
.bb-menu .current-menu-item>a { text-decoration:none; box-shadow:none; }
.bb-search { flex:0 0 24px; margin-right:6px; }
.bb-mega-panel[hidden] { display:none!important; }
.bb-mega-panel { position:absolute; top:calc(100% - 4px); left:0; right:0; width:100%; padding:30px; background:#f5f5f5; color:#737373; box-shadow:0 8px 18px #10415414; border-top:1px solid #e6e9ec; max-height:var(--bb-panel-max-height,calc(100dvh - 190px)); overflow:auto; overscroll-behavior:contain; font-size:13px; line-height:22px; }
.bb-mega-panel .wpb-content-wrapper>.vc_row { margin-inline:-15px; }
.bb-mega-panel .vc_empty_space { height:12px!important; }
.bb-mega-panel .wpb_content_element { margin-bottom:14px; }
.bb-mega-panel .vc_separator { margin:10px 0 14px; }
.bb-mega-panel h3 { font-size:20px; margin:0 0 10px; }
.bb-mega-panel h5 { font-size:15px!important; line-height:1.3; margin-bottom:16px!important; overflow-wrap:anywhere; }
.bb-mega-panel h5 a { font-size:12px; letter-spacing:.2px; }
.bb-mega-panel p { margin-bottom:20px; }
.bb-mega-panel .wpb_text_column p:last-child { margin-bottom:0; }
.bb-mega-panel--services .vc_col-sm-2>.vc_column-inner { padding:12px 15px 0; transition:background-color 220ms ease; }
.bb-mega-panel--services .vc_col-sm-2:hover>.vc_column-inner,.bb-mega-panel--services .vc_col-sm-2:focus-within>.vc_column-inner { background:#edf2f5; }
.bb-mega-panel--services .vc_col-sm-2 .vc_empty_space { display:none; }
.bb-mega-panel--services { padding-bottom:16px; }
.bb-mega-panel--services .vc_col-sm-2 .wpb_content_element:last-child { margin-bottom:0; }
.bb-mega-panel--services .vc_separator { margin:3px 0 6px; }
.bb-mega-panel--services .vc_single_image-wrapper { overflow:hidden; display:block; }
.bb-mega-panel--services .vc_single_image-wrapper img { width:100%; aspect-ratio:2; object-fit:cover; display:block; transition:transform 180ms ease; }
.bb-mega-panel--services .vc_col-sm-2:hover img { transform:scale(1.035); }
.bb-mega-panel--contact .vc_col-sm-4 { width:25%; }
.bb-mega-panel--contact .vc_col-sm-4:nth-child(2) { width:50%; }
.bb-mega-panel--contact { padding-bottom:20px; }
.bb-mega-panel--contact .vc_col-sm-4:last-child .wpb_text_column { margin-bottom:6px; font-size:18px; color:#202830; }
.bb-mega-panel--contact .w-contact-p>.row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 10px; }
.bb-mega-panel--contact .w-contact-p .col-md-12 { grid-column:1/-1; }
.bb-mega-panel--contact .wpcf7 input:not([type=checkbox]):not([type=radio]),.bb-mega-panel--contact .wpcf7 textarea { width:100%; min-width:0; padding:10px; border:1px solid #ddd; border-radius:0; background:#fff; color:var(--bb-ink); font:13px/17px 'Noto Sans',sans-serif; }
.bb-mega-panel--contact .wpcf7 textarea { height:90px; display:block; }
.bb-mega-panel--contact .wpcf7 input[type=submit] { width:auto!important; background:var(--bb-blue)!important; color:#fff!important; cursor:pointer; padding:8px 15px; font-size:11px; font-weight:700; text-transform:uppercase; border:0; }
.bb-mega-panel--contact .w-contact-p .col-md-12:last-child p { position:relative; text-align:right; }
.bb-mega-panel--contact .wpcf7-spinner { position:absolute; right:0; top:100%; }
.bb-mega-panel--contact .wpcf7-list-item { margin-left:4px; }
.bb-mega-panel--contact .wpcf7 label { display:block; }
.bb-mega-panel--contact .wpcf7 p { margin-bottom:12px; }
.bb-mega-panel--contact .bb-map { min-height:240px; padding:24px; background:#eff2f3; }
.bb-mega-panel--contact .bb-map strong { font-size:20px; font-weight:600; }
@media(min-width:1025px) and (max-width:1240px) {
 .bb-logo { flex-basis:250px; }
 .bb-menu>li>a,.bb-panel-trigger { font-size:12px; padding-inline:10px; }
 .bb-contact { gap:28px; }
 .bb-mega-panel { padding:24px; }
}
@media(max-width:1024px) {
 .bb-topbar { height:auto; padding:10px 16px; font-size:11px; }
 .bb-header { height:auto; background:white; }
 .bb-header-inner { position:relative; top:auto; left:auto; transform:none; width:auto; max-width:none; height:auto; min-height:100px; margin:0 24px; box-shadow:none; }
 .bb-logo { flex-basis:190px; min-height:100px; border:0; padding:12px 18px; }
 .bb-logo img { width:100%; }
 .bb-header-body { padding:0 0 0 24px; }
 .bb-contact { height:auto; min-height:0; }
 .bb-contact>div { display:block; }
 .bb-contact svg { display:none; }
 .bb-nav { padding:12px 24px 24px; left:-24px; right:-24px; top:100%; max-height:calc(100dvh - 140px); }
 .bb-menu { display:block; }
 .bb-menu>li>a,.bb-panel-trigger { min-height:46px; justify-content:flex-start; width:100%; padding:12px 0; font-size:13px; text-align:left; }
 .bb-panel-trigger:after { content:'⌄'; margin-left:auto; padding-right:4px; }
 .bb-panel-trigger[aria-expanded=true] { box-shadow:none; }
 .bb-menu .current-menu-item>a { box-shadow:none; text-decoration:underline; }
 .bb-mega-panel { position:static; width:100%; max-height:none; overflow:visible; box-shadow:none; padding:18px 12px; border:1px solid var(--bb-line); margin-bottom:12px; }
 .bb-mega-panel--services .wpb-content-wrapper>.vc_row { display:flex; flex-wrap:wrap; }
 .bb-mega-panel--services .vc_col-sm-4 { width:100%; }
 .bb-mega-panel--services .vc_col-sm-2 { width:50%; }
 .bb-mega-panel--contact .vc_col-sm-4,.bb-mega-panel--contact .vc_col-sm-4:nth-child(2) { width:100%; }
 .bb-search { margin-top:12px; }
}
@media(max-width:600px) {
 .bb-topbar { font-size:10px; }
 .bb-header-inner { min-height:82px; margin-inline:16px; }
 .bb-logo { flex-basis:145px; min-height:82px; padding:12px; }
 .bb-header-body { padding-left:12px; }
 .bb-nav { left:-16px; right:-16px; }
 .bb-mega-panel { font-size:13px; }
 .bb-mega-panel h5 { font-size:12px!important; overflow-wrap:anywhere; }
 .bb-mega-panel--services .vc_col-sm-2>.vc_column-inner { padding:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .bb-mega-panel--services .vc_col-sm-2>.vc_column-inner,.bb-mega-panel--services img { transition:none; }
 .bb-mega-panel--services .vc_col-sm-2:hover img { transform:none; }
}
