.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; } .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); }
.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 .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; }
}