:root { color-scheme: light; }
html { scroll-padding-top: 92px; }
body { font-family: 'Be Vietnam Pro', sans-serif; }

.nav-link { position: relative; padding: .5rem 0; transition: color .2s ease; }
.nav-link::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px; border-radius: 9px; background: #33893a; transition: right .25s ease; }
.nav-link:hover { color: #2a6d31; }
.nav-link:hover::after { right: 0; }
.mobile-link { border-radius: .9rem; padding: .9rem 1rem; }
.mobile-link:hover { background: #f4fbf4; color: #2a6d31; }

.eyebrow { font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .18em; color: #33893a; }
.section-title { margin-top: .75rem; font-size: clamp(1.9rem,4vw,2.7rem); line-height: 1.16; font-weight: 800; letter-spacing: -.03em; color: #0f172a; }

.hero-bg { background: radial-gradient(circle at top left,#e7f6e7,transparent 38%), linear-gradient(135deg,#f9fbf6 0%,#f4f6ee 100%); }
.hero-orb { position: absolute; border-radius: 999px; filter: blur(2px); pointer-events: none; }
.hero-orb-one { width: 18rem; height: 18rem; right: -7rem; top: 2rem; background: rgba(161,220,163,.18); }
.hero-orb-two { width: 11rem; height: 11rem; left: 42%; bottom: 1rem; border: 1px solid rgba(42,109,49,.12); }
.hero-floating-card { position: absolute; left: -1rem; bottom: 2rem; display: flex; align-items: center; gap: .85rem; max-width: 19rem; border: 1px solid rgba(255,255,255,.8); border-radius: 1.35rem; background: rgba(255,255,255,.94); padding: .9rem 1rem; box-shadow: 0 18px 40px rgba(20,55,28,.16); backdrop-filter: blur(10px); }
.hero-floating-card small { display: block; color: #94a3b8; font-size: .7rem; }
.hero-floating-card strong { display: block; margin-top: .18rem; color: #1e293b; font-size: .82rem; line-height: 1.45; }
.icon-circle { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; flex: 0 0 auto; border-radius: .9rem; background: #e7f6e7; color: #2a6d31; }

.metric-card { border: 1px solid rgba(42,109,49,.12); border-radius: 1.2rem; background: rgba(255,255,255,.82); padding: 1rem; box-shadow: 0 8px 30px rgba(20,55,28,.05); backdrop-filter: blur(8px); }
.metric-card > i { display: block; margin-bottom: .65rem; color: #33893a; font-size: 1.05rem; }
.metric-card strong { display:block; color:#2a6d31; font-size:.95rem; }
.metric-card span { display:block; margin-top:.25rem; font-size:.72rem; line-height:1.35; color:#64748b; }

.trust-item { display:flex; align-items:center; gap:.85rem; min-height:4.5rem; padding:.75rem; }
.trust-item > i { width:2.6rem; color:#33893a; font-size:1.2rem; text-align:center; }
.trust-item small { display:block; color:#94a3b8; font-size:.68rem; }
.trust-item strong { display:block; margin-top:.2rem; color:#1e293b; font-size:.82rem; line-height:1.45; }

.company-box { display:flex; gap:1rem; border:1px solid #dcebdc; border-radius:1.5rem; background:#f4fbf4; padding:1.25rem; color:#204825; }
.company-icon { display:grid; width:3rem; height:3rem; place-items:center; flex:0 0 auto; border-radius:1rem; background:#fff; color:#2a6d31; box-shadow:0 8px 24px rgba(20,55,28,.07); }
.company-box strong { display:block; color:#204825; }
.company-box p { margin-top:.25rem; font-size:.84rem; line-height:1.55; }

.info-card,.benefit-card { border:1px solid #e7eee7; border-radius:1.75rem; background:#fff; padding:1.65rem; box-shadow:0 12px 35px rgba(20,55,28,.05); transition:transform .25s ease, box-shadow .25s ease; }
.info-card:hover,.benefit-card:hover { transform:translateY(-5px); box-shadow:0 20px 45px rgba(20,55,28,.10); }
.icon-box { display:grid; width:3rem; height:3rem; place-items:center; border-radius:1rem; background:#e7f6e7; color:#2a6d31; font-weight:900; }
.info-card h3,.benefit-card h3 { margin-top:1.25rem; font-size:1.06rem; font-weight:800; color:#0f172a; }
.info-card p,.benefit-card p { margin-top:.7rem; font-size:.875rem; line-height:1.75; color:#64748b; }

.dark-stat { border:1px solid rgba(255,255,255,.13); border-radius:1.4rem; background:rgba(255,255,255,.08); padding:1.2rem; }
.dark-stat i { color:#a1dca3; font-size:1.1rem; }
.dark-stat strong { display:block; margin-top:.8rem; color:#fff; font-size:.95rem; }
.dark-stat span { display:block; margin-top:.35rem; color:#cceccc; font-size:.76rem; line-height:1.55; }

.image-note { position:absolute; right:1.3rem; bottom:1.3rem; max-width:17rem; border-radius:1.3rem; background:rgba(255,255,255,.94); padding:1rem 1.1rem; box-shadow:0 18px 45px rgba(20,55,28,.14); backdrop-filter:blur(8px); }
.image-note i { color:#33893a; }
.image-note p { margin-top:.4rem; font-size:.8rem; line-height:1.6; font-weight:700; color:#334155; }
.audience-row { display:flex; gap:1rem; border:1px solid #e2e8f0; border-radius:1.25rem; background:#fff; padding:1rem 1.1rem; }
.audience-row > i { display:grid; width:2.5rem; height:2.5rem; place-items:center; flex:0 0 auto; border-radius:.85rem; background:#e7f6e7; color:#2a6d31; }
.audience-row strong { display:block; color:#0f172a; font-size:.9rem; }
.audience-row p { margin-top:.25rem; color:#64748b; font-size:.8rem; line-height:1.6; }

.process-card { position:relative; min-height:15rem; border:1px solid #e3ebe4; border-radius:1.55rem; background:#fff; padding:1.5rem; box-shadow:0 12px 30px rgba(20,55,28,.05); }
.process-card > span { display:block; color:#a1dca3; font-size:2rem; font-weight:800; }
.process-card > i { display:grid; width:2.9rem; height:2.9rem; margin-top:1rem; place-items:center; border-radius:1rem; background:#e7f6e7; color:#2a6d31; }
.process-card h3 { margin-top:1rem; font-weight:800; color:#0f172a; }
.process-card p { margin-top:.55rem; color:#64748b; font-size:.82rem; line-height:1.7; }

.cta-section { background:linear-gradient(180deg,#fff 0%,#f4fbf4 100%); }
.entity-card { display:flex; flex-direction:column; border:1px solid #dce7dd; border-radius:1.4rem; background:#fff; padding:1.25rem; }
.entity-card > i { color:#33893a; }
.entity-card small { margin-top:.85rem; color:#94a3b8; font-size:.7rem; }
.entity-card strong { margin-top:.25rem; color:#1e293b; font-size:.88rem; line-height:1.6; }

.social-card { display:flex; align-items:center; gap:1rem; border:1px solid #e4ebe4; border-radius:1.5rem; background:#fff; padding:1.25rem; box-shadow:0 12px 35px rgba(20,55,28,.05); transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.social-card:hover { transform:translateY(-4px); border-color:#cceccc; box-shadow:0 18px 45px rgba(20,55,28,.1); }
.social-icon { display:grid; width:3rem; height:3rem; place-items:center; flex:0 0 auto; border-radius:1rem; background:#e7f6e7; color:#2a6d31; font-size:1.15rem; }
.social-card small { display:block; color:#94a3b8; font-size:.68rem; }
.social-card strong { display:block; margin-top:.2rem; color:#1e293b; font-size:.84rem; line-height:1.45; word-break:break-word; }
.social-card div > span { display:block; margin-top:.45rem; color:#33893a; font-size:.72rem; font-weight:800; }
.social-card div > span i { margin-left:.25rem; font-size:.65rem; }

.faq-item { overflow:hidden; border:1px solid #dbe5dc; border-radius:1.25rem; background:white; }
.faq-item button { display:flex; width:100%; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem 1.4rem; text-align:left; font-weight:800; color:#1e293b; }
.faq-item button > i { display:grid; width:2rem; height:2rem; place-items:center; flex:0 0 auto; border-radius:999px; background:#f4fbf4; color:#2a6d31; font-size:.85rem; transition:transform .2s ease; }
.faq-item > div { display:grid; grid-template-rows:0fr; transition:grid-template-rows .25s ease; }
.faq-item > div > p { overflow:hidden; padding:0 1.4rem; font-size:.88rem; line-height:1.75; color:#64748b; transition:padding .25s ease; }
.faq-item.active > div { grid-template-rows:1fr; }
.faq-item.active > div > p { padding:0 1.4rem 1.3rem; }
.faq-item.active button > i { transform:rotate(45deg); }

.contact-row { display:flex; align-items:flex-start; gap:1rem; border-bottom:1px solid #e2e8f0; padding:1rem 0; }
.contact-row > span { display:grid; width:2.5rem; height:2.5rem; place-items:center; flex:0 0 auto; border-radius:.9rem; background:#e7f6e7; color:#2a6d31; }
.contact-row small { display:block; color:#94a3b8; }
.contact-row strong { display:block; margin-top:.2rem; line-height:1.55; color:#1e293b; }
.form-head-icon { display:grid; width:3rem; height:3rem; place-items:center; flex:0 0 auto; border-radius:1rem; background:#e7f6e7; color:#2a6d31; }
.form-field { display:block; }
.form-field span { display:block; margin-bottom:.5rem; font-size:.78rem; font-weight:800; color:#334155; }
.form-field input,.form-field textarea { width:100%; border:1px solid #dbe4dd; border-radius:1rem; background:white; padding:.95rem 1rem; font-size:.9rem; outline:none; transition:border-color .2s ease, box-shadow .2s ease; }
.form-field input:focus,.form-field textarea:focus { border-color:#45a94b; box-shadow:0 0 0 4px rgba(69,169,75,.10); }

.footer-social { display:grid; width:2.5rem; height:2.5rem; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:.85rem; background:rgba(255,255,255,.06); color:#fff; transition:background .2s ease, transform .2s ease; }
.footer-social:hover { background:#2a6d31; transform:translateY(-2px); }
.floating-contact { position:fixed; right:1rem; bottom:1rem; z-index:40; display:flex; flex-direction:column; gap:.65rem; }
.floating-button { display:grid; width:3rem; height:3rem; place-items:center; border:1px solid #e2e8f0; border-radius:999px; background:#fff; color:#2a6d31; box-shadow:0 12px 30px rgba(15,23,42,.14); transition:transform .2s ease, background .2s ease, color .2s ease; }
.floating-button:hover { transform:translateY(-2px) scale(1.04); background:#f4fbf4; }
.floating-primary { width:3.5rem; height:3.5rem; border-color:#2a6d31; background:#2a6d31; color:#fff; }
.floating-primary:hover { background:#25572b; color:#fff; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity:1; transform:none; }
.reveal-delay { transition-delay:.12s; }

@media (max-width: 640px) {
  .hero-floating-card { left:.8rem; right:.8rem; bottom:.8rem; max-width:none; }
  .image-note { left:1rem; right:1rem; max-width:none; }
  .floating-contact { right:.75rem; bottom:.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior:auto !important; transition:none !important; }
  .reveal { opacity:1; transform:none; }
}
