/* BBA design system. Shared chrome is deliberately independent of page tokens. */
:root{--bba-ink:#152b35;--bba-navy:#152b35;--bba-teal:#0e6c78;--bba-paper:#f7f8f5;--bba-surface:#fff;--bba-hair:#dce3dd;--bba-ring:rgba(14,108,120,.75);--bba-sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--bba-serif:'STIX Two Text',Georgia,serif;--bba-mono:'IBM Plex Mono',Consolas,monospace;--bba-radius:12px;--bba-control-radius:8px}
html{accent-color:#0e6c78;scroll-padding-top:92px}
body :where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #0e6c78;outline-offset:4px}
body .bba-header,body .site-header{height:80px;background:rgba(251,252,249,.97)!important;border-bottom:1px solid #dce3dd!important;box-shadow:none!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
body .bba-header.bba-scrolled,body .site-header.is-scrolled{background:rgba(251,252,249,.96)!important;box-shadow:0 6px 20px -16px rgba(21,43,53,.3)!important}
body .bba-header .bba-header-inner,body .site-header .header-inner{max-width:1240px;min-height:80px!important;height:80px!important;box-sizing:border-box;padding:0 clamp(20px,4vw,40px);gap:28px}
body .bba-logo img,body .site-header .logo img{width:100px!important;height:auto;mix-blend-mode:multiply}
body .bba-nav,body .site-header .header-nav{gap:24px}
body .bba-nav>a,body .bba-more>summary,body .bba-header .bba-account,body .site-header .header-nav>li>a,body .site-header .header-more>summary{font-family:var(--bba-sans)!important;font-size:13px!important;font-weight:500!important;color:#344d56!important;letter-spacing:0!important;text-transform:none!important}
body .bba-nav>a:hover,body .bba-more>summary:hover,body .site-header .header-nav>li>a:hover{color:#0e6c78!important}
body .bba-nav>a::after,body .site-header .header-nav a::after{background:#0e6c78!important;height:1px}
body .bba-cart,body .site-header .cart-btn-labeled{border-radius:8px!important;background:#152b35!important;border:1px solid #152b35!important;min-height:44px;color:#fff!important;box-shadow:none!important;transition:background .18s ease}
body .bba-cart:hover,body .site-header .cart-btn-labeled:hover{background:#244550!important}
body .bba-header .bba-cart>span:not(.bba-cart-badge),body .site-header .cart-btn-labeled .cart-btn-text{font:500 13px var(--bba-sans)!important;letter-spacing:0!important;text-transform:none!important;color:#fff!important}
body .bba-more-menu,body .header-more-menu{padding:8px;border:1px solid #d5dfd8;border-radius:12px;background:#fbfcf9;box-shadow:0 18px 40px -20px rgba(21,43,53,.3)}
body .bba-more-menu a,body .header-more-menu a{font:400 14px/1.5 var(--bba-sans)!important;color:#344d56!important;border-radius:6px;min-height:44px}
body .bba-more-menu a:hover,body .header-more-menu a:hover{background:#edf2ed;color:#0e6c78!important}
body .bba-drawer,body .mobile-nav-drawer{top:80px;background:#fbfcf9!important;border-color:#dce3dd;max-height:calc(100dvh - 80px);padding:10px 0 14px;box-shadow:0 20px 30px -26px #152b35}
body .bba-drawer a,body .mobile-nav-drawer a{font:400 16px/1.5 var(--bba-sans)!important;color:#29444c!important;min-height:48px;border-color:#e4e9e3!important;padding:13px 24px!important;letter-spacing:0!important;text-transform:none!important}
body .bba-drawer a:hover,body .mobile-nav-drawer a:hover{background:#edf2ed!important;color:#0e6c78!important}
/* Menu height follows the visible viewport, including the announcement bar. */
html.bba-menu-open{overflow:hidden!important}
body .bba-burger,body .hamburger-btn{background:transparent!important;color:#152b35!important;border:0!important;box-shadow:none!important}
body .bba-burger:hover,body .hamburger-btn:hover{background:#edf2ed!important;color:#0e6c78!important}
body .bba-burger:focus-visible,body .hamburger-btn:focus-visible{background:#edf2ed!important;outline:2px solid #0e6c78!important;outline-offset:2px}
body .bba-drawer,body .mobile-nav-drawer{max-height:var(--bba-menu-height,calc(100dvh - 84px))!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-sizing:border-box}
/* A consistent close to every journey. */
body .bba-foot,body .site-footer{background:#152b35!important;background-image:none!important;border-top:1px solid #334951!important;color:#c2cfcf!important}
body .bba-foot{margin-top:64px}
body .bba-foot .bba-foot-inner,body .site-footer .footer-inner{max-width:1240px;box-sizing:border-box;padding-left:clamp(20px,4vw,40px)!important;padding-right:clamp(20px,4vw,40px)!important}
body .bba-foot .bba-foot-inner{padding-top:52px;padding-bottom:28px}
body .site-footer{padding-top:52px!important;padding-bottom:28px!important}
body .bba-foot .bba-foot-cols{grid-template-columns:1.35fr repeat(3,minmax(0,1fr));gap:42px}
body .bba-foot-kicker{margin:0 0 12px;color:#a1b6b9;font:400 9px/1.6 var(--bba-mono);letter-spacing:.1em}
body .bba-foot-wordmark{display:block;color:#f5f7f3;font:400 34px/1.1 var(--bba-serif);letter-spacing:-.025em;text-decoration:none}
body .bba-foot-brand>p:not(.bba-foot-kicker){max-width:26ch;margin:15px 0 18px;color:#afc1c4;font:400 14px/1.65 var(--bba-sans)}
body .bba-foot-explore{display:inline-flex;gap:18px;align-items:center;min-height:38px;color:#eef4ef;font:500 12px/1.5 var(--bba-sans);text-decoration:underline;text-underline-offset:5px;text-decoration-color:#819797}
body .bba-foot .bba-foot-col-label,body .site-footer .footer-nav-label{margin:0 0 15px;color:#eff4ef!important;font:500 12px/1.5 var(--bba-sans)!important;letter-spacing:.015em!important;text-transform:none!important}
body .bba-foot .bba-foot-list a,body .site-footer .footer-nav-list a{color:#b9cbcd!important;font:400 13px/1.55 var(--bba-sans);min-height:30px;text-underline-offset:4px}
body .bba-foot .bba-foot-list a:hover,body .site-footer .footer-nav-list a:hover{color:#fff!important}
body .bba-foot .bba-foot-ruo,body .site-footer .footer-compliance{font:400 11px/1.75 var(--bba-sans)!important;color:#9fb4b8!important;border-color:#3a5158!important;max-width:95ch}
body .bba-foot .bba-foot-copy,body .bba-foot .bba-foot-credit,body .site-footer .footer-credit{font:400 11px/1.6 var(--bba-sans)!important;color:#9fb4b8!important}
/* The finder and calculator share the order desk's surface and controls. */
body .cf-modal,body .rc-modal{background:#fbfcf9!important;border-color:#dce3dd!important;border-radius:16px!important;box-shadow:0 28px 90px -24px rgba(21,43,53,.3)!important}
body .cf-tile,body .cf-chip,body .cf-opt{border-radius:8px;background:#fff;border-color:#d2ddd8;color:#29444c}
body .cf-btn,body .cf-result-add{border-radius:8px}
body .rc-unit-btn.active{background:#0e6c78;color:#fff}
/* Carry the same language into research guides and lab tools. */
body.bba-editorial{--navy:#152b35;--navy2:#152b35;--paper:#f7f8f5;--paper2:#f0f4ee;--ink:#152b35;--ink-soft:#586e75;--teal:#0e6c78;--teal-d:#0e6c78;--line:#dce3dd;background:#f7f8f5;background-image:none;color:#152b35}
body.bba-editorial h1{font-size:clamp(32px,4.5vw,48px);font-weight:500;letter-spacing:-.035em;line-height:1.08}
body.bba-editorial .eyebrow,body.bba-editorial .crumb{font-size:10px;letter-spacing:.08em}
body.bba-editorial .standfirst,body.bba-editorial .sub{font-size:17px;line-height:1.7;color:#586e75}
body.bba-editorial .post-card,body.bba-editorial .more-card{border-radius:12px;border-color:#dce3dd;box-shadow:none;transition:border-color .18s,box-shadow .18s}
body.bba-editorial .post-card:hover,body.bba-editorial .more-card:hover{transform:none;border-color:#a3bbb4;box-shadow:0 8px 24px -18px rgba(21,43,53,.28)}
body.bba-editorial .post-card .k{font-size:9px;letter-spacing:.07em;color:#647b73}
body.bba-editorial .post-card h3{font-size:23px;font-weight:500;letter-spacing:-.02em}
body.bba-editorial .post-card .rd{font:500 12px/1.5 var(--bba-sans);margin-top:22px}
body.bba-editorial #main-content:has(.idx-grid){max-width:1240px;padding-left:clamp(20px,4vw,40px);padding-right:clamp(20px,4vw,40px)}
body.bba-editorial .idx-hero{padding:44px 0 32px;max-width:820px}
body.bba-editorial .idx-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
body.bba-editorial .idx-grid .post-card{grid-column:span 2;padding:26px}
body.bba-editorial .idx-grid .post-card:nth-child(-n+2){grid-column:span 3;background:#eef3ed;border-color:#c5d4c8!important}
body.bba-editorial .idx-grid .post-card:nth-child(-n+2) h3{font-size:28px;max-width:30ch}
@media(max-width:1000px){body.bba-editorial .idx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.bba-editorial .idx-grid .post-card,body.bba-editorial .idx-grid .post-card:nth-child(-n+2){grid-column:auto}}
@media(max-width:600px){body.bba-editorial .idx-grid{grid-template-columns:minmax(0,1fr);gap:14px}body.bba-editorial .idx-hero{padding:30px 0 22px}body.bba-editorial .idx-grid .post-card{padding:22px}body.bba-editorial .idx-grid .post-card:nth-child(-n+2) h3{font-size:25px}}
body.bba-editorial .calc,body.bba-editorial .takeaways,body.bba-editorial .cta{border-radius:12px}
body.bba-editorial .calc input{border-radius:8px;background:#fbfcf9;border-color:#d2ddd8;min-height:48px}
body.bba-editorial .calc label,body.bba-editorial .result-card .rl{font-family:var(--bba-sans);font-size:12px;text-transform:none;letter-spacing:0;font-weight:500}
body.bba-editorial .chip{min-height:40px;border-radius:8px;font:400 13px/1.5 var(--bba-sans);border-color:#d2ddd8;background:#fff}
body.bba-editorial .result-card{border-radius:8px;background:#f0f4ee;border-color:#dce3dd}
body.bba-editorial .btn,body.bba-editorial .cta a{background:#0e6c78;color:#fff;border-radius:8px;font-weight:500;min-height:44px}
body.bba-editorial .btn:hover,body.bba-editorial .cta a:hover{background:#095966;color:#fff}
/* Support chat belongs to the same interface; state and safe-area rules stay local. */
body .bbach-launch{background:#fbfcf9;border-color:#d1ddd6;border-radius:12px;box-shadow:0 8px 28px -12px rgba(21,43,53,.28);color:#152b35;font-weight:500}
body .bbach-launch:hover{transform:none;box-shadow:0 10px 30px -12px rgba(21,43,53,.34)}
body .bbach-panel{background:#f7f8f5;border-color:#d1ddd6;border-radius:16px;box-shadow:0 24px 70px -20px rgba(21,43,53,.3)}
body .bbach-head{background:#fbfcf9;border-color:#dce3dd;padding:16px}
body .bbach-name{color:#152b35;font-weight:500;font-size:15px}
body .bbach-sub{font-family:var(--bba-sans);font-size:11px;letter-spacing:0;color:#647b7e}
body .bbach-ai{border-radius:5px;background:#e5eee8;color:#315f60;font-size:9px;font-weight:500;letter-spacing:.05em}
body .bbach-log{padding:16px}
body .bbach-row.mia .bbach-b{border-color:#dce3dd;color:#29444c;border-radius:12px 12px 12px 4px}
body .bbach-row.me .bbach-b{background:#0e6c78;border-radius:12px 12px 4px 12px}
body .bbach-chips button,body .bbach-prof-tg{border-radius:8px;border-color:#cbdad1;font-weight:500;color:#0e6c78}
body .bbach-foot{padding:12px;background:#fbfcf9;border-color:#dce3dd}
body .bbach-in,body .bbach-gateform input{border-radius:8px;background:#fff;border-color:#cbdad1;color:#29444c}
body .bbach-send{border-radius:8px;background:#0e6c78}
body .bbach-send:disabled{background:#d4ddd7}
body .bbach-x{width:40px;height:40px}
@media(max-width:640px){body .bbach-panel{border-radius:16px 16px 0 0}body .bbach-launch{border-radius:50%}}
@media(min-width:1101px){body .bba-header .bba-nav{display:flex}body .bba-header .bba-burger{display:none}}
@media(max-width:1100px){body .bba-header .bba-header-inner,body .site-header .header-inner{gap:18px}body .bba-header .bba-nav{display:none}body .bba-header .bba-burger{display:flex}body .bba-foot .bba-foot-cols{gap:28px;grid-template-columns:1.2fr repeat(3,minmax(0,1fr))}}
@media(max-width:900px){body .bba-header,body .site-header{height:72px}body .bba-header .bba-header-inner,body .site-header .header-inner{height:72px!important;min-height:72px!important;gap:12px}body .bba-drawer,body .mobile-nav-drawer{top:72px;max-height:calc(100dvh - 72px)}body .bba-foot .bba-foot-cols{grid-template-columns:repeat(3,minmax(0,1fr))}body .bba-foot-brand{grid-column:1/-1;max-width:500px}body .bba-foot-brand>p:not(.bba-foot-kicker){max-width:none}}
@media(max-width:760px){html{scrollbar-gutter:auto}body .bba-cart{background:transparent!important;color:#152b35!important;border:0!important;min-height:44px}body .bba-cart>svg{width:22px;height:22px}body .bba-foot{margin-top:40px}body .bba-foot .bba-foot-inner{padding-top:36px}body .site-footer{padding-top:36px!important}body .bba-foot .bba-foot-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}body .bba-foot .bba-foot-list a,body .site-footer .footer-nav-list a{min-height:44px}body .bba-foot .bba-foot-ruo{margin-top:26px}}
@media(prefers-reduced-motion:reduce){body .bba-header,body .site-header,body .bba-cart,body .site-header .cart-btn-labeled{transition:none!important}}
@media print{body .bba-header,body .site-header,body .bba-foot-brand{display:none!important}body .bba-foot,body .site-footer{background:#fff!important;color:#000!important}body .bba-foot .bba-foot-ruo,body .bba-foot .bba-foot-copy{color:#000!important}}
