/* ═══════════════════════════════════════════════════════════════
   iRECORD DESIGN SYSTEM — shared stylesheet
   Navy #0B2A36 trust · Green #6DC540 action
   Plus Jakarta Sans (headings) · Inter (body)
   Glass cards rgba(255,255,255,0.90) + blur(20px)
   ═══════════════════════════════════════════════════════════════ */

/* §0 TOKENS */
:root {
  --navy:#0B2A36; --navy-light:#163D50; --navy-deep:#0F3245;
  --navy-60:rgba(11,42,54,0.60); --navy-10:rgba(11,42,54,0.08);
  --green:#6DC540; --green-dark:#56A030; --green-mid:#85D455; --green-bright:#3DB800;
  --green-light:#EDF9E4; --green-soft:rgba(109,197,64,0.15);
  --bg:#F4F7F9; --surface:rgba(255,255,255,0.72); --surface-strong:rgba(255,255,255,0.90);
  --border:rgba(11,42,54,0.08); --border-glass:rgba(255,255,255,0.72);
  --text-heading:#0B2A36; --text-body:#3A5260; --text-muted:#7A9BAA;
  --success:#16A34A; --warning:#F5C518; --danger:#DC2626; --info:#60A5FA;
  --purple:#7C3AED; --amber:#C48A00;
  --ic-green-bg:#EDF9E4;   --ic-green-fg:#56A030;
  --ic-navy-bg:rgba(11,42,54,0.08); --ic-navy-fg:#0B2A36;
  --ic-yellow-bg:#FFF8E6;  --ic-yellow-fg:#C48A00;
  --ic-red-bg:#FEF2F2;     --ic-red-fg:#DC2626;
  --ic-success-bg:#F0FDF4; --ic-success-fg:#16A34A;
  --ic-purple-bg:#F5F3FF;  --ic-purple-fg:#7C3AED;
  --ic-blue-bg:rgba(96,165,250,.15); --ic-blue-fg:#2563EB;
  --shadow-sm:0 2px 10px rgba(11,42,54,0.07);
  --shadow-md:0 8px 32px rgba(11,42,54,0.10);
  --shadow-lg:0 20px 60px rgba(11,42,54,0.13);
  --shadow-green:0 8px 28px rgba(109,197,64,0.30);
  --r-sm:12px; --r-md:18px; --r-lg:28px; --r-xl:40px; --r-pill:999px;
  --font-h:'Plus Jakarta Sans',system-ui,sans-serif;
  --font-b:'Inter',system-ui,sans-serif;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px;
  --sp-5:20px; --sp-6:24px; --sp-8:32px; --sp-10:40px;
  --sp-12:48px; --sp-16:64px; --sp-20:80px;
}

/* §1 BASE */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family:var(--font-b); background:var(--bg); color:var(--text-body);
  line-height:1.65; overflow-x:hidden;
}
body::before {
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 55% at 5% 0%,  rgba(11,42,54,0.06), transparent 65%),
    radial-gradient(ellipse 55% 45% at 95% 100%,rgba(109,197,64,0.08),transparent 65%),
    radial-gradient(ellipse 40% 35% at 60% 40%, rgba(109,197,64,0.04),transparent 60%);
}
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
ul { list-style:none; }
section { position:relative; z-index:1; }
main { position:relative; z-index:1; }

/* §2 LAYOUT */
.container { max-width:1180px; margin:0 auto; padding:0 5%; }
.section   { padding:80px 5%; }
.si        { max-width:1180px; margin:0 auto; }
.eyebrow, .s-label {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.74rem; font-weight:700; letter-spacing:1px;
  text-transform:uppercase; color:var(--green-dark); margin-bottom:12px;
}
.eyebrow::before, .s-label::before {
  content:''; width:18px; height:2px; background:var(--green); border-radius:2px;
}
.section-title, .s-title {
  font-family:var(--font-h); font-size:clamp(1.75rem,3.5vw,2.5rem);
  font-weight:800; color:var(--text-heading); letter-spacing:-.8px;
  line-height:1.2; margin-bottom:14px;
}
.section-sub, .s-sub {
  font-size:.97rem; color:var(--text-muted); max-width:540px; line-height:1.75;
}
.hl {
  background:linear-gradient(135deg,var(--green),var(--green-bright));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}

