

/*.site-header,
.site-footer {
    background-color: #007847;*/ /* emerald green */
    /*color: #ffffff;*/ /* keep text readable */
/*}

    .site-header a.nav-link,
    .site-footer a {
        color: #ffffff;
    }

        .site-header a.nav-link:hover,
        .site-footer a:hover {
            color: #d4edda;*/ /* lighter green/white on hover */
        /*}*/


:root {
    --brand-green: #1B4B3A;
    --brand-green-2: #2D5A4A;
    --brand-gold: #E8B547;
    --brand-dark: #0f172a;
    --brand-light: #f8fafc;
    --radius-xl: 1rem;
    --shadow-1: 0 10px 20px rgba(0,0,0,.08);
    --shadow-2: 0 6px 14px rgba(0,0,0,.06);
}

* {
    box-sizing: border-box
}

html, body {
    font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    color: var(--brand-dark);
    background: var(--brand-light);
    line-height: 1.6;
    margin: 0;
}

header, .site-header, nav {
    background: linear-gradient(90deg,var(--brand-green), var(--brand-green-2));
    color: #fff;
    box-shadow: var(--shadow-2);
}

    header a, nav a {
        color: #fff !important;
        text-decoration: none;
        font-weight: 600;
        padding: .75rem 1rem;
        border-radius: .75rem;
    }

        header a:hover, nav a:hover {
            background: rgba(255,255,255,.12);
        }

.hero, .jumbotron {
    background: radial-gradient(1200px 500px at 80% -100%, rgba(232,181,71,.25), transparent 60%), linear-gradient(180deg, #fff, #f6f7f9 60%, #f2f5f3);
    padding: 4rem 1.25rem;
    border-bottom: 1px solid rgba(0,0,0,.06);
}

    .hero h1, .jumbotron h1 {
        color: var(--brand-green);
        font-weight: 800;
        letter-spacing: .2px;
    }

.card, .panel, .box, .content, form {
    background: #fff;
    border: 1px solid rgba(16,24,40,.08);
    border-radius: var(--radius-xl);
    padding: 1.25rem;
    box-shadow: var(--shadow-1);
}

button, .btn, input[type=submit], .button, a.button {
    background: var(--brand-green);
    color: #fff !important;
    border: none;
    border-radius: .75rem;
    padding: .75rem 1.1rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform .06s ease, box-shadow .2s ease, background .2s ease;
    box-shadow: 0 6px 14px rgba(27,75,58,.25);
    display: inline-block;
}

    button:hover, .btn:hover, input[type=submit]:hover, a.button:hover {
        background: var(--brand-green-2);
        transform: translateY(-1px);
    }

    .btn-outline, .button.outline {
        background: #fff !important;
        color: var(--brand-green) !important;
        border: 2px solid var(--brand-green);
        box-shadow: none;
    }

.btn-gold {
    background: var(--brand-gold);
    color: #1b1708 !important;
}

a {
    color: var(--brand-green);
}

    a:hover {
        color: #154031;
    }

input, select, textarea {
    width: 100%;
    background: #fff;
    border: 1px solid rgba(16,24,40,.15);
    border-radius: .75rem;
    padding: .7rem .9rem;
    outline: none;
    transition: border .15s ease, box-shadow .15s ease;
}

    input:focus, select:focus, textarea:focus {
        border-color: var(--brand-green);
        box-shadow: 0 0 0 4px rgba(27,75,58,.15);
    }

h1, h2, h3 {
    font-weight: 800;
    color: var(--brand-green);
    line-height: 1.2;
    margin: 0 0 .5rem 0;
}

footer {
    background: #0e1f1a;
    color: #cfe1db;
    padding: 2rem 1rem;
}

    footer a {
        color: #ffffff;
        opacity: .9;
    }

        footer a:hover {
            opacity: 1;
        }

.container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 1rem;
}

.mt-2 {
    margin-top: .5rem
}

.mt-4 {
    margin-top: 1rem
}

.mt-8 {
    margin-top: 2rem
}

.mb-2 {
    margin-bottom: .5rem
}

.mb-4 {
    margin-bottom: 1rem
}

.mb-8 {
    margin-bottom: 2rem
}

.cta-row a {
    margin-right: .5rem;
}

table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border: 1px solid rgba(16,24,40,.08);
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-1);
}

th, td {
    padding: .9rem 1rem;
    border-bottom: 1px solid rgba(16,24,40,.06);
}

th {
    background: #f5f8f7;
    text-align: left;
    color: #0f2a21;
}

@media (max-width: 640px) {
    header a, nav a {
        padding: .55rem .75rem
    }

    .hero {
        padding: 2.5rem 1rem
    }
}

.badge {
    display: inline-block;
    font-size: .75rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    background: rgba(232,181,71,.18);
    color: #7a5a10;
    padding: .35rem .6rem;
    border-radius: 999px;
}

.notice {
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    color: #064e3b;
    padding: .75rem 1rem;
    border-radius: .75rem;
    margin: .75rem 0 0;
}