.promo-bar, .promo-bar *,
.ticker, .ticker *,
.masthead, .masthead *,
.footer, .footer * { box-sizing: border-box; }
.promo-bar, .ticker, .masthead, .footer {
font-family: var(--font-sans);
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
} .masthead a, .footer a, .promo-bar a, .ticker a { color: inherit; text-decoration: none; }
.masthead img, .footer img { max-width: 100%; height: auto; display: block; }
.masthead button, .footer button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; padding: 0; }
.masthead .container, .promo-bar .container, .ticker .container, .footer .container {
max-width: 1280px; margin: 0 auto; padding: 0 24px;
} .promo-bar { background: var(--aib-blue-500); color: #fff; font-size: 12.5px; font-weight: 500; }
.promo-inner { padding: 9px 24px; display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; text-align: center; }
.promo-msg { display: inline-flex; align-items: center; gap: 8px; }
.promo-sub { opacity: .92; font-weight: 400; }
.promo-cta { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,0.16); padding: 4px 12px; border-radius: var(--radius-pill); font-weight: 600; border: 1px solid rgba(255,255,255,0.3); }
.promo-cta:hover { background: rgba(255,255,255,0.24); } .ticker { background: var(--aib-navy-950); color: rgba(255,255,255,0.72); border-bottom: 1px solid rgba(255,255,255,0.08); font-family: var(--font-mono); font-size: 11px; font-weight: 500; }
.ticker-inner { padding: 7px 24px; display: flex; align-items: center; gap: 26px; overflow: hidden; white-space: nowrap; }
.ticker-label { color: var(--aib-blue-300); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; font-size: 10px; flex-shrink: 0; }
.quote { display: inline-flex; gap: 7px; align-items: center; flex-shrink: 0; }
.quote .sym { color: #fff; font-weight: 600; letter-spacing: .04em; }
.quote .up { color: #5EEAD4; }
.quote .dn { color: #FCA5A5; } .ticker-marquee { flex: 1 1 auto; overflow: hidden; }
.ticker-track { display: inline-flex; align-items: center; white-space: nowrap; will-change: transform; animation: aibmag-ticker-scroll 45s linear infinite; }
.ticker-track:hover { animation-play-state: paused; }
.ticker-group { display: inline-flex; align-items: center; gap: 26px; padding-right: 26px; flex-shrink: 0; }
@keyframes aibmag-ticker-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ticker-track { animation: none; } } .masthead { background: rgba(255,255,255,0.92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--aib-slate-200); position: sticky; top: 0; z-index: 50; }
.mast-top { display: grid; grid-template-columns: auto 1fr auto; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--aib-slate-200); }
.mast-date { display: flex; gap: 16px; align-items: center; justify-content: center; font-size: 12px; color: var(--aib-slate-500); }
.mast-date .dot { opacity: .5; }
.wordmark { display: inline-flex; align-items: center; justify-content: flex-start; }
.wordmark img { width: 300px; max-width: 56vw; height: auto; }
.mast-actions { display: flex; gap: 12px; align-items: center; justify-content: flex-end; }
.icon-btn { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; color: var(--aib-slate-700); }
.icon-btn:hover { background: var(--aib-slate-100); }
.btn-text { font-size: 13px; font-weight: 500; padding: 8px 12px; color: var(--aib-ink); }
.btn-primary { font-size: 13px; font-weight: 600; padding: 8px 16px; background: var(--aib-blue-500); color: #fff; border-radius: 4px; display: inline-flex; align-items: center; gap: 8px; transition: background 140ms ease; }
.btn-primary:hover { background: var(--aib-blue-600); } .masthead .btn-primary, .masthead .btn-primary:link, .masthead .btn-primary:visited,
.masthead .btn-primary:hover, .masthead .btn-primary:focus, .masthead .btn-primary:active,
.promo-bar .promo-cta, .promo-bar .promo-cta:link, .promo-bar .promo-cta:visited,
.promo-bar .promo-cta:hover, .promo-bar .promo-cta:focus, .promo-bar .promo-cta:active { color: #fff; }
.masthead .btn-text, .masthead .btn-text:hover, .masthead .btn-text:focus { color: var(--aib-ink); }
.masthead .icon-btn, .masthead .icon-btn:hover, .masthead .icon-btn:focus { color: var(--aib-slate-700); }
.masthead .nav-item { color: var(--aib-slate-700); }
.masthead .nav-item:hover, .masthead .nav-item:focus, .masthead .nav-item.is-active { color: var(--aib-ink); } .acct { position: relative; } .masthead .acct-btn { display: inline-flex; align-items: center; gap: 8px; padding: 5px 10px 5px 5px; border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--aib-ink); border: 1px solid var(--aib-slate-200); transition: background 140ms ease, border-color 140ms ease; }
.masthead .acct-btn:hover, .masthead .acct.is-open .acct-btn { background: var(--aib-slate-100); border-color: var(--aib-slate-300); }
.acct-avatar { width: 26px; height: 26px; border-radius: 999px; background: var(--aib-blue-500); color: #fff; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.acct-caret { transition: transform 140ms ease; }
.acct.is-open .acct-caret { transform: rotate(180deg); }
.acct-menu { position: absolute; right: 0; top: calc(100% + 8px); min-width: 190px; background: #fff; border: 1px solid var(--aib-slate-200); border-radius: 8px; box-shadow: 0 12px 28px rgba(15,23,42,.12); padding: 6px; z-index: 60; }
.acct-menu[hidden] { display: none; }
.acct-menu a { display: block; padding: 9px 12px; border-radius: 6px; font-size: 13px; color: var(--aib-ink); }
.acct-menu a:hover, .acct-menu a:focus { background: var(--aib-slate-100); color: var(--aib-ink); }
.acct-menu .acct-signout { color: #B91C1C; border-top: 1px solid var(--aib-slate-200); border-radius: 0 0 6px 6px; margin-top: 4px; padding-top: 11px; }
.acct-menu .acct-signout:hover, .acct-menu .acct-signout:focus { color: #B91C1C; background: #FEF2F2; }
.mast-nav { display: flex; gap: 26px; overflow-x: auto; }
.mast-nav::-webkit-scrollbar { height: 0; }
.nav-item { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; color: var(--aib-slate-700); padding: 14px 0 12px; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color 140ms ease, border-color 140ms ease; }
.nav-item:hover { color: var(--aib-ink); }
.nav-item.is-active { color: var(--aib-ink); border-color: var(--aib-blue-500); } .footer { background: var(--aib-navy-950); color: rgba(255,255,255,0.72); padding: 56px 0 28px; }
.footer .footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 48px; }
.footer .footer-logo { display: inline-block; line-height: 0; }
.footer .footer-logo img { width: 188px; height: auto; filter: brightness(0) invert(1); }
.footer .footer-blurb { font-family: var(--font-serif); font-size: 14px; line-height: 1.6; color: rgba(255,255,255,0.6); margin-top: 12px; max-width: 280px; }
.footer .footer-col-title { font-size: 10px; font-weight: 600; color: var(--aib-blue-300); letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 14px; }
.footer .footer-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 9px; }
.footer .footer-col li { font-size: 13px; color: rgba(255,255,255,0.72); }
.footer .u-link { color: inherit; transition: color 140ms ease; }
.footer .u-link:hover { color: #fff; }
.footer .footer-bottom { border-top: 1px solid rgba(255,255,255,0.12); padding-top: 20px; display: flex; justify-content: space-between; font-size: 11px; color: rgba(255,255,255,0.5); flex-wrap: wrap; gap: 12px; }
.footer .footer-legal { display: flex; gap: 18px; }
.footer .footer-legal a:hover { color: #fff; } @media (max-width: 1024px) {
.footer .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
.mast-top { grid-template-columns: auto 1fr auto; gap: 16px; }
.mast-date { display: none; }
}
@media (max-width: 720px) {
.footer .footer-grid { grid-template-columns: 1fr; }
.mast-top { grid-template-columns: 1fr auto; }
.mast-actions .btn-text { display: none; }
.mast-actions .icon-btn { display: none; }
.mast-actions .acct-name { display: none; }
.masthead .acct-btn { padding: 4px; border-color: transparent; }
.mast-actions .btn-primary { padding: 7px 13px; font-size: 12px; }
.wordmark img { width: 300px; max-width: 64vw; }
.nav-item { font-size: 11px; }
.promo-sub { display: none; }
.ticker-inner { gap: 14px; }
}