/* §3 NAVBAR */
.navbar {
  position:fixed; top:16px; left:50%; transform:translateX(-50%); z-index:1000;
  height:60px; padding:0 20px; width:calc(100% - 40px); max-width:1200px;
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border:1.5px solid rgba(255,255,255,0.70); border-radius:20px;
  box-shadow:0 8px 32px rgba(11,42,54,.10), 0 1.5px 0 rgba(255,255,255,.8) inset;
  transition:background .3s, box-shadow .3s;
}
.navbar.scrolled { background:rgba(255,255,255,0.82); }
.nav-logo { display:flex; align-items:center; gap:9px; }
.nav-logo img.fav-icon { width:34px; height:34px; border-radius:9px; }
.nav-logo img.logo-text { height:24px; width:auto; }
.nav-links { display:flex; gap:2px; align-items:center; }
.nav-links > a, .nav-links > .nav-item > a {
  font-size:.86rem; font-weight:500; color:var(--text-body);
  padding:7px 14px; border-radius:8px; cursor:pointer; transition:all .2s;
  display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
}
.nav-links > a:hover, .nav-links > a.active,
.nav-links > .nav-item > a:hover, .nav-links > .nav-item.active > a {
  background:var(--green-light); color:var(--navy);
}
.nav-chev { width:14px; height:14px; transition:transform .2s; }
.nav-cta { display:flex; gap:10px; align-items:center; }
@media(max-width:980px) { .nav-links, .nav-cta { display:none; } }

/* §3b MEGA MENU */
.nav-item { position:relative; }
.mega-menu {
  position:absolute; top:calc(100% + 14px); left:50%;
  transform:translateX(-50%) translateY(6px) scale(.97);
  z-index:600; width:720px; max-width:90vw;
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border:1.5px solid rgba(255,255,255,.82); border-radius:20px;
  box-shadow:0 20px 60px rgba(11,42,54,.14);
  padding:24px; opacity:0; pointer-events:none;
  transition:opacity .18s, transform .18s;
}
/* Invisible hover bridge between trigger and menu — keeps :hover alive
   while cursor traverses the 14px gap. */
