/* =============================================================================
   bbe-site.css — the website's header and footer, one definition (18 Oct 2026).

   Every public page (home, method steps, insights, about, partners, help,
   legal pages) loads this file last and carries the same <nav class="bbe-nav">
   and <footer class="bbe-foot"> markup, written by tools/site_chrome.py.
   To change the header or footer: edit tools/site_chrome.py and this file,
   run the tool, commit. For a white-label site, change the logo, name and
   colours here and in the tool — nothing else.
============================================================================= */
nav.bbe-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  padding:0 2rem;height:80px;gap:1.5rem;background:#1a2e4a;border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:none;
  font-family:'Inter',system-ui,sans-serif;box-sizing:border-box;margin:0}
nav.bbe-nav *{box-sizing:border-box}
nav.bbe-nav .nav-logo{display:flex;align-items:center;gap:.85rem;text-decoration:none}
nav.bbe-nav .nav-logo img{height:58px;width:auto;display:block;background:#fff;border-radius:8px;padding:5px 7px}
nav.bbe-nav .nav-wordmark{font-family:'BBE Wordmark','Century Gothic','DM Sans',sans-serif;font-size:1.15rem;font-weight:400;color:#fff;line-height:1.1;white-space:nowrap;display:block;letter-spacing:.005em}
nav.bbe-nav .nav-links{display:flex;align-items:center;gap:1.05rem;list-style:none;margin:0;padding:0}
nav.bbe-nav .nav-links li{margin:0;padding:0;list-style:none}
nav.bbe-nav .nav-links a{color:rgba(255,255,255,.72);text-decoration:none;font-size:.875rem;font-weight:500;transition:color .15s;background:none}
nav.bbe-nav .nav-links a:hover,nav.bbe-nav .nav-links a[aria-current="page"]{color:#fff}
nav.bbe-nav .nav-links a.nav-pill{padding:.3rem .9rem;border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:.02em}
nav.bbe-nav .nav-links a.nav-pill.strategy{background:#EEF2FF;color:#2B4BA0}
nav.bbe-nav .nav-links a.nav-pill.people{background:#F5F0F9;color:#6B2D8B}
nav.bbe-nav .nav-links a.nav-login{font-size:.85rem;font-weight:600;padding:.5rem .9rem;border-radius:6px}
nav.bbe-nav .nav-links a.nav-cta{background:#C9A84C;color:#0D1F3C;padding:.45rem 1.1rem;border-radius:6px;font-size:.82rem;font-weight:700}
nav.bbe-nav .nav-links a.nav-cta:hover{background:#DDBF6A;color:#0D1F3C}
nav.bbe-nav li.has-drop{position:relative}
nav.bbe-nav li.has-drop>a.nav-pill:after{content:"";display:inline-block;margin-left:.4em;border:4px solid transparent;border-top-color:currentColor;border-bottom:0;vertical-align:.15em}
nav.bbe-nav .nav-drop{position:absolute;top:100%;left:50%;transform:translate(-50%,6px);min-width:290px;background:#fff;border-radius:12px;box-shadow:0 14px 40px rgba(10,20,50,.28);padding:.5rem;list-style:none;margin:0;opacity:0;visibility:hidden;transition:opacity .15s,transform .15s;z-index:1000}
nav.bbe-nav .nav-drop:before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
nav.bbe-nav li.has-drop:hover .nav-drop,nav.bbe-nav li.has-drop:focus-within .nav-drop,nav.bbe-nav li.has-drop.open .nav-drop{opacity:1;visibility:visible;transform:translate(-50%,10px)}
nav.bbe-nav .nav-links .nav-drop a{display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem;border-radius:8px;color:#1B2A4A;font-size:.9rem;font-weight:500;white-space:nowrap}
nav.bbe-nav .nav-links .nav-drop a:hover,nav.bbe-nav .nav-links .nav-drop a:focus{background:#F1F3F8;color:#1B2A4A}
nav.bbe-nav .nav-drop .dn{flex:none;width:24px;height:24px;border-radius:50%;color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center}
nav.bbe-nav .nav-drop .dn.st{width:auto;padding:0 7px;border-radius:12px;font-size:.62rem}
nav.bbe-nav .nav-drop .dsep{height:1px;background:#E4E7EE;margin:.35rem .4rem}
nav.bbe-nav .nav-links .nav-drop a.dall{color:#5B3C8C;font-weight:600;font-size:.84rem}
/* Pages whose own layout does not already leave room for the fixed header. */
body.bbe-site-pad{padding-top:80px}
@media(max-width:900px){
  nav.bbe-nav{padding:0 1.25rem}
  nav.bbe-nav .nav-links{gap:.5rem}
  nav.bbe-nav .nav-links li:not(.nav-keep){display:none}
  nav.bbe-nav .nav-links a.nav-login{padding:.45rem .6rem}
}
@media(max-width:1180px){nav.bbe-nav .nav-wordmark{display:none}}
@media(max-width:700px){nav.bbe-nav .nav-logo img{height:46px}nav.bbe-nav .nav-wordmark{font-size:.95rem}}
@media(max-width:520px){nav.bbe-nav .nav-wordmark{display:none}}

footer.bbe-foot{background:#1A1F2E;padding:2.5rem;text-align:center;font-family:'Inter',system-ui,sans-serif;margin:0}
footer.bbe-foot .footer-brand{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;margin-bottom:.4rem}
footer.bbe-foot .footer-brand-img{height:52px;width:auto;display:block;background:#fff;border-radius:8px;padding:5px 7px;box-sizing:border-box}
footer.bbe-foot .footer-wordmark{font-family:'BBE Wordmark','Century Gothic','DM Sans',sans-serif;font-size:1.1rem;color:#fff;white-space:nowrap}
footer.bbe-foot .footer-links{display:flex;justify-content:center;gap:1.5rem;list-style:none;margin:.85rem 0 0;padding:0;flex-wrap:wrap}
footer.bbe-foot .footer-links li{list-style:none;margin:0}
footer.bbe-foot .footer-links a{font-size:.78rem;color:rgba(255,255,255,.55);text-decoration:none}
footer.bbe-foot .footer-links a:hover{color:#7FD8E3}
footer.bbe-foot p{font-size:.72rem;color:rgba(255,255,255,.4);margin:1rem 0 0;line-height:1.6}
@media(max-width:700px){footer.bbe-foot{padding:2rem 1rem}footer.bbe-foot .footer-links{gap:.9rem 1.1rem}}
