:root {
    --ih-ink: #0b1529;
    --ih-blue: #166bff;
    --ih-mist: #f3f6fb;
    --ih-line: #dce3ef;
    --ih-muted: #65718a;
    --ih-accent: #ffbb4b;
    --ih-radius: 16px;
}
.impact-app { color: var(--ih-ink); font-family: "Montserrat", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.impact-app *, .impact-app *::before, .impact-app *::after { box-sizing: border-box; }
.impact-app a, .impact-app button, .impact-app input, .impact-app select, .impact-app textarea { -webkit-tap-highlight-color: transparent; }
.impact-app :focus-visible { outline: 3px solid var(--ih-blue); outline-offset: 4px; }
.impact-app .form-control { border-color: var(--ih-line); border-radius: 8px; color: var(--ih-ink); }
.impact-app .form-control:focus { border-color: var(--ih-blue); box-shadow: 0 0 0 3px rgb(22 107 255 / 12%); }
.impact-app .btn { border-radius: 8px; font-weight: 700; }
.impact-app .btn-primary { background: var(--ih-blue); border-color: var(--ih-blue); }
.impact-app .btn-primary:hover { background: #0954d6; border-color: #0954d6; }
.impact-app .table { font-variant-numeric: tabular-nums; }
.ih-brand { display: inline-flex; flex-shrink: 0; line-height: 1; color: var(--ih-ink); text-decoration: none !important; }
.ih-brand:hover { color: var(--ih-blue); }
.impact-app .ih-brand .ih-brand-logo { display: block; width: 180px; max-width: 100%; height: auto; border-radius: 4px; background: #fff; }
.impact-admin .ih-brand .ih-brand-logo { width: 160px; }
@media (max-width: 767px) { .impact-app .ih-brand .ih-brand-logo { width: 150px; } }
.ih-eyebrow { display: block; font-size: 11px; line-height: 1.5; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.ih-button { display: inline-flex; align-items: center; justify-content: center; gap: 25px; min-height: 50px; padding: 14px 23px; background: var(--ih-blue); color: #fff; border: 1px solid transparent; border-radius: 7px; font-size: 13px; line-height: 1.5; font-weight: 700; text-decoration: none !important; transition: background .2s, transform .2s; }
.ih-button:hover { background: #0954d6; color: #fff; transform: translateY(-2px); }
.ih-button-light { background: #fff; color: var(--ih-ink); }
.ih-button-light:hover { background: #e7efff; color: var(--ih-ink); }
.ih-button-outline { border-color: var(--ih-line); color: var(--ih-ink); background: transparent; }
.ih-button-outline:hover { color: var(--ih-blue); background: var(--ih-mist); }
.ih-arrow { font-family: Arial, sans-serif; font-size: 21px; line-height: 1; }
.ih-skip-link { position: fixed; z-index: 10000; left: 16px; top: -80px; padding: 12px 20px; background: #fff; color: var(--ih-ink); box-shadow: 0 2px 20px #0002; }
.ih-skip-link:focus { top: 12px; }
@media (prefers-reduced-motion: reduce) {
    .impact-app { scroll-behavior: auto; }
    .impact-app *, .impact-app *::before, .impact-app *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
