:root {
    --funding-ink: #173544;
    --funding-teal: #245f62;
    --funding-teal-soft: #e7f1f0;
    --funding-cream: #fffaf5;
    --funding-border: #d6e1e0;
    --funding-muted: #5e6f74;
    --funding-gold: #b68a35;
    --funding-rose: #d76475;
}

body.public-funding-page {
    background: #fff;
    color: var(--funding-ink);
}

.funding-hero {
    background:
        radial-gradient(circle at 12% 18%, rgba(215, 100, 117, .12), transparent 30%),
        radial-gradient(circle at 88% 25%, rgba(36, 95, 98, .12), transparent 32%),
        linear-gradient(135deg, #fff8f4 0%, #fbfcfb 55%, #f2f8f7 100%);
    border-bottom: 1px solid var(--funding-border);
}

.funding-eyebrow {
    color: var(--funding-teal);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.funding-hero h1,
.funding-section h2,
.funding-section h3 {
    color: var(--funding-ink);
}

.funding-hero .lead {
    max-width: 58rem;
}

.funding-jump-nav {
    position: sticky;
    top: 0;
    z-index: 1010;
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid var(--funding-border);
    backdrop-filter: blur(10px);
}

.funding-jump-nav .nav-link {
    color: var(--funding-ink);
    font-size: .92rem;
    font-weight: 700;
    white-space: nowrap;
}

.funding-jump-nav .nav-link:hover,
.funding-jump-nav .nav-link:focus {
    color: var(--funding-teal);
}

.funding-section {
    scroll-margin-top: 5.5rem;
}

.funding-section-alt {
    background: var(--funding-cream);
    border-top: 1px solid #f0e8df;
    border-bottom: 1px solid #f0e8df;
}

.funding-card,
.funding-panel,
.funding-form-card,
.funding-stat,
.funding-process-step {
    height: 100%;
    border: 1px solid var(--funding-border);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 .25rem 1rem rgba(23, 53, 68, .06);
}

.funding-card,
.funding-panel,
.funding-form-card,
.funding-process-step {
    padding: 1.35rem;
}

.funding-card .fas,
.funding-card .far {
    color: var(--funding-teal);
}

.funding-card p,
.funding-panel p,
.funding-panel li,
.funding-process-step p {
    color: var(--funding-muted);
}

.funding-stat {
    padding: 1.25rem;
}

.funding-stat strong {
    display: block;
    color: var(--funding-teal);
    font-size: clamp(1.45rem, 3vw, 2.2rem);
    line-height: 1.05;
}

.funding-stat span {
    display: block;
    margin-top: .45rem;
    color: var(--funding-muted);
}

.funding-callout {
    border: 1px solid var(--funding-border);
    border-left: .45rem solid var(--funding-teal);
    border-radius: .85rem;
    background: var(--funding-teal-soft);
    padding: 1.25rem 1.35rem;
}

.funding-callout-warning {
    border-left-color: var(--funding-gold);
    background: #fff8e8;
}

.funding-callout-danger {
    border-left-color: var(--funding-rose);
    background: #fff3f5;
}

.funding-use-table th {
    background: #194247;
    color: #fff;
    vertical-align: middle;
}

.funding-use-table td {
    vertical-align: top;
}

.funding-boundary-list {
    display: grid;
    gap: .75rem;
    padding-left: 0;
    list-style: none;
}

.funding-boundary-list li {
    position: relative;
    padding-left: 1.8rem;
}

.funding-boundary-list li::before {
    content: "\f058";
    position: absolute;
    left: 0;
    top: .05rem;
    color: var(--funding-teal);
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.funding-boundary-list.funding-no-list li::before {
    content: "\f057";
    color: var(--funding-rose);
}

.funding-process-step {
    position: relative;
    padding-top: 3.1rem;
}

.funding-process-number {
    position: absolute;
    top: 1rem;
    left: 1.25rem;
    display: inline-grid;
    width: 1.8rem;
    height: 1.8rem;
    place-items: center;
    border-radius: 50%;
    background: var(--funding-teal);
    color: #fff;
    font-weight: 800;
}

.public-document-list {
    display: grid;
    gap: 1rem;
}

.public-document-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid var(--funding-border);
    border-radius: .8rem;
    background: #fff;
    padding: 1rem;
}

.funding-payment-status {
    border: 1px dashed var(--funding-teal);
    border-radius: 1rem;
    background: #f4f9f8;
    padding: 1.3rem;
}

.funding-payment-live {
    border-style: solid;
    background: #f0faf4;
}

.funding-form-card {
    max-width: 58rem;
    margin-inline: auto;
}

.funding-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

.funding-faq .accordion-button:not(.collapsed) {
    color: var(--funding-ink);
    background: var(--funding-teal-soft);
}

.funding-portal-switcher {
    border: 1px solid var(--funding-border);
    border-radius: 1rem;
    background: #fff;
    padding: .75rem;
}

.funding-portal-switcher .btn {
    min-width: 9rem;
}

.funding-financial-table th {
    background: #194247;
    color: #fff;
}

@media (max-width: 767.98px) {
    .funding-jump-nav .container {
        overflow-x: auto;
    }

    .funding-jump-nav .nav {
        flex-wrap: nowrap;
        min-width: max-content;
    }

    .public-document-item {
        align-items: flex-start;
        flex-direction: column;
    }

    .public-document-item .btn {
        width: 100%;
    }
}
