:root{
  --hfba-green:#0f5132;
  --hfba-green-dark:#0a3a24;
  --hfba-gold:#d4a017;
  --hfba-gold-dark:#b8860b;
  --hfba-cream:#fdfbf5;
  --hfba-ink:#1c1c1c;
  --hfba-muted:#5a5a5a;
}
html,body{scroll-behavior:smooth}
body{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--hfba-ink);background:#fff;line-height:1.65}
h1,h2,h3,h4,h5{font-family:'Playfair Display',Georgia,serif;font-weight:700;color:var(--hfba-green-dark)}
.text-gold{color:var(--hfba-gold)!important}
.text-green{color:var(--hfba-green)!important}
.bg-green{background:var(--hfba-green)!important;color:#fff}
.bg-cream{background:var(--hfba-cream)!important}
.btn-hfba{background:var(--hfba-gold);color:#fff;border:0;padding:.75rem 1.75rem;border-radius:50px;font-weight:600;letter-spacing:.3px;transition:.25s}
.btn-hfba:hover{background:var(--hfba-gold-dark);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(212,160,23,.35)}
.btn-outline-hfba{background:transparent;color:#fff;border:2px solid #fff;padding:.7rem 1.7rem;border-radius:50px;font-weight:600;transition:.25s}
.btn-outline-hfba:hover{background:#fff;color:var(--hfba-green-dark)}

/* Navbar */
.navbar{background:#fff!important;box-shadow:0 2px 14px rgba(0,0,0,.06);padding:.6rem 0}
.navbar .navbar-brand img{height:58px;width:auto}
.navbar .nav-link{color:var(--hfba-green-dark)!important;font-weight:600;margin:0 .35rem;position:relative}
.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--hfba-gold)!important}
.navbar .nav-link.active::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;background:var(--hfba-gold);border-radius:2px}

/* Hero */
.hero{position:relative;padding:120px 0 100px;color:#fff;text-align:center;overflow:hidden;background:linear-gradient(135deg,var(--hfba-green-dark) 0%,var(--hfba-green) 60%,#0e6b3b 100%)}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(212,160,23,.25),transparent 45%),radial-gradient(circle at 80% 80%,rgba(212,160,23,.18),transparent 40%)}
.hero *{position:relative;z-index:1}
.hero h1{color:#fff;font-size:clamp(2rem,5vw,3.6rem);line-height:1.15;margin-bottom:1rem}
.hero h1 span{color:var(--hfba-gold)}
.hero p.lead{max-width:780px;margin:0 auto 2rem;font-size:1.15rem;opacity:.95}

/* Page header (inner pages) */
.page-header{background:linear-gradient(135deg,var(--hfba-green-dark),var(--hfba-green));color:#fff;padding:90px 0 60px;text-align:center}
.page-header h1{color:#fff;margin:0}
.page-header .crumb{opacity:.85;font-size:.95rem;margin-top:.5rem}
.page-header .crumb a{color:var(--hfba-gold);text-decoration:none}

/* Sections */
section{padding:80px 0}
.section-title{text-align:center;margin-bottom:3rem}
.section-title small{display:block;color:var(--hfba-gold);font-family:'Poppins',sans-serif;font-weight:600;letter-spacing:3px;text-transform:uppercase;font-size:.8rem;margin-bottom:.5rem}
.section-title h2{font-size:clamp(1.7rem,3.5vw,2.6rem)}
.section-title .divider{width:70px;height:3px;background:var(--hfba-gold);margin:1rem auto 0;border-radius:2px}

/* Feature cards */
.feature-card{background:#fff;border-radius:16px;padding:2.25rem 1.75rem;height:100%;border:1px solid rgba(15,81,50,.08);box-shadow:0 6px 22px rgba(15,81,50,.06);transition:.3s;text-align:center}
.feature-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(15,81,50,.14);border-color:rgba(212,160,23,.4)}
.feature-icon{width:74px;height:74px;border-radius:50%;background:linear-gradient(135deg,var(--hfba-green),var(--hfba-green-dark));color:var(--hfba-gold);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;font-size:1.8rem}
.feature-card h4{margin-bottom:.75rem}
.feature-card p{color:var(--hfba-muted);margin:0}

/* Stats */
.stats{background:var(--hfba-green-dark);color:#fff;padding:60px 0}
.stat h3{color:var(--hfba-gold);font-size:2.6rem;margin:0}
.stat p{margin:0;opacity:.9;text-transform:uppercase;letter-spacing:2px;font-size:.85rem}

/* About image block */
.about-img{border-radius:20px;box-shadow:0 18px 40px rgba(0,0,0,.15);overflow:hidden;background:var(--hfba-cream);padding:2rem;text-align:center}
.about-img img{max-width:100%;height:auto}

/* CTA */
.cta{background:linear-gradient(135deg,var(--hfba-gold),var(--hfba-gold-dark));color:#fff;padding:70px 0;text-align:center}
.cta h2{color:#fff}

/* Form */
.form-card{background:#fff;border-radius:20px;padding:2.5rem;box-shadow:0 20px 50px rgba(15,81,50,.1);border-top:5px solid var(--hfba-gold)}
.form-label{font-weight:600;color:var(--hfba-green-dark)}
.form-control,.form-select{border:1.5px solid #e2e2e2;border-radius:10px;padding:.7rem 1rem}
.form-control:focus,.form-select:focus{border-color:var(--hfba-gold);box-shadow:0 0 0 .2rem rgba(212,160,23,.15)}
.form-check-input:checked{background-color:var(--hfba-green);border-color:var(--hfba-green)}
.required{color:#c0392b}

/* Footer */
footer{background:#0a2818;color:#cfe4d7;padding:60px 0 20px}
footer h5{color:#fff;font-family:'Poppins',sans-serif;font-size:1rem;text-transform:uppercase;letter-spacing:2px;margin-bottom:1.25rem}
footer a{color:#cfe4d7;text-decoration:none;transition:.2s}
footer a:hover{color:var(--hfba-gold)}
footer .footer-logo img{height:70px;background:#fff;padding:6px;border-radius:12px}
footer .socials a{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08);margin-right:.5rem}
footer .socials a:hover{background:var(--hfba-gold);color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:2.5rem;padding-top:1.25rem;text-align:center;font-size:.9rem;opacity:.8}

/* Modal */
.modal-content{border:0;border-radius:20px;overflow:hidden}
.modal-header{background:linear-gradient(135deg,var(--hfba-green-dark),var(--hfba-green));color:#fff;border:0}
.modal-header .btn-close{filter:invert(1)}
.popup-logo{max-width:120px;margin:0 auto 1rem;display:block}

/* Responsive */
@media (max-width:768px){
  .hero{padding:90px 0 70px}
  section{padding:60px 0}
  .navbar .navbar-brand img{height:48px}
  .form-card{padding:1.75rem}
}
