:root {
    --brand-green: #123d32;
    --brand-green-2: #1e5a49;
    --brand-lime: #c9da36;
    --brand-yellow: #f2dc35;
    --brand-cream: #f5f3ec;
    --brand-ink: #17231f;
    --brand-muted: #61706a;
    --bs-primary: var(--brand-green);
    --bs-primary-rgb: 18, 61, 50;
    --bs-link-color: #185744;
    --bs-link-hover-color: #0d352a;
    --bs-focus-ring-color: rgba(201, 218, 54, .42);
}

@font-face { font-family: "TL Sans"; src: local("Arial"); font-display: swap; }
@font-face { font-family: "Font Awesome 5 Pro"; src: url("../fonts/fontawesome-pro/5.11.2/fa-light-300.woff2") format("woff2"); font-style: normal; font-weight: 300; font-display: swap; }
.fa-code { font-family: "Font Awesome 5 Pro"; font-style: normal; font-weight: 300; }
.fa-code::before { content: "\f121"; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { color: var(--brand-ink); background: #fff; font-family: "TL Sans", Arial, sans-serif; line-height: 1.65; }
.container > .row { margin-right: 0; margin-left: 0; }
a { color: var(--bs-link-color); text-underline-offset: .2em; }
a:hover { color: var(--bs-link-hover-color); }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 1100; padding: .75rem 1rem; background: #fff; color: var(--brand-green); border-radius: .5rem; }
.skip-link:focus { top: 1rem; }
.site-header { background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(18,61,50,.12); backdrop-filter: blur(14px); }
.navbar { min-height: 86px; }
.navbar-brand img { width: 260px; height: auto; object-fit: contain; }
.nav-link { color: var(--brand-ink); font-weight: 700; border-radius: 999px; padding: .6rem .9rem !important; }
.nav-link:hover, .nav-link:focus, .nav-link.active { color: var(--brand-green); background: rgba(201,218,54,.2); }
.navbar-toggler { border-color: rgba(18,61,50,.3); }
.hero { min-height: 720px; display: grid; align-items: end; color: #fff; background: linear-gradient(90deg, rgba(8,35,28,.9) 0%, rgba(8,35,28,.58) 52%, rgba(8,35,28,.1) 100%), url('../img/headers/home.jpg') center/cover no-repeat; }
.hero-content { max-width: 800px; padding-top: 9rem; padding-bottom: 7rem; }
.eyebrow { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: 1.2rem; color: var(--brand-lime); font-size: .8rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 2.8rem; height: 2px; background: currentColor; }
h1, h2, h3 { color: var(--brand-green); font-weight: 800; line-height: 1.08; letter-spacing: -.035em; }
.hero h1 { color: #fff; font-size: clamp(3rem, 7vw, 6rem); }
.hero .lead { max-width: 640px; font-size: clamp(1.1rem, 2vw, 1.35rem); color: rgba(255,255,255,.88); }
.btn { --bs-btn-border-radius: 999px; --bs-btn-padding-x: 1.4rem; --bs-btn-padding-y: .78rem; font-weight: 800; }
.btn-primary { --bs-btn-bg: var(--brand-yellow); --bs-btn-border-color: var(--brand-yellow); --bs-btn-color: var(--brand-green); --bs-btn-hover-bg: #fff; --bs-btn-hover-border-color: #fff; --bs-btn-hover-color: var(--brand-green); --bs-btn-active-bg: var(--brand-lime); --bs-btn-active-border-color: var(--brand-lime); --bs-btn-active-color: var(--brand-green); --bs-btn-disabled-bg: #c8c4a7; --bs-btn-disabled-border-color: #c8c4a7; }
.btn-outline-primary { --bs-btn-color: var(--brand-green); --bs-btn-border-color: var(--brand-green); --bs-btn-hover-bg: var(--brand-green); --bs-btn-hover-border-color: var(--brand-green); --bs-btn-active-bg: var(--brand-green-2); --bs-btn-active-border-color: var(--brand-green-2); }
.section { padding: clamp(4.5rem, 8vw, 8rem) 0; }
.section-soft { background: var(--brand-cream); }
.section-dark { color: #fff; background: var(--brand-green); }
.section-dark h2, .section-dark h3 { color: #fff; }
.section-heading { max-width: 740px; margin-bottom: 3rem; }
.section-heading h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
.display-number { color: var(--brand-lime); font-size: clamp(3rem, 6vw, 5rem); font-weight: 900; line-height: 1; }
.feature-card, .person-card, .form-card { height: 100%; background: #fff; border: 1px solid rgba(18,61,50,.12); border-radius: 1.25rem; box-shadow: 0 18px 50px rgba(18,61,50,.08); }
.feature-card { padding: 2rem; }
.feature-icon { display: grid; place-items: center; width: 3.2rem; height: 3.2rem; margin-bottom: 1.5rem; color: var(--brand-green); background: var(--brand-yellow); border-radius: 1rem; font-weight: 900; }
.person-card { overflow: hidden; }
.person-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: center 25%; }
.person-card-body { padding: 1.5rem; }
.person-card h3 { margin-bottom: .25rem; font-size: 1.35rem; }
.person-role { color: var(--brand-muted); margin: 0; }
.page-hero { padding: clamp(4rem, 7vw, 7rem) 0; background: var(--brand-cream); }
.page-hero h1 { max-width: 900px; font-size: clamp(2.7rem, 6vw, 5.5rem); }
.content-narrow { max-width: 820px; }
.policy-section { padding: 2rem 0; border-bottom: 1px solid rgba(18,61,50,.13); }
.policy-section h2 { font-size: clamp(1.55rem, 3vw, 2.15rem); }
.form-card { padding: clamp(1.5rem, 4vw, 3rem); }
.form-label, .form-check-label { font-weight: 700; }
.form-control, .form-select { min-height: 3.25rem; border-color: #aebbb6; border-radius: .75rem; }
textarea.form-control { min-height: 9rem; }
.form-control:focus, .form-select:focus, .form-check-input:focus { border-color: var(--brand-green); box-shadow: 0 0 0 .25rem var(--bs-focus-ring-color); }
.form-check-input:checked { background-color: var(--brand-green); border-color: var(--brand-green); }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact-panel { height: 100%; padding: 2.5rem; color: #fff; background: var(--brand-green); border-radius: 1.25rem; }
.contact-panel h2, .contact-panel a { color: #fff; }
.site-footer { color: rgba(255,255,255,.78); background: #0a2720; }
.footer-logo { width: min(300px, 100%); height: auto; padding: .65rem; object-fit: contain; background: #fff; border-radius: .75rem; }
.footer-title { color: #fff; font-size: 1rem; letter-spacing: .1em; text-transform: uppercase; }
.footer-links li { margin-bottom: .55rem; }
.site-footer a { color: #fff; text-decoration: none; overflow-wrap: anywhere; }
.site-footer a:hover { color: var(--brand-lime); text-decoration: underline; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.14); font-size: .9rem; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.legal-content h2 { margin-top: 2.5rem; font-size: 1.6rem; }
@media (max-width: 991.98px) { .navbar-brand img { width: 190px; height: auto; } .navbar-collapse { padding: 1rem 0 1.5rem; } .hero { min-height: 620px; background-position: 58% center; } }
@media (max-width: 575.98px) { .hero { min-height: 560px; } .hero-content { padding: 6rem 0 4rem; } .section { padding: 4rem 0; } .person-card img { aspect-ratio: 1/1; } }