.mega-menu::before {
  content:''; position:absolute; left:0; right:0;
  top:-18px; height:18px; background:transparent;
}
.nav-item.open .mega-menu,
.nav-item:hover .mega-menu {
  opacity:1; transform:translateX(-50%) translateY(0) scale(1); pointer-events:all;
}
.nav-item.open > a .nav-chev,
.nav-item:hover > a .nav-chev { transform:rotate(180deg); }
.mega-grid { display:grid; grid-template-columns:1fr 1px 1fr 1px 1fr; gap:8px; }
.mega-divider-v { background:var(--border); }
.mega-col-title {
  font-size:.68rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.9px; color:var(--text-muted);
  padding:4px 10px 8px; margin-bottom:2px;
}
.mega-item {
  display:flex; align-items:flex-start; gap:11px; padding:11px 12px;
  border-radius:11px; cursor:pointer; border:none; background:none;
  font-family:var(--font-b); text-align:left; width:100%;
  transition:background .12s; text-decoration:none;
}
.mega-item:hover { background:var(--green-light); }
.mega-item-ico {
  width:36px; height:36px; border-radius:9px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
.mega-item-ico [data-lucide], .mega-item-ico svg { width:18px; height:18px; }
.mega-item-title {
  font-size:.84rem; font-weight:700; color:var(--text-heading);
  line-height:1.2; margin-bottom:2px;
}
.mega-item-sub { font-size:.74rem; color:var(--text-muted); line-height:1.4; }
.mega-footer {
  margin-top:16px; padding-top:14px; border-top:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
}
.mega-footer-badge {
  display:inline-flex; align-items:center; gap:6px;
  font-size:.74rem; font-weight:600; color:var(--green-dark);
  background:var(--green-light); padding:5px 12px; border-radius:var(--r-pill);
}
@media(max-width:900px) { .mega-menu { width:90vw; } .mega-grid { grid-template-columns:1fr; } .mega-divider-v { display:none; } }

/* Compact mega menu — single column, narrow width. Used for About / Contact dropdowns. */
.mega-menu.compact { width:340px; padding:14px; }
.mega-menu.compact .mega-grid { grid-template-columns:1fr; gap:2px; }
.mega-menu.compact .mega-item { padding:10px 12px; }
.mega-menu.compact .mega-item-ico { width:34px; height:34px; border-radius:9px; }
.mega-menu.compact .mega-item-ico [data-lucide], .mega-menu.compact .mega-item-ico svg { width:16px; height:16px; }
.mega-menu.compact .mega-item-title { font-size:.84rem; }
.mega-menu.compact .mega-item-sub { font-size:.72rem; }
@media(max-width:900px) { .mega-menu.compact { width:88vw; } }

/* Showcase mega menu — list on left, big visual on right. Used for Our Products. */
.mega-menu.showcase { width:760px; padding:0; }
.mega-menu.showcase .showcase-grid { display:grid; grid-template-columns:1fr 280px; border-radius:20px; overflow:hidden; }
.mega-menu.showcase .showcase-list { padding:18px 16px; display:flex; flex-direction:column; gap:4px; }
.showcase-item {
  display:flex; gap:14px; align-items:flex-start;
  padding:13px 14px; border-radius:13px;
  background:none; text-decoration:none;
  font-family:var(--font-b); transition:background .15s;
}
.showcase-item:hover { background:var(--green-light); }
.showcase-ico {
  width:42px; height:42px; border-radius:11px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.showcase-ico [data-lucide], .showcase-ico svg { width:20px; height:20px; }
.showcase-title {
  display:flex; align-items:center; gap:8px;
  font-family:var(--font-h); font-size:.92rem; font-weight:700;
  color:var(--text-heading); line-height:1.2; margin-bottom:4px;
}
.showcase-title .arr {
  width:14px; height:14px; opacity:0;
  transform:translateX(-4px); transition:all .2s; color:var(--green-dark);
}
.showcase-item:hover .showcase-title .arr { opacity:1; transform:translateX(0); }
.showcase-sub { font-size:.78rem; color:var(--text-muted); line-height:1.5; }
.showcase-image {
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);
  display:flex; align-items:center; justify-content:center;
  padding:22px; position:relative; overflow:hidden;
}
.showcase-image::before {
  content:''; position:absolute; width:220px; height:220px;
  background:radial-gradient(circle,rgba(109,197,64,.20),transparent 70%);
  top:-70px; right:-70px; pointer-events:none;
}
.showcase-image::after {
  content:''; position:absolute; width:140px; height:140px;
  background:radial-gradient(circle,rgba(255,255,255,.06),transparent 70%);
  bottom:-40px; left:-30px; pointer-events:none;
}
.sc-mockup {
  background:rgba(255,255,255,.96); border-radius:14px;
  padding:18px; width:100%; position:relative; z-index:1;
  box-shadow:0 14px 36px rgba(0,0,0,.25);
}
.sc-mockup .sc-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.sc-mockup .sc-label { font-size:.7rem; font-weight:700; color:var(--text-muted); text-transform:uppercase; letter-spacing:.4px; }
.sc-amt { font-family:var(--font-h); font-weight:800; font-size:1.55rem; color:var(--text-heading); letter-spacing:-1px; line-height:1; }
.sc-delta { display:inline-block; margin:6px 0 14px; font-size:.72rem; font-weight:700; color:var(--green-dark); background:var(--green-light); padding:2px 10px; border-radius:var(--r-pill); }
.sc-bars { display:flex; flex-direction:column; gap:6px; margin-bottom:12px; }
.sc-bars > div { height:8px; border-radius:4px; }
.sc-bars > div:nth-child(1) { width:80%; background:linear-gradient(90deg,var(--green),var(--green-mid)); }
.sc-bars > div:nth-child(2) { width:62%; background:linear-gradient(90deg,var(--navy),#1A5070); }
.sc-bars > div:nth-child(3) { width:74%; background:linear-gradient(90deg,var(--green),var(--green-bright)); }
.sc-bars > div:nth-child(4) { width:58%; background:linear-gradient(90deg,var(--navy-light),var(--navy)); opacity:.8; }
.sc-foot { font-size:.7rem; color:var(--text-muted); line-height:1.4; }

/* Mockup variants — show only the one matching the hovered showcase item */
.sc-mockup { display:none; animation:fadeUp .35s ease both; }
.showcase-grid[data-active="investor"] .sc-investor,
.showcase-grid[data-active="ca"] .sc-ca,
.showcase-grid[data-active="ria"] .sc-ria { display:block; }

/* CA variant — Client Reports palette */
.sc-ca .sc-bars > div:nth-child(1) { width:90%; background:linear-gradient(90deg,#2563EB,#60A5FA); }
.sc-ca .sc-bars > div:nth-child(2) { width:72%; background:linear-gradient(90deg,var(--green),var(--green-mid)); }
.sc-ca .sc-bars > div:nth-child(3) { width:55%; background:linear-gradient(90deg,#7C3AED,#A78BFA); }
.sc-ca .sc-bars > div:nth-child(4) { width:42%; background:linear-gradient(90deg,#C48A00,#F5C518); opacity:.9; }
.sc-ca .sc-pill-blue { background:rgba(96,165,250,.15); color:#2563EB; }
.sc-ca .sc-pill-blue .ldot { background:#60A5FA; }
.sc-ca .sc-delta { background:rgba(96,165,250,.15); color:#2563EB; }

/* RIA variant — Advisory AUM palette */
.sc-ria .sc-bars > div:nth-child(1) { width:88%; background:linear-gradient(90deg,var(--green),var(--green-bright)); }
.sc-ria .sc-bars > div:nth-child(2) { width:72%; background:linear-gradient(90deg,var(--navy),#1A5070); }
.sc-ria .sc-bars > div:nth-child(3) { width:60%; background:linear-gradient(90deg,#7C3AED,#A78BFA); }
.sc-ria .sc-bars > div:nth-child(4) { width:48%; background:linear-gradient(90deg,var(--green-dark),var(--green-bright)); opacity:.9; }
@media(max-width:900px) {
  .mega-menu.showcase { width:88vw; }
  .mega-menu.showcase .showcase-grid { grid-template-columns:1fr; }
  .mega-menu.showcase .showcase-image { display:none; }
}

/* Hamburger */
.hamburger {
  display:none; width:40px; height:40px; border-radius:10px;
  background:transparent; border:1.5px solid var(--border);
  flex-direction:column; justify-content:center; align-items:center;
  gap:4px; cursor:pointer;
}
.hamburger span {
  display:block; width:18px; height:2px; background:var(--navy); border-radius:2px;
}
@media(max-width:980px) { .hamburger { display:flex; } }

/* Mobile menu */
.mobile-menu {
  position:fixed; top:88px; left:50%; transform:translateX(-50%);
  width:calc(100% - 40px); max-width:1200px; z-index:999;
  background:rgba(255,255,255,.96); backdrop-filter:blur(28px) saturate(180%);
  border:1.5px solid rgba(255,255,255,.82); border-radius:20px;
  padding:14px 18px; box-shadow:0 16px 48px rgba(11,42,54,.14);
  display:none; flex-direction:column; gap:2px;
}
.mobile-menu.open { display:flex; }
.mobile-menu a {
  padding:10px 12px; border-radius:10px; font-size:.92rem; font-weight:500;
  color:var(--text-body); transition:background .15s, color .15s;
}
.mobile-menu a:hover, .mobile-menu a.active {
  background:var(--green-light); color:var(--navy); font-weight:700;
}
.mobile-menu .mob-section-title {
  font-size:.68rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.9px; color:var(--text-muted); padding:10px 12px;
  display:flex; align-items:center; justify-content:space-between;
  cursor:pointer; user-select:none; border-radius:10px;
  transition:background .15s, color .15s;
}
.mobile-menu .mob-section-title:hover { background:var(--green-light); color:var(--navy); }
.mobile-menu .mob-section-title.open { color:var(--green-dark); background:var(--green-light); }
.mobile-menu .mob-caret {
  font-size:.7rem; line-height:1; transition:transform .2s ease;
  display:inline-flex;
}
.mobile-menu .mob-section-title.open .mob-caret { transform:rotate(180deg); }
.mobile-menu .mob-sub-item.collapsed { display:none; }
.mobile-menu .mob-divider { height:1px; background:var(--border); margin:6px 0; }
.mobile-menu .btn-mob-cta {
  margin-top:6px; padding:11px 14px; text-align:center;
  background:linear-gradient(135deg,var(--green),var(--green-mid));
  color:#fff !important; font-weight:700 !important;
  border-radius:10px; box-shadow:var(--shadow-green);
}

/* §4 BUTTONS */
.btn {
  font-family:var(--font-b); cursor:pointer; border:none;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  transition:all .2s; border-radius:var(--r-sm); text-decoration:none;
}
.btn-primary {
  font-size:.84rem; font-weight:700; padding:9px 20px; color:#fff;
  background:linear-gradient(135deg,var(--green),var(--green-mid));
  box-shadow:var(--shadow-green);
}
.btn-primary:hover { transform:translateY(-1px); box-shadow:0 10px 32px rgba(109,197,64,.40); }
.btn-hero {
  font-size:.97rem; font-weight:700; padding:14px 28px;
  border-radius:14px; color:#fff;
  background:linear-gradient(135deg,var(--green),var(--green-mid));
  box-shadow:var(--shadow-green);
}
.btn-hero:hover { transform:translateY(-2px); box-shadow:0 12px 32px rgba(109,197,64,.42); }
.btn-outline {
  font-size:.84rem; font-weight:600; padding:8px 18px;
  border:1.5px solid var(--navy); color:var(--navy); background:transparent;
}
.btn-outline:hover { background:var(--navy-10); }
.btn-ghost {
  font-size:.97rem; font-weight:700; padding:13px 26px;
  border-radius:13px; color:var(--navy);
  background:var(--surface-strong); backdrop-filter:blur(20px);
  border:1.5px solid var(--border-glass); box-shadow:var(--shadow-sm);
}
.btn-ghost:hover { background:#fff; }

/* §5 CARDS */
.card {
  background:var(--surface-strong);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid var(--border-glass); border-radius:var(--r-md);
  padding:28px; box-shadow:var(--shadow-sm); transition:all .3s;
}
.card:hover {
  transform:translateY(-4px); box-shadow:var(--shadow-lg);
  border-color:rgba(109,197,64,0.22);
}
.feature-card .fc-ico {
  width:50px; height:50px; border-radius:14px;
  display:flex; align-items:center; justify-content:center; margin-bottom:18px;
}
.feature-card .fc-ico [data-lucide], .feature-card .fc-ico svg { width:22px; height:22px; }
.feature-card h3 {
  font-family:var(--font-h); font-size:.98rem; font-weight:700;
  color:var(--text-heading); margin-bottom:9px;
}
.feature-card p { font-size:.84rem; color:var(--text-muted); line-height:1.7; }
.feature-card .tag {
  display:inline-flex; margin-top:14px;
  font-size:.7rem; font-weight:700; padding:3px 10px;
  border-radius:var(--r-pill); color:var(--green-dark); background:var(--green-light);
}
.benefit-card { display:flex; gap:20px; }
.benefit-card .bnum {
  font-family:var(--font-h); font-size:2rem; font-weight:800;
  color:var(--green); opacity:.22; line-height:1; flex-shrink:0;
}
.benefit-card h3 {
  font-family:var(--font-h); font-size:.97rem; font-weight:700;
  color:var(--text-heading); margin-bottom:8px;
}
.benefit-card p { font-size:.85rem; color:var(--text-muted); line-height:1.72; }
.testi-card .stars { display:flex; gap:2px; margin-bottom:14px; }
.testi-card .stars [data-lucide], .testi-card .stars svg { width:15px; height:15px; fill:#F59E0B; color:#F59E0B; }
.testi-card .quote { font-size:.86rem; font-style:italic; line-height:1.8; margin-bottom:18px; }
.testi-card .author { display:flex; align-items:center; gap:12px; }
.testi-card .av {
  width:38px; height:38px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,var(--navy),#1A5070);
  display:flex; align-items:center; justify-content:center;
  font-size:.78rem; font-weight:700; color:#fff;
}
.testi-card .av.green { background:linear-gradient(135deg,var(--green),var(--green-bright)); }
.testi-card .aname { font-size:.85rem; font-weight:700; color:var(--text-heading); }
.testi-card .arole { font-size:.72rem; color:var(--text-muted); }
.stat-card { text-align:center; }
.stat-card .snum {
  font-family:var(--font-h); font-size:2rem; font-weight:800;
  color:var(--text-heading); letter-spacing:-1px; line-height:1;
}
.stat-card .snum span { color:var(--green); }
.stat-card .slbl { font-size:.8rem; color:var(--text-muted); font-weight:500; margin-top:5px; }
.cta-card { display:flex; flex-direction:column; gap:14px; }
.cta-card .card-ico { width:48px; height:48px; border-radius:13px; display:flex; align-items:center; justify-content:center; }
.cta-card .card-ico [data-lucide], .cta-card .card-ico svg { width:22px; height:22px; }
.cta-card h3 { font-family:var(--font-h); font-size:.97rem; font-weight:700; color:var(--text-heading); }
.cta-card p  { font-size:.84rem; color:var(--text-muted); line-height:1.7; flex:1; }
.cta-card .card-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:4px; }

/* §6 BADGES, PILLS */
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  padding:5px 14px 5px 7px; background:var(--green-light);
  border:1px solid rgba(109,197,64,.25); border-radius:var(--r-pill);
  font-size:.78rem; font-weight:700; color:var(--green-dark);
}
.hero-badge .dot {
  width:22px; height:22px; border-radius:50%;
  background:linear-gradient(135deg,var(--green),var(--green-mid));
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 8px rgba(109,197,64,.35); color:#fff;
}
.hero-badge .dot [data-lucide], .hero-badge .dot svg { width:11px; height:11px; }
.pill-live {
  display:inline-flex; align-items:center; gap:5px;
  font-size:.7rem; font-weight:700; padding:3px 10px;
  border-radius:var(--r-pill); background:var(--green-light); color:var(--green-dark);
}
.pill-live .ldot {
  width:6px; height:6px; border-radius:50%; background:var(--green); animation:pulse 1.5s infinite;
}
.delta-pos {
  display:inline-flex; align-items:center; gap:4px;
  font-size:.8rem; font-weight:700; padding:3px 10px;
  border-radius:var(--r-pill); color:var(--green-dark); background:var(--green-light);
}
.delta-neg {
  display:inline-flex; align-items:center; gap:4px;
  font-size:.8rem; font-weight:700; padding:3px 10px;
  border-radius:var(--r-pill); color:var(--danger); background:#FEF2F2;
}
.client-chip {
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 20px; background:#fff;
  border:1.5px solid var(--border); border-radius:var(--r-pill);
  font-size:.86rem; font-weight:700; color:var(--text-heading);
  white-space:nowrap; box-shadow:var(--shadow-sm);
}
.client-chip::before {
  content:''; width:7px; height:7px; border-radius:50%; background:var(--green);
}

/* §7 ICON CHIPS */
.ic { width:50px; height:50px; border-radius:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ic [data-lucide], .ic svg { width:22px; height:22px; }
.ic-g  { background:var(--ic-green-bg);   color:var(--ic-green-fg); }
.ic-n  { background:var(--ic-navy-bg);    color:var(--ic-navy-fg); }
.ic-y  { background:var(--ic-yellow-bg);  color:var(--ic-yellow-fg); }
.ic-r  { background:var(--ic-red-bg);     color:var(--ic-red-fg); }
.ic-s  { background:var(--ic-success-bg); color:var(--ic-success-fg); }
.ic-p  { background:var(--ic-purple-bg);  color:var(--ic-purple-fg); }
.ic-b  { background:var(--ic-blue-bg);    color:var(--ic-blue-fg); }

/* §8 DARK SECTIONS */
.dark-navy {
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 50%,var(--navy-deep) 100%);
  position:relative; overflow:hidden;
}
.dark-navy::before {
  content:''; position:absolute; width:420px; height:420px;
  background:rgba(109,197,64,0.07); border-radius:50%;
  top:-120px; right:-80px; pointer-events:none;
}
.dark-navy::after {
  content:''; position:absolute; width:220px; height:220px;
  background:rgba(255,255,255,0.03); border-radius:50%;
  bottom:-70px; left:38%; pointer-events:none;
}
.dark-forest { background:#0d3320; position:relative; overflow:hidden; }
.dark-forest::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(109,197,64,.07) 1px,transparent 1px);
  background-size:32px 32px; pointer-events:none;
}

/* §9 CTA BANNER */
.cta-banner {
  max-width:1180px; margin:0 auto;
  border-radius:var(--r-xl); padding:64px 56px;
  display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center;
  box-shadow:0 24px 70px rgba(11,42,54,.35);
}
.cta-banner h2 {
  font-family:var(--font-h); font-size:clamp(1.8rem,3vw,2.3rem);
  font-weight:800; color:#fff; letter-spacing:-.7px; margin-bottom:10px;
}
.cta-banner p { color:rgba(255,255,255,.65); font-size:.97rem; }
.cta-banner .cta-actions { display:flex; flex-direction:column; gap:10px; align-items:flex-end; position:relative; z-index:1; }
.cta-banner .cta-note { font-size:.78rem; color:rgba(255,255,255,.50); text-align:right; }
@media(max-width:768px) {
  .cta-banner { grid-template-columns:1fr; padding:40px 28px; }
  .cta-banner .cta-actions { align-items:flex-start; }
  .cta-banner .cta-note { text-align:left; }
}

/* §10 FOOTER */
.site-footer {
  background:var(--navy); color:rgba(255,255,255,.62);
  padding:72px 5% 0; position:relative; z-index:1;
}
.footer-grid {
  max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1.1fr;
  gap:48px; padding-bottom:52px;
}
.footer-brand img { height:30px; margin-bottom:14px; filter:brightness(0) invert(1); }
.footer-brand p { font-size:.84rem; line-height:1.75; color:rgba(255,255,255,.50); max-width:300px; margin-bottom:18px; }
.footer-contact { display:flex; flex-direction:column; gap:6px; }
.footer-contact a { font-size:.84rem; color:rgba(255,255,255,.65); display:inline-flex; align-items:center; gap:7px; }
.footer-contact a [data-lucide], .footer-contact a svg { width:14px; height:14px; color:var(--green); }
.footer-contact a:hover { color:var(--green); }
.footer-col h4 { font-size:.8rem; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:.5px; margin-bottom:16px; }
.footer-col ul { display:flex; flex-direction:column; gap:10px; }
.footer-col ul li a { font-size:.84rem; color:rgba(255,255,255,.50); transition:color .2s; cursor:pointer; }
.footer-col ul li a:hover { color:var(--green); }
.footer-col address { font-style:normal; font-size:.82rem; line-height:1.7; color:rgba(255,255,255,.55); display:flex; flex-direction:column; gap:8px; }
.footer-col address a { color:rgba(255,255,255,.55); }
.footer-col address a:hover { color:var(--green); }
.footer-col address [data-lucide], .footer-col address svg { width:13px; height:13px; display:inline; vertical-align:middle; margin-right:4px; color:var(--green); }
.footer-bottom {
  max-width:1180px; margin:0 auto;
  padding:22px 0 28px; border-top:1px solid rgba(255,255,255,.08);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  font-size:.78rem; color:rgba(255,255,255,.40);
}
.footer-bottom-links { display:flex; gap:18px; flex-wrap:wrap; }
.footer-bottom-links a { color:rgba(255,255,255,.40); transition:color .2s; }
.footer-bottom-links a:hover { color:var(--green); }
@media(max-width:900px) { .footer-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:560px) { .footer-grid { grid-template-columns:1fr; } .footer-bottom { flex-direction:column; align-items:flex-start; } }

/* §11 FORMS */
.field { display:flex; flex-direction:column; gap:8px; }
.field label {
  font-size:.72rem; font-weight:700; letter-spacing:.8px;
  color:var(--text-muted); text-transform:uppercase;
}
.input-wrap {
  display:flex; align-items:center;
  background:var(--surface-strong);
  border:1.5px solid var(--border);
  border-radius:var(--r-sm); overflow:hidden;
  transition:border-color .2s, box-shadow .2s;
}
.input-wrap:focus-within {
  border-color:var(--green); box-shadow:0 0 0 3px rgba(109,197,64,.1);
}
.input-wrap input, .input-wrap textarea, .input-wrap select {
  flex:1; border:none; outline:none; background:transparent;
  padding:12px 14px; font-family:var(--font-b);
  font-size:.9rem; color:var(--text-heading);
  width:100%; resize:vertical;
}
.input-wrap input::placeholder, .input-wrap textarea::placeholder { color:var(--text-muted); }
.input-wrap.warn  { border-color:#F5C518; box-shadow:0 0 0 3px rgba(245,197,24,.12); }
.input-wrap.error { border-color:var(--danger); box-shadow:0 0 0 3px rgba(220,38,38,.10); }
.input-wrap.ok    { border-color:var(--success); box-shadow:0 0 0 3px rgba(22,163,74,.10); }
.input-icon { padding:0 12px; color:var(--text-muted); display:flex; align-items:center; flex-shrink:0; }
.input-icon [data-lucide], .input-icon svg { width:16px; height:16px; }
.field-msg { font-size:.74rem; font-weight:600; margin-top:6px; display:flex; align-items:center; gap:5px; }
.field-msg [data-lucide], .field-msg svg { width:13px; height:13px; flex-shrink:0; }
.field-msg.warn  { color:#A87000; }
.field-msg.error { color:var(--danger); }
.field-msg.ok    { color:var(--success); }

/* §12 MODAL */
.modal-overlay {
  display:none; position:fixed; inset:0; z-index:9999;
  align-items:center; justify-content:center;
  background:rgba(11,42,54,0.55); backdrop-filter:blur(10px);
}
.modal-overlay.open { display:flex; }
.modal-box {
  background:#fff; border-radius:24px; padding:40px;
  max-width:440px; width:90%; position:relative;
  box-shadow:0 32px 80px rgba(11,42,54,.25);
}
.modal-ico {
  width:50px; height:50px;
  background:linear-gradient(135deg,var(--green),var(--green-mid));
  border-radius:14px; display:flex; align-items:center; justify-content:center;
  margin-bottom:20px; box-shadow:var(--shadow-green); color:#fff;
}
.modal-ico [data-lucide], .modal-ico svg { width:24px; height:24px; }
.modal-box h3 {
  font-family:var(--font-h); font-size:1.4rem; font-weight:800;
  color:var(--text-heading); margin-bottom:8px;
}
.modal-box p { font-size:.86rem; color:var(--text-muted); margin-bottom:22px; }
.modal-close {
  position:absolute; top:14px; right:16px;
  background:none; border:none; cursor:pointer; color:var(--text-muted);
}
.modal-btn {
  display:inline-flex; align-items:center; justify-content:center;
  width:100%; padding:13px 24px; border-radius:var(--r-sm);
  background:linear-gradient(135deg,var(--green),var(--green-mid));
  color:#fff; font-weight:700; font-size:.92rem;
  box-shadow:var(--shadow-green); margin-bottom:14px;
}
.modal-btn:hover { transform:translateY(-1px); box-shadow:0 10px 32px rgba(109,197,64,.40); }
.modal-note { font-size:.76rem; color:var(--text-muted); text-align:center; }

/* §13 ANIMATIONS */
@keyframes floatY { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
@keyframes pulse  { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.6; transform:scale(.85); } }
@keyframes fadeUp { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
@keyframes marquee { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }
.fade-up { animation:fadeUp .75s ease forwards; }
.float   { animation:floatY 4.5s ease-in-out infinite; }

/* §14 MARQUEE */
.marquee-track { width:100%; overflow:hidden; position:relative; }
.marquee-track::before,
.marquee-track::after {
  content:''; position:absolute; top:0; bottom:0; width:100px; z-index:2; pointer-events:none;
}
.marquee-track::before { left:0;  background:linear-gradient(to right,var(--bg),transparent); }
.marquee-track::after  { right:0; background:linear-gradient(to left, var(--bg),transparent); }
.marquee-inner {
  display:flex; gap:14px; width:max-content;
  animation:marquee 40s linear infinite;
}
.marquee-inner:hover { animation-play-state:paused; }

/* §15 DATA TABLE */
.data-table { width:100%; border-collapse:collapse; }
.data-table th {
  font-size:.74rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.8px; color:var(--text-muted); padding:10px 14px;
  text-align:left; border-bottom:1px solid var(--border);
}
.data-table td { padding:12px 14px; font-size:.9rem; border-bottom:1px solid var(--border); }
.data-table tr:last-child td { border-bottom:none; }
.data-table tr:hover td { background:rgba(109,197,64,.04); }
.up { color:var(--green-dark); font-weight:700; }
.dn { color:var(--danger); font-weight:700; }

/* §16 PAGE HERO (shared across about/contact/download) */
.page-hero {
  position:relative; padding:140px 5% 70px; z-index:1;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 50%,var(--navy-deep) 100%);
  overflow:hidden;
}
.page-hero::before {
  content:''; position:absolute; width:520px; height:520px;
  background:radial-gradient(circle,rgba(109,197,64,.10),transparent 70%);
  top:-180px; right:-100px; pointer-events:none;
}
.page-hero::after {
  content:''; position:absolute; width:280px; height:280px;
  background:radial-gradient(circle,rgba(255,255,255,.04),transparent 70%);
  bottom:-100px; left:30%; pointer-events:none;
}
.page-hero .ph-inner {
  max-width:1180px; margin:0 auto; position:relative; z-index:2;
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
}
.page-hero .ph-badge {
  display:inline-flex; align-items:center; gap:8px;
  padding:5px 14px 5px 7px; background:rgba(109,197,64,.16);
  border:1px solid rgba(109,197,64,.30); border-radius:var(--r-pill);
  font-size:.76rem; font-weight:700; color:#a8e063; margin-bottom:22px;
}
.page-hero .ph-badge .dot {
  width:22px; height:22px; border-radius:50%;
  background:linear-gradient(135deg,var(--green),var(--green-mid));
  display:flex; align-items:center; justify-content:center; color:#fff;
}
.page-hero .ph-badge .dot [data-lucide], .page-hero .ph-badge .dot svg { width:11px; height:11px; }
.page-hero h1 {
  font-family:var(--font-h); font-weight:800;
  font-size:clamp(2rem,4.5vw,3rem); line-height:1.1;
  letter-spacing:-1.2px; color:#fff; margin-bottom:18px;
}
.page-hero p { font-size:1rem; color:rgba(255,255,255,.7); line-height:1.7; max-width:520px; margin-bottom:32px; }
.page-hero .ph-actions { display:flex; gap:14px; flex-wrap:wrap; }
@media(max-width:860px) { .page-hero .ph-inner { grid-template-columns:1fr; } }

/* §17 STATS BAR (under hero) */
.stats-bar {
  margin:-44px auto 0; max-width:1180px; padding:0 5%; position:relative; z-index:2;
}
.stats-bar-inner {
  background:var(--surface-strong); backdrop-filter:blur(28px);
  border:1px solid var(--border-glass); border-radius:var(--r-md);
  box-shadow:var(--shadow-lg);
  display:grid; grid-template-columns:repeat(4,1fr);
  padding:28px;
}
.stats-bar-item { text-align:center; padding:8px 14px; position:relative; }
.stats-bar-item + .stats-bar-item::before {
  content:''; position:absolute; left:0; top:18%; height:64%; width:1px; background:var(--border);
}
.stats-bar-item .n {
  font-family:var(--font-h); font-size:2.2rem; font-weight:800;
  color:var(--text-heading); letter-spacing:-1px; line-height:1;
}
.stats-bar-item .n span { color:var(--green); }
.stats-bar-item .l { font-size:.78rem; color:var(--text-muted); font-weight:500; margin-top:6px; }
@media(max-width:760px) { .stats-bar-inner { grid-template-columns:repeat(2,1fr); gap:18px; } .stats-bar-item + .stats-bar-item:nth-child(odd)::before { display:none; } }

/* §18 GRIDS */
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
@media(max-width:980px) { .grid-3, .grid-4 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:620px) { .grid-2, .grid-3, .grid-4 { grid-template-columns:1fr; } }

/* §19 UTILITIES */
.text-center { text-align:center; }
.mb-12 { margin-bottom:12px; } .mb-24 { margin-bottom:24px; } .mb-48 { margin-bottom:48px; }
.mt-12 { margin-top:12px; } .mt-24 { margin-top:24px; } .mt-48 { margin-top:48px; }
