/* ===== AgiSoft public marketing site ===== */
.site{ background:#fff; color:#334155; }
.site-nav{ background:rgba(255,255,255,.92); backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid #eef2f6; position:sticky; top:0; z-index:1030; padding:.6rem 0; }
.site-brand{ font-weight:900; font-size:1.4rem; color:#0f172a; text-decoration:none; letter-spacing:-.02em; display:inline-flex; align-items:center; gap:8px; }
.site-brand .logo{ width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;font-size:20px;
  background:linear-gradient(135deg,#25D366,#075E54); box-shadow:0 6px 16px rgba(37,211,102,.35); }
.site-nav .nav-link{ font-weight:600; color:#475569; padding:.4rem .9rem; }
.site-nav .nav-link.active,.site-nav .nav-link:hover{ color:#128C7E; }

/* ===== Mega menu ===== */
.has-mega{ position:static; }              /* anchor mega to full nav width */
.mega{
  position:absolute; left:0; right:0; top:100%;
  opacity:0; visibility:hidden; transform:translateY(8px); transition:.18s ease;
  z-index:1040; padding:0 16px 4px;
}
.has-mega:hover .mega,
.has-mega:focus-within .mega,
.mega:hover{ opacity:1; visibility:visible; transform:translateY(0); }
.mega-toggle .bi-chevron-down{ transition:transform .18s; }
.has-mega:hover .mega-toggle .bi-chevron-down{ transform:rotate(180deg); }
.mega-inner{
  max-width:1000px; margin:10px auto 0; background:#fff; border:1px solid #eef2f6;
  border-radius:18px; box-shadow:0 24px 60px rgba(16,24,40,.16); padding:22px;
  display:grid; grid-template-columns:1fr 1fr 1.1fr; gap:10px;
}
.mega-head{ font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; font-weight:700; color:#94a3b8; padding:0 10px 8px; }
.mega-link{ display:flex; gap:12px; align-items:flex-start; padding:10px; border-radius:12px; text-decoration:none; transition:background .12s; }
.mega-link:hover{ background:#f6f8fa; }
.mega-ic{ width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:1.2rem;flex:0 0 auto; }
.mega-name{ display:block; font-weight:700; color:#0f172a; font-size:.92rem; line-height:1.2; }
.mega-desc{ display:block; font-size:.8rem; color:#64748b; }
.mega-feature{ background:linear-gradient(135deg,#0b1220,#0e2a20); border-radius:14px; padding:20px; }

/* Mobile: mega collapses into a simple inline list */
@media(max-width:991.98px){
  .mega{ position:static; opacity:1; visibility:visible; transform:none; padding:0; }
  .mega-inner{ display:block; box-shadow:none; border:0; padding:6px 0 0; margin:0; }
  .mega-feature{ display:none; }
  .mega-toggle .bi-chevron-down{ display:none; }
}

/* Hero */
.hero-sec{ background:radial-gradient(900px 400px at 80% -10%,rgba(37,211,102,.18),transparent 60%),
  linear-gradient(135deg,#0b1220,#0e2a20); color:#fff; padding:90px 0 80px; position:relative; overflow:hidden; }
.hero-sec h1{ color:#fff; font-size:3rem; font-weight:900; line-height:1.1; letter-spacing:-.03em; }
.hero-sec .lead{ color:#9fb3c8; font-size:1.15rem; max-width:560px; }
.hero-badge{ display:inline-flex; align-items:center; gap:8px; background:rgba(37,211,102,.15); color:#7ef0a8;
  border:1px solid rgba(37,211,102,.3); padding:.4rem .9rem; border-radius:999px; font-size:.85rem; font-weight:600; margin-bottom:18px; }
.hero-stats{ display:flex; gap:36px; margin-top:36px; flex-wrap:wrap; }
.hero-stats .n{ font-size:2rem; font-weight:800; color:#fff; }
.hero-stats .l{ color:#9fb3c8; font-size:.85rem; }
.hero-art{ background:linear-gradient(135deg,rgba(37,211,102,.15),rgba(7,94,84,.1)); border:1px solid rgba(255,255,255,.1);
  border-radius:24px; padding:28px; }
.hero-art .chip{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:14px; color:#cbd5e1; }
.hero-art .chip i{ color:#25D366; font-size:1.4rem; }

section.block{ padding:72px 0; }
.section-tag{ color:#128C7E; font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; }
.section-title{ font-size:2.1rem; font-weight:800; color:#0f172a; letter-spacing:-.02em; }
.section-sub{ color:#64748b; max-width:640px; margin:0 auto; }

/* Service cards */
.svc-card{ background:#fff; border:1px solid #eef2f6; border-radius:18px; padding:28px; height:100%;
  transition:transform .18s, box-shadow .18s, border-color .18s; }
.svc-card:hover{ transform:translateY(-4px); box-shadow:0 20px 40px rgba(16,24,40,.1); border-color:#d7f5e3; }
.svc-card .ic{ width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-size:1.5rem;margin-bottom:16px; }
.svc-card h5{ font-weight:700; color:#0f172a; }
.svc-card p{ color:#64748b; font-size:.92rem; margin:0; }
.tint-green{ background:rgba(37,211,102,.12); color:#0f8a4d; }
.tint-blue{ background:rgba(59,130,246,.12); color:#2563eb; }
.tint-violet{ background:rgba(139,92,246,.14); color:#7c3aed; }
.tint-amber{ background:rgba(245,158,11,.14); color:#b45309; }
.tint-teal{ background:rgba(7,94,84,.12); color:#075E54; }
.tint-rose{ background:rgba(244,63,94,.12); color:#e11d48; }

.bg-soft{ background:#f6f8fa; }
.feature-li{ display:flex; gap:12px; align-items:flex-start; margin-bottom:14px; }
.feature-li i{ color:#25D366; font-size:1.2rem; margin-top:2px; }

/* Pricing */
.price-card{ background:#fff; border:1px solid #eef2f6; border-radius:20px; padding:30px; height:100%; position:relative; transition:.18s; }
.price-card:hover{ box-shadow:0 20px 40px rgba(16,24,40,.1); }
.price-card.featured{ border:2px solid #25D366; box-shadow:0 20px 50px rgba(37,211,102,.18); }
.price-card .pname{ font-weight:700; color:#0f172a; font-size:1.2rem; }
.price-card .pamt{ font-size:2.4rem; font-weight:900; color:#0f172a; letter-spacing:-.02em; }
.price-card .popular{ position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background:#25D366; color:#06301f; font-weight:700; font-size:.72rem; padding:.25rem .8rem; border-radius:999px; }
.price-card ul{ list-style:none; padding:0; margin:18px 0; }
.price-card li{ padding:.4rem 0; color:#475569; font-size:.9rem; border-bottom:1px solid #f1f5f9; }
.price-card li i{ color:#25D366; margin-right:8px; }

/* CTA band */
.cta-band{ background:linear-gradient(135deg,#25D366,#075E54); border-radius:24px; padding:48px; color:#fff; }
.cta-band h2{ color:#fff; font-weight:800; }

/* Vision / Mission cards */
.vm-card{ background:#fff; border:1px solid #eef2f6; border-radius:18px; padding:30px; height:100%; }
.vm-card .vm-ic{ width:58px;height:58px;border-radius:15px;display:grid;place-items:center;font-size:1.7rem;margin-bottom:16px; }
.vm-card h3{ font-weight:800; color:#0f172a; }

/* History timeline */
.timeline{ position:relative; padding-left:0; }
.timeline::before{ content:""; position:absolute; left:18px; top:6px; bottom:6px; width:2px; background:linear-gradient(#25D366,#075E54,#eef2f6); }
.tl-item{ position:relative; padding-left:56px; margin-bottom:26px; }
.tl-dot{ position:absolute; left:8px; top:2px; width:22px;height:22px;border-radius:50%;
  background:#25D366; border:4px solid #fff; box-shadow:0 0 0 2px #25D366; }
.tl-year{ font-weight:800; color:#128C7E; font-size:.9rem; }
.tl-title{ font-weight:700; color:#0f172a; }
.tl-text{ color:#64748b; font-size:.92rem; }

/* Footer */
.site-foot{ background:#0b1220; color:#cbd5e1; padding:56px 0 28px; }
.site-foot h6{ font-weight:700; margin-bottom:14px; }
.site-foot a{ display:block; color:#94a3b8; text-decoration:none; padding:.2rem 0; font-size:.9rem; }
.site-foot a:hover{ color:#25D366; }

/* Logos / trust */
.trust{ color:#94a3b8; font-weight:700; letter-spacing:.05em; }

@media(max-width:992px){ .hero-sec h1{ font-size:2.2rem; } .hero-sec{ padding:56px 0; } section.block{ padding:48px 0; } }
