:root{--primary:#0f4c3a;--primary-dark:#0a3328;--accent:#f2a93b;--soft:#f5f1e8;--ink:#1d2b26}
body{font-family:'Nunito Sans',sans-serif;color:var(--ink)}
.font-display,h1,h2,.navbar-brand{font-family:'Fraunces',serif}
.topbar{background:var(--primary-dark);color:#dfe9e4}
.navbar-brand{font-weight:800;color:var(--primary)!important}
.logo-badge{width:38px;height:38px;border-radius:50%;background:var(--accent);color:var(--primary-dark);display:inline-grid;place-items:center}
.nav-link{font-weight:600}.nav-link.active,.nav-link:hover{color:var(--primary)!important}
.btn-accent{background:var(--accent);color:var(--primary-dark);font-weight:700;border:0}
.btn-accent:hover{background:#e0952a;color:var(--primary-dark)}
.hero{min-height:78vh;color:#fff;background:linear-gradient(110deg,rgba(10,51,40,.92) 35%,rgba(10,51,40,.4)),url('https://images.unsplash.com/photo-1580582932707-520aed937b7b?w=1600') center/cover}
.badge-soft{display:inline-block;background:rgba(242,169,59,.2);color:var(--accent);padding:.35rem .9rem;border-radius:2rem;font-weight:700}
.stats-wrap{margin-top:-60px;position:relative}
.stat-card{background:#fff;border-radius:1rem;padding:1.5rem;text-align:center;box-shadow:0 15px 40px -15px rgba(0,0,0,.25)}
.stat-num{font-family:'Fraunces',serif;font-size:2.2rem;font-weight:800;color:var(--primary)}
.section-title{position:relative;display:inline-block;padding-bottom:.5rem}
.section-title:after{content:'';position:absolute;left:0;bottom:0;width:50px;height:4px;border-radius:2px;background:var(--accent)}
.text-center .section-title:after{left:50%;transform:translateX(-50%)}
.feature-card{background:#fff;border:1px solid #ece6d8;border-radius:1rem;padding:1.75rem;transition:.25s}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px -15px rgba(15,76,58,.35)}
.feature-card i{font-size:2rem;color:var(--primary);display:block;margin-bottom:.75rem}
.bg-soft{background:var(--soft)}
.news-card{border:0;border-radius:1rem;border-left:5px solid var(--accent)}
.news-date{color:var(--primary);font-weight:700;font-size:.85rem}
.cta{background:var(--primary);color:#fff;border-radius:1.5rem}
.page-header{background:linear-gradient(110deg,var(--primary-dark),var(--primary));color:#fff;padding:4rem 0}
.site-footer{background:var(--primary-dark);color:#cfdcd6}
.site-footer a{color:#cfdcd6;text-decoration:none}.site-footer a:hover{color:var(--accent)}
.site-footer h5,.site-footer h6{color:#fff}
.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(15,76,58,.15)}
