/* Novaderma header navigation: loaded on every template, even without Blueprint CPT CSS. */
:root{
 --ink:var(--bb-clinic-ink,#264d8c);
 --ink-2:var(--bb-clinic-ink,#1f427d);
 --ink-soft:var(--bbcf-ink-soft,#687993);
 --paper:var(--bb-clinic-paper,#fbfcff);
 --paper-2:var(--bb-clinic-soft,#f3f7fc);
 --line:var(--bbcf-line,rgba(38,77,140,.14));
 --ease:var(--bbcf-ease,cubic-bezier(.2,.75,.2,1));
}
.site-header{position:fixed;top:0;left:0;width:100%;z-index:1100;background:rgba(251,252,255,.96);backdrop-filter:blur(18px) saturate(130%);border-bottom:1px solid var(--line);transition:background .35s var(--ease),border-color .35s var(--ease)}
.site-header.is-scrolled{background:rgba(251,252,255,.98)}
.site-header .container{width:min(1380px,calc(100% - 64px));margin-inline:auto}
.site-header .utility-bar{border-bottom:1px solid var(--line);font-size:.69rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
.site-header .utility-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-header .utility-inner>div{display:flex;align-items:center;gap:10px}
.site-header .header-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-header .brand{display:inline-flex;align-items:center;min-width:0;gap:12px;position:relative;z-index:3}
.site-header .brand-wordmark{display:block;width:clamp(176px,15vw,214px);max-width:100%;height:auto}
.site-header .main-nav{display:flex;align-items:center;gap:32px;font-size:.86rem}
.site-header .main-nav a{text-decoration:none}
.site-header .main-nav>ul>li>a{font-weight:500}
.site-header .menu-toggle{display:none;align-items:center;gap:10px;border:0;background:none;color:var(--ink);padding:10px 0;position:relative;z-index:3;cursor:pointer}
.site-header .menu-toggle i,.site-header .menu-toggle i::after{display:block;width:20px;height:1px;background:currentColor;content:"";transition:transform .3s var(--ease)}
.site-header .menu-toggle i::after{transform:translateY(6px)}
.site-header .menu-toggle[aria-expanded="true"] i{transform:rotate(45deg)}
.site-header .menu-toggle[aria-expanded="true"] i::after{transform:rotate(-90deg)}
.site-header .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 23px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-weight:600;white-space:nowrap}
@media(max-width:1100px){.site-header .menu-toggle{display:inline-flex!important}.site-header .container{width:min(100% - 40px,1380px)}}

/* v1.8 · Header navigation, dropdowns and mega menu */
.site-header{
  --bbcb-header-bg:rgba(251,252,255,.92);
  --bbcb-header-color:var(--ink-2);
  --bbcb-nav-hover:var(--ink);
  --bbcb-submenu-bg:var(--paper,#fff);
  --bbcb-submenu-color:var(--ink-2);
  --bbcb-submenu-hover-bg:var(--paper-2,#f5f7fb);
  --bbcb-submenu-border:var(--line,rgba(24,35,62,.14));
  overflow:visible;
}
.site-header .header-inner{position:relative;overflow:visible}
.site-header .main-nav{position:static;overflow:visible;color:var(--bbcb-header-color)}
.site-header .main-nav>ul{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}
.site-header .main-nav li{list-style:none;margin:0;padding:0}
.site-header .main-nav>ul>li{position:relative;display:flex;align-items:center;min-height:48px}
.site-header .main-nav>ul>li>a{display:flex;align-items:center;min-height:48px;color:var(--bbcb-header-color);white-space:nowrap}
.site-header .main-nav .current-menu-item>a,
.site-header .main-nav .current-menu-ancestor>a,
.site-header .main-nav a:hover,
.site-header .main-nav a:focus-visible{color:var(--bbcb-nav-hover)}

.site-header .submenu-toggle{
  appearance:none;border:0;background:transparent;color:currentColor;width:30px;height:30px;padding:0;margin-left:3px;
  display:inline-grid;place-items:center;border-radius:999px;cursor:pointer;transition:background .22s var(--ease),transform .22s var(--ease);
}
.site-header .submenu-toggle::before{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .22s var(--ease)}
.site-header .submenu-toggle:hover,.site-header .submenu-toggle:focus-visible{background:color-mix(in srgb,var(--bbcb-header-color) 8%,transparent);outline:none}
.site-header .is-submenu-open>.submenu-toggle::before{transform:translateY(2px) rotate(225deg)}

/* Standard dropdown. */
@media(min-width:1101px){
  .site-header .main-nav .sub-menu{
    position:absolute;top:calc(100% + 14px);left:0;z-index:120;
    min-width:270px;max-width:min(360px,calc(100vw - 48px));
    margin:0;padding:10px;background:var(--bbcb-submenu-bg);color:var(--bbcb-submenu-color);
    border:1px solid var(--bbcb-submenu-border);border-radius:16px;
    box-shadow:0 24px 70px rgba(17,29,52,.14);
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(9px);
    transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;
  }
  .site-header .main-nav .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
  .site-header .main-nav .menu-item-has-children:hover>.sub-menu,
  .site-header .main-nav .menu-item-has-children:focus-within>.sub-menu,
  .site-header .main-nav .menu-item-has-children.is-submenu-open>.sub-menu{
    opacity:1;visibility:visible;pointer-events:auto;transform:none;
  }
  .site-header .main-nav .sub-menu li{position:relative;display:block;width:100%}
  .site-header .main-nav .sub-menu a{
    display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:12px 14px;
    border-radius:10px;color:var(--bbcb-submenu-color);line-height:1.3;text-decoration:none;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);
  }
  .site-header .main-nav .sub-menu a::after{display:none!important}
  .site-header .main-nav .sub-menu a:hover,.site-header .main-nav .sub-menu a:focus-visible{background:var(--bbcb-submenu-hover-bg);color:var(--bbcb-nav-hover);transform:translateX(2px);outline:none}
  .site-header .main-nav .sub-menu .sub-menu{top:-10px;left:calc(100% + 10px)}

  /* Mega menu uses the full header container instead of the width of its parent item. */
  .site-header .main-nav>ul>li.bb-mega-menu{position:static}
  .site-header .main-nav>ul>li.bb-mega-menu>.sub-menu{
    top:calc(100% - 1px);left:0;right:0;width:100%;max-width:none;min-width:0;
    padding:clamp(20px,2.5vw,34px);display:grid;
    grid-template-columns:repeat(var(--bbcb-mega-columns,4),minmax(0,1fr));gap:10px 22px;
    border-radius:0 0 22px 22px;transform:translateY(10px);
  }
  .site-header .main-nav>ul>li.bb-mega-menu:hover>.sub-menu,
  .site-header .main-nav>ul>li.bb-mega-menu:focus-within>.sub-menu,
  .site-header .main-nav>ul>li.bb-mega-menu.is-submenu-open>.sub-menu{transform:none}
  .site-header .main-nav>ul>li.bb-mega-menu>.sub-menu>li{min-width:0}
  .site-header .main-nav>ul>li.bb-mega-menu>.sub-menu>li>a{min-height:52px;padding:13px 15px;border:1px solid transparent}
  .site-header .main-nav>ul>li.bb-mega-menu>.sub-menu>li>a:hover,
  .site-header .main-nav>ul>li.bb-mega-menu>.sub-menu>li>a:focus-visible{border-color:var(--bbcb-submenu-border);transform:none}
  .site-header .main-nav>ul>li.bb-mega-menu>.sub-menu>li.menu-item-has-children>a{font-weight:650;color:var(--bbcb-nav-hover);background:transparent}
  .site-header .main-nav>ul>li.bb-mega-menu>.sub-menu>li>.submenu-toggle{display:none}
  .site-header .main-nav>ul>li.bb-mega-menu>.sub-menu>li>.sub-menu{
    position:static;display:block;min-width:0;max-width:none;margin:2px 0 0;padding:0;border:0;border-radius:0;background:transparent;
    box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;
  }
  .site-header .main-nav>ul>li.bb-mega-menu>.sub-menu>li>.sub-menu::before{display:none}
  .site-header .main-nav>ul>li.bb-mega-menu>.sub-menu>li>.sub-menu a{padding:8px 15px;font-size:.92em;opacity:.82}
  .site-header .main-nav>ul>li.bb-mega-menu>.sub-menu>li>.sub-menu a:hover{opacity:1}
}

/* Mobile/tablet: the whole navigation becomes an accessible accordion. */
@media(max-width:1100px){
  .site-header .main-nav{overflow:auto;overscroll-behavior:contain}
  .site-header .main-nav>ul{width:100%;display:block!important;gap:0!important}
  .site-header .main-nav>ul>li{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;min-height:0;border-bottom:1px solid var(--bbcb-submenu-border)}
  .site-header .main-nav>ul>li>a{min-height:0;padding:12px 0;font-family:"DM Sans",sans-serif;font-size:clamp(1.7rem,5vw,2.75rem);font-weight:500;letter-spacing:-.035em;line-height:1.05;white-space:normal}
  .site-header .main-nav .submenu-toggle{width:44px;height:44px;align-self:center;margin-left:12px}
  .site-header .main-nav .sub-menu,
  .site-header .main-nav>ul>li.bb-mega-menu>.sub-menu{
    position:static!important;grid-column:1/-1;display:block!important;width:100%!important;max-width:none!important;min-width:0!important;
    max-height:0;overflow:hidden;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
    opacity:0;visibility:hidden;pointer-events:none;transform:none!important;transition:max-height .38s var(--ease),opacity .24s var(--ease),visibility .24s;
  }
  .site-header .main-nav .is-submenu-open>.sub-menu{
    max-height:1600px;opacity:1;visibility:visible;pointer-events:auto;padding:0 0 12px 14px!important;
  }
  .site-header .main-nav .sub-menu li{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;border:0}
  .site-header .main-nav .sub-menu a{display:block;padding:9px 0;font-size:1rem;line-height:1.35;color:var(--bbcb-submenu-color)}
  .site-header .main-nav .sub-menu .sub-menu{grid-column:1/-1}
  .site-header .main-nav .sub-menu .is-submenu-open>.sub-menu{padding-left:14px!important}
  .site-header .main-nav .nav-cta{flex:none;margin-top:22px}
}

/* v1.9 · Mega menu density + responsive header hardening */
.site-header{
  --bbcb-header-row-height:84px;
  --bbcb-mobile-header-offset:76px;
  --bbcb-mobile-panel-bg:var(--paper,#fff);
  --bbcb-mega-horizontal-gap:10px;
}
.site-header .header-inner{height:var(--bbcb-header-row-height);}

@media(min-width:1101px){
  /* Long mega menus must remain fully reachable. */
  .site-header .main-nav>ul>li.bb-mega-menu>.sub-menu{
    max-height:min(72vh,680px);
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }

  /* Flat menus with many siblings become a horizontal navigation surface. */
  .site-header .main-nav>ul>li.bb-mega-menu.bb-mega-layout-horizontal>.sub-menu{
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    align-content:flex-start;
    justify-content:flex-start;
    gap:var(--bbcb-mega-horizontal-gap);
    padding:18px clamp(18px,2.2vw,30px);
  }
  .site-header .main-nav>ul>li.bb-mega-menu.bb-mega-layout-horizontal>.sub-menu>li{
    flex:0 1 auto;
    width:auto;
    min-width:min(190px,22vw);
    max-width:280px;
  }
  .site-header .main-nav>ul>li.bb-mega-menu.bb-mega-layout-horizontal>.sub-menu>li>a{
    min-height:48px;
    height:100%;
    padding:11px 16px;
    border:1px solid var(--bbcb-submenu-border);
    border-radius:999px;
    justify-content:center;
    text-align:center;
    white-space:normal;
  }
  .site-header .main-nav>ul>li.bb-mega-menu.bb-mega-layout-horizontal>.sub-menu>li>a:hover,
  .site-header .main-nav>ul>li.bb-mega-menu.bb-mega-layout-horizontal>.sub-menu>li>a:focus-visible{
    background:var(--bbcb-submenu-hover-bg);
    transform:none;
  }
  .site-header .main-nav>ul>li.bb-mega-menu.bb-mega-layout-horizontal>.sub-menu>li>.submenu-toggle{
    display:none;
  }
  .site-header .main-nav>ul>li.bb-mega-menu.bb-mega-layout-horizontal>.sub-menu>li>.sub-menu{
    position:static;
    width:100%;
    margin:8px 0 0;
    padding:0;
    border:0;
    box-shadow:none;
    background:transparent;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  /* Grid mode remains the best choice for category -> child structures. */
  .site-header .main-nav>ul>li.bb-mega-menu.bb-mega-layout-grid>.sub-menu{
    grid-template-columns:repeat(var(--bbcb-mega-columns,4),minmax(0,1fr));
  }
}

/* Mobile/tablet menu: own layout, no inherited desktop positioning. */
@media(max-width:1100px){
  body.menu-open{overflow:hidden;touch-action:none;}

  .site-header{
    min-height:var(--bbcb-mobile-header-offset,76px);
  }
  .site-header .utility-bar{display:none!important;}
  .site-header .header-inner{
    height:var(--bbcb-mobile-header-offset,76px)!important;
    min-height:var(--bbcb-mobile-header-offset,76px);
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:clamp(16px,4vw,28px)!important;
    overflow:visible!important;
  }
  .site-header .brand{
    flex:0 1 auto;
    min-width:0;
    max-width:calc(100% - 64px);
    margin:0!important;
  }
  .site-header .brand-wordmark{
    display:block;
    width:min(190px,56vw)!important;
    max-width:100%!important;
    height:auto!important;
  }
  .site-header .menu-toggle{
    display:inline-flex!important;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-width:48px;
    height:48px;
    margin:0 0 0 auto!important;
    padding:0 12px!important;
    border:1px solid color-mix(in srgb,var(--bbcb-header-color) 15%,transparent);
    border-radius:999px;
    background:color-mix(in srgb,var(--bbcb-header-bg) 92%,transparent);
    backdrop-filter:blur(10px);
  }

  .site-header .main-nav{
    position:fixed!important;
    inset:var(--bbcb-mobile-header-offset,76px) 0 0 0!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    padding:clamp(18px,4vw,30px) max(22px,calc((100vw - min(1380px,calc(100vw - 42px)))/2)) 42px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    background:var(--bbcb-mobile-panel-bg)!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;
  }
  .site-header .main-nav.open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }

  .site-header .main-nav>ul,
  .bb-blueprint-context .site-header .main-nav>ul{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    gap:0!important;
    margin:0!important;
    padding:0!important;
  }
  .site-header .main-nav li,
  .bb-blueprint-context .site-header .main-nav li,
  .bb-blueprint-context .site-header .main-nav li:last-child{
    margin:0!important;
    min-width:0;
  }
  .site-header .main-nav>ul>li{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
    align-items:center!important;
    width:100%!important;
    min-height:0!important;
    border-bottom:1px solid var(--bbcb-submenu-border);
  }
  .site-header .main-nav>ul>li:not(.menu-item-has-children){
    grid-template-columns:minmax(0,1fr)!important;
  }
  .site-header .main-nav>ul>li>a,
  .bb-blueprint-context .site-header .main-nav>ul>li>a{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:15px 0!important;
    margin:0!important;
    font-family:"DM Sans",sans-serif!important;
    font-size:clamp(1.28rem,5vw,2rem)!important;
    font-weight:500!important;
    letter-spacing:-.03em!important;
    line-height:1.12!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
  .site-header .main-nav>ul>li>a::after{display:none!important;}
  .site-header .main-nav .submenu-toggle{
    grid-column:2;
    grid-row:1;
    align-self:center;
    justify-self:end;
    width:44px!important;
    height:44px!important;
    margin:0!important;
  }

  .site-header .main-nav .sub-menu,
  .site-header .main-nav>ul>li.bb-mega-menu>.sub-menu{
    position:static!important;
    grid-column:1/-1!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    max-height:0!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:none!important;
    transition:max-height .38s var(--ease),opacity .22s var(--ease),visibility .22s!important;
  }
  .site-header .main-nav .is-submenu-open>.sub-menu{
    max-height:70vh!important;
    overflow-y:auto!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    padding:2px 0 12px 14px!important;
  }
  .site-header .main-nav .sub-menu li{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    border:0!important;
  }
  .site-header .main-nav .sub-menu li:not(.menu-item-has-children){
    grid-template-columns:minmax(0,1fr)!important;
  }
  .site-header .main-nav .sub-menu a,
  .bb-blueprint-context .site-header .main-nav .sub-menu a{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding:10px 0!important;
    margin:0!important;
    font-family:"DM Sans",sans-serif!important;
    font-size:1rem!important;
    font-weight:500!important;
    letter-spacing:-.012em!important;
    line-height:1.35!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
    color:var(--bbcb-submenu-color)!important;
  }
  .site-header .main-nav .sub-menu a::after{display:none!important;}
  .site-header .main-nav .sub-menu .submenu-toggle{
    grid-column:2;
    grid-row:1;
  }
  .site-header .main-nav .sub-menu .sub-menu{
    grid-column:1/-1!important;
  }
  .site-header .main-nav .sub-menu .is-submenu-open>.sub-menu{
    max-height:55vh!important;
    padding-left:14px!important;
  }

  .site-header .main-nav .nav-cta{
    flex:0 0 auto!important;
    align-self:stretch!important;
    width:100%!important;
    margin:22px 0 0!important;
  }
}

@media(max-width:640px){
  .site-header{--bbcb-mobile-header-offset:72px;}
  .site-header .brand-wordmark{width:min(168px,52vw)!important;}
  .site-header .menu-toggle{
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
    padding:0!important;
  }
  .site-header .menu-toggle span{display:none!important;}
  .site-header .main-nav{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .site-header .main-nav>ul>li>a,
  .bb-blueprint-context .site-header .main-nav>ul>li>a{
    font-size:clamp(1.18rem,6vw,1.72rem)!important;
  }
}

/* v1.9.2 · True fullscreen mobile navigation portal */
@media(max-width:1100px){
  html.bbcb-menu-open,
  html.bbcb-menu-open body{overscroll-behavior:none;}

  .site-header.is-mobile-menu-open{
    z-index:1202!important;
    background:transparent!important;
    border-bottom-color:transparent!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .site-header.is-mobile-menu-open .header-inner{
    position:relative!important;
    z-index:1203!important;
  }
  .site-header.is-mobile-menu-open .brand,
  .site-header.is-mobile-menu-open .menu-toggle{
    position:relative;
    z-index:1204!important;
  }

  .main-nav.bbcb-mobile-nav-portal{
    --bbcb-mobile-panel-bg:var(--paper,#fff);
    --bbcb-mobile-link-color:var(--bbcb-header-color,var(--ink-2));
    --bbcb-mobile-link-size:clamp(2rem,8vw,4rem);
    --bbcb-mobile-symbol-opacity:.055;
    position:fixed!important;
    inset:0!important;
    z-index:1200!important;
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100vh!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:calc(var(--bbcb-mobile-header-offset,76px) + clamp(22px,5vh,54px)) clamp(22px,5vw,54px) max(34px,env(safe-area-inset-bottom))!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch;
    background:var(--bbcb-mobile-panel-bg)!important;
    color:var(--bbcb-mobile-link-color)!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    clip-path:circle(0 at calc(100% - 36px) 38px);
    transform:none!important;
    transition:clip-path .58s cubic-bezier(.16,1,.3,1),opacity .24s ease,visibility .24s!important;
    isolation:isolate;
  }
  .main-nav.bbcb-mobile-nav-portal::before{
    content:"";
    position:fixed;
    right:clamp(-120px,-8vw,-36px);
    bottom:clamp(-110px,-7vw,-42px);
    width:min(66vw,520px);
    aspect-ratio:1;
    z-index:-1;
    pointer-events:none;
    background-image:var(--bb-clinic-symbol-image,radial-gradient(circle at center,color-mix(in srgb,var(--bb-clinic-primary,#4484e0) 12%,transparent) 0 34%,transparent 35%));
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    opacity:var(--bbcb-mobile-symbol-opacity,.055);
    transform:rotate(-9deg);
  }
  .main-nav.bbcb-mobile-nav-portal.open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    clip-path:circle(160vmax at calc(100% - 36px) 38px);
  }

  .main-nav.bbcb-mobile-nav-portal>ul{
    position:relative;
    z-index:1;
    flex:0 0 auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:min(100%,980px)!important;
    margin:0 auto!important;
    padding:0!important;
    gap:0!important;
    list-style:none!important;
  }
  .main-nav.bbcb-mobile-nav-portal>ul>li{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 54px!important;
    align-items:center!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border-bottom:1px solid var(--bbcb-submenu-border,rgba(24,35,62,.14));
    opacity:0;
    transform:translateY(24px);
    transition:opacity .42s var(--ease),transform .52s cubic-bezier(.16,1,.3,1);
  }
  .main-nav.bbcb-mobile-nav-portal.open>ul>li{opacity:1;transform:none;}
  .main-nav.bbcb-mobile-nav-portal.open>ul>li:nth-child(1){transition-delay:.08s}
  .main-nav.bbcb-mobile-nav-portal.open>ul>li:nth-child(2){transition-delay:.11s}
  .main-nav.bbcb-mobile-nav-portal.open>ul>li:nth-child(3){transition-delay:.14s}
  .main-nav.bbcb-mobile-nav-portal.open>ul>li:nth-child(4){transition-delay:.17s}
  .main-nav.bbcb-mobile-nav-portal.open>ul>li:nth-child(5){transition-delay:.20s}
  .main-nav.bbcb-mobile-nav-portal.open>ul>li:nth-child(6){transition-delay:.23s}
  .main-nav.bbcb-mobile-nav-portal.open>ul>li:nth-child(7){transition-delay:.26s}
  .main-nav.bbcb-mobile-nav-portal.open>ul>li:nth-child(n+8){transition-delay:.29s}
  .main-nav.bbcb-mobile-nav-portal>ul>li:not(.menu-item-has-children){grid-template-columns:minmax(0,1fr)!important;}

  .main-nav.bbcb-mobile-nav-portal>ul>li>a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:clamp(66px,9vh,96px)!important;
    padding:clamp(12px,2vh,20px) 0!important;
    margin:0!important;
    color:var(--bbcb-mobile-link-color)!important;
    font-family:"DM Sans",sans-serif!important;
    font-size:var(--bbcb-mobile-link-size)!important;
    font-weight:500!important;
    letter-spacing:-.045em!important;
    line-height:.98!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
  .main-nav.bbcb-mobile-nav-portal>ul>li>a::after{display:none!important;}

  .main-nav.bbcb-mobile-nav-portal .submenu-toggle{
    appearance:none;
    grid-column:2;
    grid-row:1;
    align-self:center;
    justify-self:end;
    width:48px!important;
    height:48px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--bbcb-mobile-link-color) 16%,transparent)!important;
    border-radius:999px!important;
    background:transparent!important;
    color:var(--bbcb-mobile-link-color)!important;
    cursor:pointer;
    transition:background .22s var(--ease),transform .22s var(--ease),border-color .22s var(--ease);
  }
  .main-nav.bbcb-mobile-nav-portal .submenu-toggle::before{
    content:"";
    width:9px;
    height:9px;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:translateY(-2px) rotate(45deg);
    transition:transform .28s var(--ease);
  }
  .main-nav.bbcb-mobile-nav-portal .submenu-toggle:hover,
  .main-nav.bbcb-mobile-nav-portal .submenu-toggle:focus-visible{
    background:color-mix(in srgb,var(--bbcb-mobile-link-color) 8%,transparent)!important;
    outline:none;
  }
  .main-nav.bbcb-mobile-nav-portal .is-submenu-open>.submenu-toggle::before{transform:translateY(2px) rotate(225deg);}

  .main-nav.bbcb-mobile-nav-portal .sub-menu,
  .main-nav.bbcb-mobile-nav-portal>ul>li.bb-mega-menu>.sub-menu{
    position:static!important;
    grid-column:1/-1!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    max-height:0!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:none!important;
    transition:max-height .46s cubic-bezier(.16,1,.3,1),opacity .24s ease,visibility .24s!important;
  }
  .main-nav.bbcb-mobile-nav-portal .is-submenu-open>.sub-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    padding:2px 0 18px clamp(14px,4vw,30px)!important;
  }
  .main-nav.bbcb-mobile-nav-portal .sub-menu li{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 46px!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  .main-nav.bbcb-mobile-nav-portal .sub-menu li:not(.menu-item-has-children){grid-template-columns:minmax(0,1fr)!important;}
  .main-nav.bbcb-mobile-nav-portal .sub-menu a{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding:11px 0!important;
    margin:0!important;
    color:var(--bbcb-submenu-color,var(--bbcb-mobile-link-color))!important;
    font-family:"DM Sans",sans-serif!important;
    font-size:clamp(1rem,3.7vw,1.28rem)!important;
    font-weight:500!important;
    letter-spacing:-.015em!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
  .main-nav.bbcb-mobile-nav-portal .sub-menu a::after{display:none!important;}
  .main-nav.bbcb-mobile-nav-portal .sub-menu .submenu-toggle{width:42px!important;height:42px!important;}
  .main-nav.bbcb-mobile-nav-portal .sub-menu .sub-menu{grid-column:1/-1!important;}

  .main-nav.bbcb-mobile-nav-portal .nav-cta{
    position:relative;
    z-index:1;
    flex:0 0 auto!important;
    align-self:center!important;
    width:min(100%,980px)!important;
    min-height:58px!important;
    margin:clamp(26px,5vh,54px) auto 0!important;
    border-radius:999px!important;
  }
}

@media(max-width:640px){
  .main-nav.bbcb-mobile-nav-portal{
    --bbcb-mobile-link-size:clamp(1.75rem,9.5vw,2.7rem);
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .main-nav.bbcb-mobile-nav-portal>ul>li{
    grid-template-columns:minmax(0,1fr) 48px!important;
  }
  .main-nav.bbcb-mobile-nav-portal>ul>li>a{min-height:62px!important;}
  .main-nav.bbcb-mobile-nav-portal .submenu-toggle{width:44px!important;height:44px!important;}
  .main-nav.bbcb-mobile-nav-portal::before{width:min(88vw,460px);right:-22vw;bottom:-12vw;}
}

/* v1.9.3 · Mobile submenu visibility hardening.
   The submenu container owns collapse/expand; descendants are always renderable
   so desktop/Elementor opacity rules cannot make opened items invisible. */
@media(max-width:1100px){
  .main-nav.bbcb-mobile-nav-portal .sub-menu > li{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    filter:none!important;
    mix-blend-mode:normal!important;
  }
  .main-nav.bbcb-mobile-nav-portal .sub-menu > li > a{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    filter:none!important;
    mix-blend-mode:normal!important;
    color:var(--bbcb-submenu-color,var(--bbcb-mobile-link-color,#17233d))!important;
    -webkit-text-fill-color:currentColor!important;
  }
  .main-nav.bbcb-mobile-nav-portal .menu-item-has-children.is-submenu-open > .sub-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    z-index:2!important;
  }
  .main-nav.bbcb-mobile-nav-portal .menu-item-has-children.is-submenu-open > .sub-menu > li{
    position:relative!important;
    z-index:3!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .main-nav.bbcb-mobile-nav-portal,
  .main-nav.bbcb-mobile-nav-portal>ul>li,
  .main-nav.bbcb-mobile-nav-portal .sub-menu{transition:none!important;}
}


/* Keep the previous blog/legal layout: the theme's non-Blueprint header was
   in document flow, whereas the Elementor header and CPT headers are fixed. */
body:not(.bb-blueprint-context) .bbcf-header.site-header{position:relative;top:auto;left:auto}

/* 1.11.19 - a single accessible dropdown per menu level. The menu JS owns
   visibility when ready, never simultaneous CSS :focus-within and :hover panels. */
@media (min-width:1101px){
  .site-header{z-index:1200!important;overflow:visible!important}
  .site-header .header-inner,.site-header .main-nav,.site-header .main-nav>ul{overflow:visible!important}
  .elementor-location-header{position:relative;z-index:1199;overflow:visible!important}
  .elementor-location-header :is(.elementor-widget,.elementor-widget-container,.elementor-widget-wrap,.elementor-container,.elementor-section,.e-con):has(.site-header){overflow:visible!important}
  .site-header .main-nav>ul>li{position:relative}
  .site-header .main-nav>ul>li.bb-mega-menu{position:static!important}
  .site-header .main-nav .menu-item-has-children::after{content:none!important;pointer-events:none!important}
  .site-header .main-nav .sub-menu{top:calc(100% + 16px)!important;left:0;z-index:1210!important;padding:10px!important;will-change:opacity}
  .site-header .main-nav>ul>li:not(.bb-mega-menu)>.sub-menu::before{
    content:""!important;display:block!important;position:absolute;top:-17px;left:0;right:0;height:17px;pointer-events:auto;
  }
  .site-header .main-nav>ul>li.bb-mega-menu>.sub-menu{
    top:calc(100% - 1px)!important;left:0!important;right:0!important;
    z-index:1210!important;padding:clamp(20px,2.5vw,34px)!important;
  }
  .site-header .main-nav .sub-menu .sub-menu{top:-10px!important;left:100%!important;right:auto!important;margin:0!important;z-index:1220!important}
  .site-header .main-nav .sub-menu li.bbcb-opens-left>.sub-menu{left:auto!important;right:100%!important}
  .site-header .main-nav>ul>li.bbcb-align-end:not(.bb-mega-menu)>.sub-menu{left:auto!important;right:0!important}
  .site-header .main-nav .menu-item-has-children.is-submenu-open{z-index:1250}
  .site-header .main-nav[data-bbcb-nav-ready="1"] .menu-item-has-children:not(.is-submenu-open)>.sub-menu{
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(7px)!important;transition:none!important;
  }
  .site-header .main-nav[data-bbcb-nav-ready="1"] .menu-item-has-children.is-submenu-open>.sub-menu{
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;
    transition:opacity .16s var(--ease),transform .16s var(--ease),visibility 0s!important;
  }
  /* Mega-menu nested columns are not flyouts: they remain visible only while
     their parent mega-menu is open. */
  .site-header .main-nav[data-bbcb-nav-ready="1"]>ul>li.bb-mega-menu.is-submenu-open>.sub-menu>li>.sub-menu{
    position:static!important;display:block!important;opacity:1!important;visibility:visible!important;
    pointer-events:auto!important;transform:none!important;padding:0!important;border:0!important;
    box-shadow:none!important;max-height:none!important;overflow:visible!important;
  }
  .site-header .main-nav>ul>li.bb-dropdown-menu:not(:has(.menu-item-has-children))>.sub-menu{
    max-height:min(75vh,640px);overflow-y:auto;overscroll-behavior:contain;
  }
}
/* On touch-sized navigation the original fullscreen accordion wins over
   desktop dropdown rules; only one sibling accordion is expanded at a time. */
@media (max-width:1100px){
  .site-header{z-index:1202!important}
  .site-header .main-nav:not(.bbcb-mobile-nav-portal){pointer-events:none}
  .site-header .main-nav.bbcb-mobile-nav-portal{pointer-events:none}
  .site-header .main-nav.bbcb-mobile-nav-portal.open{pointer-events:auto}
}
