/* Iron Brick: styles for ai-analytics.html and federal.html. Uses the template's theme variables so light and dark modes both work. */
.ib-alt{background:var(--theme-color-dark)}
.ib-stat{font-family:var(--font-primary);font-size:72px;font-weight:700;line-height:1;color:var(--hero-text-color)}
.ib-stat-text{font-size:20px;line-height:1.5;color:var(--hero-text-color);margin:0}
.ib-source{font-size:13px;color:var(--hero-text-color);opacity:.8;margin:10px 0 0}
.ib-arch{margin:0;background:var(--light-color);border:1px solid var(--border-color);border-radius:10px;padding:24px;box-shadow:0 10px 30px var(--box-shadow-color)}
.ib-arch-scroll{overflow-x:auto}
.ib-arch svg{display:block;width:100%;min-width:640px;height:auto}
.ib-arch figcaption{font-size:14px;color:var(--text-color);opacity:.8;margin-top:14px}
.ib-arch .ib-muted text,.ib-arch text.ib-muted{fill:var(--text-color);opacity:.7}
.ib-arch .ib-ink text{fill:var(--text-color)}
.ib-arch .ib-box rect,.ib-arch rect.ib-box{fill:var(--theme-color-dark);stroke:var(--border-color)}
.ib-arch .ib-line path,.ib-arch path.ib-line{stroke:var(--text-theme-color);stroke-width:1.6;fill:none}
.ib-arch .ib-api{fill:var(--text-theme-color)}
.ib-arch .ib-gw{fill:var(--light-color);stroke:var(--text-theme-color);stroke-width:2}
.ib-arch .ib-gov{stroke:var(--text-theme-color)}
.ib-arch .ib-gov-text{fill:var(--text-theme-color);font-weight:500}
.ib-table{width:100%;border-collapse:collapse;background:var(--light-color);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;box-shadow:0 10px 30px var(--box-shadow-color)}
.ib-table th,.ib-table td{padding:14px 18px;border-bottom:1px solid var(--border-color);color:var(--text-color);vertical-align:top;text-align:left}
.ib-table tr:last-child th,.ib-table tr:last-child td{border-bottom:0}
.ib-table tbody th{width:34%;font-weight:600;color:var(--text-theme-color)}
.ib-ledger thead th{background:var(--text-theme-color);color:#fff;font-weight:600;font-size:14px;letter-spacing:.03em;text-transform:uppercase}
.ib-ledger tbody td:first-child{font-weight:600}
.ib-poc p{margin-bottom:8px}
.ib-poc i{color:var(--text-theme-color);margin-right:8px}
.ib-cta-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:36px 40px;border-radius:10px;background:var(--color-primary);color:#fff}
.ib-cta-box h3{color:#fff;margin:0 0 8px;font-weight:700}
.ib-cta-box p{margin:0;max-width:620px;color:#fff;opacity:.9}
.ib-cta-box .btn-get-started{background:#fff;color:var(--color-primary);border-radius:50px;padding:12px 28px;font-weight:600;text-decoration:none;display:inline-block}
:root.dark .ib-cta-box{background:var(--theme-color-dark);border:1px solid var(--border-color)}
:root.dark .ib-cta-box .btn-get-started{color:#000}
@media (max-width:576px){.ib-cta-box{padding:28px 22px}.ib-stat{font-size:56px}}

.ib-phase .ib-phase-num{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-theme-color);margin-bottom:6px}
.ib-phase h6{margin:16px 0 8px;font-weight:600;color:var(--text-color)}
.ib-phase ul{list-style:none;padding:0;margin:0}
.ib-phase li{padding:4px 0;color:var(--text-color)}
.ib-phase li i{color:var(--text-theme-color)}
.ib-check{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid var(--border-color);border-radius:10px;background:var(--light-color);height:100%}
.ib-check i{color:var(--text-theme-color);font-size:22px;line-height:1}
.ib-check h5{margin:0 0 6px;font-weight:600;font-size:17px;color:var(--text-color)}
.ib-check p{margin:0;color:var(--text-color);opacity:.85}
.ib-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ib-chip{display:inline-block;padding:6px 12px;border-radius:50px;border:1px solid var(--border-color);font-size:14px;color:var(--text-color);background:var(--theme-color-dark)}
.ib-partner{border-top:4px solid var(--text-theme-color)}
.ib-empty{color:var(--text-color);opacity:.8;font-size:17px}

.ib-purpose{font-size:24px;line-height:1.5;font-weight:500;color:var(--text-color)}
@media (max-width:576px){.ib-purpose{font-size:20px}}
.ib-note{color:var(--text-color);opacity:.7;text-align:center;padding-bottom:30px}

/* White-text logo when the site's dark mode is on */
:root.dark .header .logo img,:root.dark .footer-logo img{content:url("../images/logo-light.png")}

/* 91% statistic band (AI & Analytics) */
.ib-statband{background:linear-gradient(120deg,#0b1f3a 0%,#123a73 55%,var(--color-primary) 100%);padding:70px 0;color:#fff;position:relative;overflow:hidden}
.ib-statband::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 34px),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 68px);pointer-events:none}
.ib-statband-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap}
.ib-bignum{font-family:var(--font-primary),"Montserrat",sans-serif;font-weight:800;font-size:clamp(110px,16vw,200px);line-height:.85;letter-spacing:-.04em;color:#ff7a45;text-shadow:0 6px 30px rgba(0,0,0,.35)}
.ib-bignum span{font-size:.5em;vertical-align:.55em;margin-left:4px}
.ib-statcopy{max-width:560px}
.ib-stat-lead{font-size:clamp(22px,2.4vw,30px);line-height:1.35;font-weight:600;color:#fff;margin:0 0 14px}
.ib-stat-lead strong{color:#ffb38f}
.ib-stat-sub{font-size:18px;line-height:1.5;color:#dbe6f5;margin:0 0 14px}
.ib-statband .ib-source{color:#aac0dd;opacity:1;font-size:13px;margin:0}
:root.dark .ib-statband{background:linear-gradient(120deg,#050b14 0%,#0b1f3a 100%);border-block:1px solid var(--border-color)}
@media (max-width:768px){.ib-statband{padding:50px 0}.ib-statband-inner{gap:20px;text-align:center}}
