:root { --c-navy:        #0B2B6B; --c-navy-deep:   #061F4F; --c-blue:        #1F5BE0; --c-blue-light:  #4F8BFF;
--c-gold:        #F5C21A; --c-gold-hover:  #FFD23F;
--c-on-dark:     #B9C6E4; --c-on-dark-2:   #DCE4F5; --c-rule-dark:   #1C3B7A; --c-rule:        #C9D3EA; --c-text:        #1B2A4A; --c-text-2:      #3A4A6B; --c-meta:        #5C6B8A; --c-band:        #F2F5FA; --c-white:       #FFFFFF;
--c-up:          #7FD6A5; --c-dn:          #FF9F7A; --c-up-ink:      #0F7A4A; --c-danger:      #B42318;  --chart-line:    var(--c-gold);
--chart-fill:    var(--c-gold);
--chart-grid:    var(--c-rule-dark); --font-display:  'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
--font-body:     'Manrope', 'Helvetica Neue', Arial, sans-serif;
--font-mono:     'Space Mono', ui-monospace, SFMono-Regular, Menlo, monospace; --radius-img:    6px;
--radius-pill:   999px;
--shadow-cover:  0 30px 60px rgba(0,0,0,0.45);
--shadow-menu:   0 16px 36px rgba(6,31,79,0.18); --container-w:   1440px;
--pad-x:         48px;
--band-pad-top:  56px;
--band-pad-bot:  64px; --aib-navy-950:        var(--c-navy-deep);
--aib-navy-900:        var(--c-navy);
--aib-navy-800:        var(--c-navy);
--aib-navy-700:        var(--c-rule-dark);
--aib-navy-600:        var(--c-rule-dark);
--aib-blue-600:        var(--c-blue);
--aib-blue-500:        var(--c-blue);
--aib-blue-400:        var(--c-blue-light);
--aib-blue-300:        var(--c-blue-light);
--aib-blue-200:        var(--c-on-dark);
--aib-blue-100:        var(--c-on-dark-2);
--aib-blue-50:         var(--c-band);
--aib-ink:             var(--c-text);
--aib-ink-2:           var(--c-text);
--aib-slate-700:       var(--c-text-2);
--aib-slate-600:       var(--c-text-2);
--aib-slate-500:       var(--c-meta);
--aib-slate-400:       var(--c-meta);
--aib-slate-300:       var(--c-rule);
--aib-slate-200:       var(--c-rule);
--aib-slate-100:       var(--c-band);
--aib-slate-50:        var(--c-band);
--aib-paper:           var(--c-band);
--aib-paper-2:         var(--c-band);
--aib-white:           var(--c-white);
--aib-gold:            var(--c-gold);
--aib-gold-soft:       var(--c-gold);
--aib-rust:            var(--c-dn);
--aib-emerald:         var(--c-up-ink);
--aib-emerald-soft:    #DDF5E8;
--aib-success:         var(--c-up-ink);
--aib-success-bg:      #ECF8F1;
--aib-warning:         #8A6A00;
--aib-warning-bg:      #FFF7D6;
--aib-danger:          var(--c-danger);
--aib-danger-bg:       #FEF0EE;
--aib-info:            var(--c-blue);
--aib-info-bg:         var(--c-band);
--fg-1:                var(--c-text);
--fg-2:                var(--c-text-2);
--fg-3:                var(--c-meta);
--fg-4:                var(--c-meta);
--fg-on-dark:          var(--c-white);
--fg-on-dark-2:        var(--c-on-dark-2);
--fg-on-dark-3:        var(--c-on-dark);
--fg-link:             var(--c-blue);
--fg-link-hover:       var(--c-navy);
--bg-1:                var(--c-white);
--bg-2:                var(--c-band);
--bg-3:                var(--c-band);
--bg-4:                var(--c-band);
--bg-dark:             var(--c-navy);
--bg-darkest:          var(--c-navy-deep);
--border-1:            var(--c-rule);
--border-2:            var(--c-rule);
--border-rule:         var(--c-navy);
--border-on-dark:      var(--c-rule-dark);
--font-serif:          var(--font-display);
--font-sans:           var(--font-body); --fs-eyebrow:    11px;
--fs-caption:    13px;
--fs-small:      14px;
--fs-body:       16px;
--fs-body-lg:    18px;
--fs-lede:       21px;
--fs-h6:         16px;
--fs-h5:         18px;
--fs-h4:         22px;
--fs-h3:         24px;
--fs-h2:         30px;
--fs-h1:         56px;
--fs-display:    54px;
--fs-mega:       96px;
--lh-tight:      1.02;
--lh-snug:       1.15;
--lh-headline:   1.12;
--lh-body:       1.6;
--lh-loose:      1.7;
--tracking-eyebrow:   0.14em;
--tracking-mono-btn:  0.12em;
--tracking-uppercase: 0.06em;
--tracking-tight:     -0.01em;
--tracking-display:   -0.03em;
--fw-light:      300;
--fw-regular:    400;
--fw-medium:     500;
--fw-semibold:   600;
--fw-bold:       700;
--fw-black:      800; --space-0:   0;
--space-1:   4px;
--space-2:   8px;
--space-3:   12px;
--space-4:   16px;
--space-5:   20px;
--space-6:   24px;
--space-7:   32px;
--space-8:   40px;
--space-9:   56px;
--space-10:  72px;
--space-11:  96px;
--space-12:  128px; --radius-0:    0;
--radius-xs:   2px;
--radius-sm:   4px;
--radius-md:   6px;
--radius-lg:   6px;
--shadow-xs:  0 1px 1px rgba(6,31,79,0.04);
--shadow-sm:  0 1px 2px rgba(6,31,79,0.06), 0 1px 3px rgba(6,31,79,0.04);
--shadow-md:  0 4px 12px -2px rgba(6,31,79,0.10), 0 2px 4px rgba(6,31,79,0.04);
--shadow-lg:  0 12px 32px -8px rgba(6,31,79,0.16), 0 4px 8px rgba(6,31,79,0.04);
--shadow-xl:  var(--shadow-cover);
--shadow-inset: inset 0 0 0 1px rgba(6,31,79,0.06); --container:        var(--container-w);
--container-narrow: 720px;
--container-wide:   var(--container-w);
--gutter:           var(--pad-x); --ease-standard: cubic-bezier(0.2, 0.0, 0.0, 1.0);
--ease-emphasis: cubic-bezier(0.2, 0.8, 0.2, 1.0);
--dur-fast:    140ms;
--dur-base:    220ms;
--dur-slow:    360ms;
}
@media (max-width: 1023px) { :root { --pad-x: 32px; --band-pad-top: 44px; --band-pad-bot: 52px; } }
@media (max-width: 479px)  { :root { --pad-x: 20px; --band-pad-top: 36px; --band-pad-bot: 44px; } } .aib-eyebrow {
font-family: var(--font-mono);
font-size: var(--fs-eyebrow);
font-weight: var(--fw-bold);
letter-spacing: var(--tracking-eyebrow);
text-transform: uppercase;
color: var(--c-blue);
}
.aib-display {
font-family: var(--font-display);
font-size: var(--fs-display);
font-weight: var(--fw-bold);
line-height: var(--lh-tight);
letter-spacing: var(--tracking-display);
color: var(--c-navy);
text-wrap: balance;
}
.aib-h1 {
font-family: var(--font-display);
font-size: clamp(32px, 5vw, var(--fs-h1));
font-weight: var(--fw-bold);
line-height: var(--lh-tight);
letter-spacing: var(--tracking-display);
color: var(--c-navy);
text-wrap: balance;
margin: 0;
}
.aib-h2 {
font-family: var(--font-display);
font-size: var(--fs-h2);
font-weight: var(--fw-bold);
line-height: var(--lh-snug);
letter-spacing: var(--tracking-tight);
color: var(--c-navy);
text-wrap: balance;
}
.aib-h3 {
font-family: var(--font-display);
font-size: var(--fs-h3);
font-weight: var(--fw-bold);
line-height: var(--lh-headline);
color: var(--c-navy);
text-wrap: balance;
}
.aib-h4 {
font-family: var(--font-body);
font-size: var(--fs-h4);
font-weight: var(--fw-black);
line-height: var(--lh-snug);
color: var(--c-navy);
}
.aib-h5 {
font-family: var(--font-body);
font-size: var(--fs-h5);
font-weight: var(--fw-bold);
line-height: var(--lh-snug);
color: var(--c-navy);
}
.aib-h6 {
font-family: var(--font-mono);
font-size: 12px;
font-weight: var(--fw-bold);
line-height: var(--lh-snug);
text-transform: uppercase;
letter-spacing: var(--tracking-eyebrow);
color: var(--c-navy);
}
.aib-lede {
font-family: var(--font-body);
font-size: var(--fs-lede);
font-weight: var(--fw-semibold);
line-height: 1.45;
color: var(--c-text-2);
text-wrap: pretty;
}
.aib-body {
font-family: var(--font-body);
font-size: var(--fs-body-lg);
font-weight: var(--fw-regular);
line-height: var(--lh-loose);
color: var(--c-text);
text-wrap: pretty;
}
.aib-ui {
font-family: var(--font-body);
font-size: var(--fs-body);
font-weight: var(--fw-regular);
line-height: var(--lh-body);
color: var(--c-text);
}
.aib-caption {
font-family: var(--font-body);
font-size: var(--fs-caption);
font-weight: var(--fw-regular);
line-height: 1.45;
color: var(--c-meta);
}
.aib-byline {
font-family: var(--font-body);
font-size: var(--fs-caption);
font-weight: var(--fw-semibold);
color: var(--c-meta);
}
.aib-mono {
font-family: var(--font-mono);
font-size: 12px;
font-weight: var(--fw-regular);
letter-spacing: var(--tracking-eyebrow);
text-transform: uppercase;
color: var(--c-meta);
}
.aib-pull-quote {
font-family: var(--font-display);
font-size: 30px;
font-style: normal;
font-weight: var(--fw-bold);
line-height: 1.15;
letter-spacing: var(--tracking-tight);
color: var(--c-navy);
text-wrap: balance;
} .aib-dropcap::first-letter {
font-family: var(--font-display);
font-weight: var(--fw-bold);
font-size: 84px;
line-height: 0.8;
float: left;
margin: 8px 12px 0 0;
color: var(--c-blue);
} .aib-rule       { border-top: 2px solid var(--c-navy); }
.aib-rule-thin  { border-top: 1px solid var(--c-rule); }
.aib-rule-blue  { border-top: 4px solid var(--c-blue); }
.aib-rule-gold  { border-top: 4px solid var(--c-gold); }