*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', 'Segoe UI', Arial, sans-serif; background: #f9faf7; color: #1a2a14; line-height: 1.7; font-size: 16px; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
:root { --dark:#1a1f1a; --forest:#2d4a1e; --mid:#5a7a2a; --gold:#b8963e; --lime:#7ab648; --light:#d8f3dc; --offwhite:#f9faf7; --white:#ffffff; }

nav { position:sticky; top:0; z-index:100; background:var(--dark); display:flex; align-items:center; justify-content:space-between; padding:0.75rem 2rem; box-shadow:0 2px 12px rgba(0,0,0,0.4); }
.nav-logo { display:flex; align-items:center; gap:0.75rem; }
.nav-logo img { height:48px; width:48px; border-radius:50%; object-fit:cover; }
.nav-logo-text .top { font-size:1rem; font-weight:700; color:var(--gold); letter-spacing:0.05em; }
.nav-logo-text .bottom { font-size:0.85rem; font-weight:500; color:var(--lime); }
.nav-links { display:flex; gap:1.75rem; list-style:none; }
.nav-links a { color:#cdd9c0; font-size:0.9rem; font-weight:500; padding:0.25rem 0; border-bottom:2px solid transparent; transition:color 0.2s,border-color 0.2s; }
.nav-links a:hover, .nav-links a.active { color:var(--lime); border-bottom-color:var(--lime); }
.nav-toggle { display:none; flex-direction:column; gap:5px; cursor:pointer; }
.nav-toggle span { display:block; width:26px; height:2px; background:var(--gold); border-radius:2px; }

.hero { background:linear-gradient(135deg,var(--dark) 0%,var(--forest) 60%,var(--mid) 100%); color:var(--white); padding:6rem 2rem 5rem; text-align:center; }
.hero-inner { max-width:780px; margin:0 auto; }
.hero h1 { font-size:clamp(1.8rem,4vw,2.8rem); font-weight:800; line-height:1.2; margin-bottom:1rem; }
.hero h1 span { color:var(--lime); }
.hero .sub { font-size:1.05rem; color:#cdd9c0; max-width:600px; margin:0 auto 2rem; }
.btn { display:inline-block; padding:0.75rem 2rem; border-radius:4px; font-weight:700; font-size:0.95rem; cursor:pointer; transition:opacity 0.2s; border:none; }
.btn:hover { opacity:0.85; }
.btn-primary { background:var(--lime); color:var(--dark); }
.btn-outline { background:transparent; color:var(--lime); border:2px solid var(--lime); margin-left:1rem; }

section { padding:4rem 2rem; }
.section-inner { max-width:960px; margin:0 auto; }
.section-label { font-size:0.78rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--mid); margin-bottom:0.5rem; }
h2 { font-size:clamp(1.4rem,3vw,2rem); font-weight:800; color:var(--forest); margin-bottom:1rem; }
h3 { font-size:1.05rem; font-weight:700; color:var(--forest); margin-bottom:0.5rem; }
p { margin-bottom:1rem; color:#2a3a20; }
.lead { font-size:1.05rem; color:#3a5a28; max-width:720px; margin-bottom:1.5rem; }

.card-grid-3 { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.5rem; }
.card-grid-2 { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.5rem; }
.card { background:var(--white); border-radius:8px; padding:1.75rem; border:1px solid #ddeedd; box-shadow:0 2px 8px rgba(45,74,30,0.07); transition:transform 0.2s,box-shadow 0.2s; }
.card:hover { transform:translateY(-3px); box-shadow:0 6px 18px rgba(45,74,30,0.13); }
.card-icon { font-size:1.8rem; margin-bottom:0.75rem; }
.card h3 { color:var(--forest); }
.card p { font-size:0.95rem; }

.callout { background:var(--forest); color:var(--white); border-left:5px solid var(--gold); border-radius:6px; padding:1.5rem 2rem; margin:2rem 0; font-size:1.05rem; font-style:italic; line-height:1.6; }
.callout cite { display:block; margin-top:0.75rem; font-size:0.85rem; font-style:normal; color:var(--lime); }

.steps { display:flex; flex-wrap:wrap; gap:1.25rem; margin:2rem 0; }
.step { flex:1 1 180px; background:var(--light); border-radius:8px; padding:1.25rem; text-align:center; }
.step-num { display:inline-block; width:36px; height:36px; border-radius:50%; background:var(--forest); color:var(--white); font-weight:800; line-height:36px; font-size:0.95rem; margin-bottom:0.75rem; }
.step h3 { font-size:0.95rem; }

.team-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.5rem; }
.team-card { background:var(--white); border-radius:8px; overflow:hidden; border:1px solid #ddeedd; box-shadow:0 2px 8px rgba(45,74,30,0.07); }
.team-photo { background:var(--light); height:160px; display:flex; align-items:center; justify-content:center; color:var(--mid); font-size:0.85rem; font-style:italic; }
.team-info { padding:1.25rem; }
.team-info .role { font-size:0.82rem; color:var(--mid); font-weight:600; margin-bottom:0.5rem; }

.partner-cards { display:flex; flex-wrap:wrap; gap:1.5rem; margin-top:1.5rem; }
.partner-card { background:var(--white); border:1px solid #ddeedd; border-radius:8px; padding:1.5rem 2rem; box-shadow:0 2px 8px rgba(45,74,30,0.07); min-width:200px; }
.partner-card h3 { color:var(--forest); margin-bottom:0.4rem; }
.partner-card p { font-size:0.9rem; margin:0; }

.ocap-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1.25rem; margin:1.5rem 0; }
.ocap-card { background:var(--forest); color:var(--white); border-radius:8px; padding:1.5rem; }
.ocap-card .letter { font-size:2.5rem; font-weight:900; color:var(--lime); line-height:1; margin-bottom:0.5rem; }
.ocap-card h3 { color:var(--white); font-size:1rem; margin-bottom:0.4rem; }
.ocap-card p { color:#cdd9c0; font-size:0.9rem; margin:0; }

.care-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1.25rem; margin:1.5rem 0; }
.care-card { background:var(--light); border-radius:8px; padding:1.5rem; border-left:4px solid var(--gold); }
.care-card .letter { font-size:2rem; font-weight:900; color:var(--gold); line-height:1; margin-bottom:0.5rem; }
.care-card h3 { color:var(--forest); font-size:1rem; margin-bottom:0.4rem; }
.care-card p { color:#3a5a28; font-size:0.9rem; margin:0; }

.contact-form { background:var(--white); border-radius:8px; padding:2rem; border:1px solid #ddeedd; max-width:600px; }
.form-group { margin-bottom:1.25rem; }
label { display:block; font-size:0.88rem; font-weight:600; color:var(--forest); margin-bottom:0.4rem; }
input, textarea { width:100%; padding:0.65rem 0.9rem; border:1px solid #ccddc0; border-radius:4px; font-family:inherit; font-size:0.95rem; color:var(--dark); background:var(--offwhite); transition:border-color 0.2s; }
input:focus, textarea:focus { outline:none; border-color:var(--mid); }
textarea { min-height:130px; resize:vertical; }

.section-dark { background:var(--dark); color:var(--white); }
.section-dark h2 { color:var(--lime); }
.section-dark h3 { color:var(--gold); }
.section-dark p { color:#cdd9c0; }
.section-dark .section-label { color:var(--gold); }
.section-light { background:var(--light); }

footer { background:var(--dark); color:#8aaa78; text-align:center; padding:2rem; font-size:0.85rem; border-top:2px solid var(--forest); }
footer a { color:var(--lime); }
footer strong { color:var(--gold); }

@media (max-width:700px) {
  .nav-links { display:none; flex-direction:column; position:absolute; top:68px; left:0; right:0; background:var(--dark); padding:1rem 2rem; gap:1rem; }
  .nav-links.open { display:flex; }
  .nav-toggle { display:flex; }
  .steps { flex-direction:column; }
}
