/* ============================================================
   EINsearch Theme — Main Stylesheet
   Exact match to hero.html design
   ============================================================ */

:root {
  --ein-green:       #3a7d44;
  --ein-green-dark:  #2d6235;
  --ein-green-light: #5aab66;
  --ein-green-pale:  #c8e6cc;
  --ein-green-bg:    #d6edd9;
  --white:           #ffffff;
  --gray-50:  #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-700: #374151;
  --gray-900: #111827;
}

/* ─── Reset ─── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html,body { font-family:'Inter',sans-serif; background:#c8e6cc; color:var(--gray-900); }
body { min-height:100vh; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; }
button { cursor:pointer; font-family:inherit; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }

/* ═══════════════════════════════════
   TOP BANNER
═══════════════════════════════════ */
.top-banner { background:#c8e6cc; border-bottom:1px solid #d4ecd7; }
.top-banner-inner {
  max-width:1200px; margin:0 auto; padding:6px 40px;
  display:flex; align-items:center; justify-content:flex-end;
  gap:10px; font-size:12.5px; font-weight:500; color:#2d6235;
}
.top-banner-inner a { color:#2d6235; text-decoration:none; font-weight:600; transition:opacity .15s; }
.top-banner-inner a:hover { opacity:.7; }
.top-banner-inner .sep { color:#3a7d44; opacity:.35; }

/* ═══════════════════════════════════
   NAVBAR
═══════════════════════════════════ */
.nav-wrap { position:sticky; top:0; z-index:100; background:#fff; border-bottom:1px solid #e5e7eb; }
.nav-inner { max-width:1200px; margin:0 auto; padding:0 40px; height:64px; display:flex; align-items:center; gap:32px; }
.nav-logo { height:44px; width:auto; flex-shrink:0; }
.nav-links { display:flex; align-items:center; gap:4px; flex:1; }
.nav-a {
  font-size:14px; font-weight:600; color:#374151;
  padding:8px 12px; border-radius:8px;
  transition:background .15s,color .15s; white-space:nowrap;
  display:flex; align-items:center; gap:4px;
  position:relative; text-decoration:none;
}
.nav-a:hover { background:#c8e6cc; color:#0f1f14; }
.nav-active { color:#3a7d44; }
.nav-a svg { width:12px; height:12px; stroke:currentColor; fill:none; stroke-width:2.5; transition:transform .2s; flex-shrink:0; }
.nav-dropdown { position:relative; }
.nav-dropdown:hover .nav-dropdown-menu { opacity:1; pointer-events:auto; transform:translateY(0); }
.nav-dropdown:hover .nav-a svg { transform:rotate(180deg); }
.nav-dropdown-menu {
  position:absolute; top:100%; left:0; min-width:220px;
  background:#fff; border:1px solid #e5e7eb; border-radius:12px;
  box-shadow:0 8px 32px rgba(0,0,0,.1); padding:8px; padding-top:16px;
  margin-top:0; opacity:0; pointer-events:none; transform:translateY(-6px);
  transition:opacity .2s,transform .2s; z-index:200;
}
.nav-dropdown-menu::before { content:''; position:absolute; top:-8px; left:0; right:0; height:8px; }
.nav-dropdown-item {
  display:flex; align-items:center; gap:12px; padding:10px 12px;
  border-radius:8px; font-size:13.5px; font-weight:500; color:#374151;
  transition:background .15s; text-decoration:none;
}
.nav-dropdown-item:hover { background:#c8e6cc; color:#0f1f14; }
.nav-dropdown-icon { width:32px; height:32px; border-radius:8px; background:#c8e6cc; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nav-dropdown-icon svg { width:16px; height:16px; stroke:#3a7d44; fill:none; stroke-width:2; }
.nav-dropdown-text strong { display:block; font-weight:700; font-size:13px; }
.nav-dropdown-text span { font-size:11.5px; color:#9ca3af; }
.nav-right { display:flex; align-items:center; gap:8px; margin-left:auto; }
.nav-login { font-size:13.5px; font-weight:600; color:#374151; padding:7px 14px; border-radius:8px; transition:background .15s; text-decoration:none; }
.nav-login:hover { background:#f3f4f6; }
.nav-register { font-size:13.5px; font-weight:600; color:#374151; padding:7px 14px; border-radius:8px; border:1.5px solid #d1d5db; transition:all .15s; text-decoration:none; }
.nav-register:hover { border-color:#3a7d44; color:#3a7d44; }
.nav-cta { font-size:13.5px; font-weight:700; color:#fff; background:#3a7d44; padding:8px 18px; border-radius:8px; transition:background .15s; white-space:nowrap; text-decoration:none; }
.nav-cta:hover { background:#2d6235; }
.nav-hamburger { display:none; background:none; border:none; cursor:pointer; padding:6px; flex-direction:column; gap:5px; margin-left:auto; }
.nav-hamburger span { display:block; width:22px; height:2px; background:#374151; border-radius:2px; transition:all .25s; }
.mobile-nav-drawer { display:none; position:absolute; top:100%; left:0; right:0; background:white; border-top:1px solid #e5e7eb; box-shadow:0 8px 24px rgba(0,0,0,.12); z-index:200; padding:16px 0; flex-direction:column; }
.mobile-nav-drawer.open { display:flex; }
.mobile-nav-close { background:none; border:none; cursor:pointer; padding:8px 24px; align-self:flex-end; }
.mobile-nav-close svg { width:22px; height:22px; stroke:#374151; fill:none; stroke-width:2; }
.mobile-nav-drawer a { display:block; padding:12px 24px; font-size:15px; font-weight:500; color:#111827; text-decoration:none; border-bottom:1px solid #f3f4f6; }
.mobile-nav-drawer a:last-child { border-bottom:none; }
.mobile-nav-drawer .mobile-nav-cta { margin:12px 24px 4px; display:block; text-align:center; padding:12px; background:#3a7d44; color:white; border-radius:8px; font-weight:700; border-bottom:none; }
.mobile-nav-drawer .mobile-solutions-label { padding:12px 24px 4px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#9ca3af; border-bottom:none; display:block; }
.mobile-nav-drawer .mobile-solutions-item { padding:10px 32px; font-size:14px; color:#374151; border-bottom:1px solid #f3f4f6; }

/* ═══════════════════════════════════
   HERO
═══════════════════════════════════ */
.hero {
  background:#c8e6cc;
  min-height:620px;
  display:flex; align-items:center;
  position:relative; overflow:hidden; padding:80px 0;
}
.hero::before {
  content:''; position:absolute; top:-120px; left:-120px;
  width:500px; height:500px; border-radius:50%;
  background:rgba(58,125,68,0.08); pointer-events:none;
}
.hero::after {
  content:''; position:absolute; bottom:-80px; left:200px;
  width:300px; height:300px; border-radius:50%;
  background:rgba(58,125,68,0.06); pointer-events:none;
}
.hero-inner {
  max-width:1200px; margin:0 auto; width:100%; padding:0 40px;
  display:grid; grid-template-columns:1.05fr 0.95fr;
  gap:48px; align-items:center; position:relative; z-index:1;
}
.hero-left { display:flex; flex-direction:column; gap:24px; }
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(58,125,68,0.12); color:#2d6235;
  font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:6px 14px; border-radius:20px; width:fit-content;
}
.hero-eyebrow-dot { width:7px; height:7px; border-radius:50%; background:#3a7d44; }
.hero-headline {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(36px,4.5vw,50px); font-weight:900;
  line-height:1.1; color:#111827; letter-spacing:-0.02em;
}
.hero-headline span { color:#2d6235; }
.hero-subtext { font-size:16px; line-height:1.65; color:#3d5c42; max-width:440px; }
.hero-email-row {
  display:flex; gap:0; max-width:440px;
  border-radius:10px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,0.10);
}
.hero-email-input { flex:1; border:none; outline:none; padding:14px 18px; font-size:14px; font-family:'Inter',sans-serif; background:white; color:#111827; }
.hero-email-input::placeholder { color:#9ca3af; }
.hero-email-btn { background:#3a7d44; color:white; border:none; padding:14px 22px; font-size:14px; font-weight:600; font-family:'Inter',sans-serif; cursor:pointer; white-space:nowrap; transition:background .18s; }
.hero-email-btn:hover { background:#2d6235; }
.hero-email-note { font-size:11.5px; color:#4a7050; margin-top:-12px; }
.hero-email-note a { color:#2d6235; text-decoration:underline; }
.hero-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.btn-demo {
  display:inline-flex; align-items:center; gap:8px; padding:13px 26px;
  border-radius:8px; font-size:14.5px; font-weight:700; text-decoration:none;
  background:#2d6235; color:white; transition:all .18s; font-family:'Inter',sans-serif;
}
.btn-demo:hover { background:#2d6235; transform:translateY(-1px); }
.btn-search {
  display:inline-flex; align-items:center; gap:8px; padding:13px 26px;
  border-radius:8px; font-size:14.5px; font-weight:600; text-decoration:none;
  background:transparent; color:#2d6235; border:2px solid #2d6235;
  transition:all .18s; font-family:'Inter',sans-serif;
}
.btn-search:hover { background:rgba(45,98,53,0.08); transform:translateY(-1px); }
.hero-trust { margin-top:28px; display:flex; align-items:center; gap:12px; }
.hero-trust-label { font-size:12px; color:#4a7050; font-weight:500; white-space:nowrap; }
.hero-trust-avatars { display:flex; }
.hero-trust-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 2px solid #c8e6cc;
    margin-left: -8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    color: white;
    overflow: hidden;
}
.hero-trust-avatar:first-child { margin-left:0; }
.hero-trust-stars { display:flex; align-items:center; gap:4px; font-size:12px; color:#4a7050; font-weight:500; }
.stars { color:#f59e0b; letter-spacing:1px; }

/* Hero right */
.hero-right { position:relative; height:460px; }
.hero-right--image { display:flex; align-items:center; justify-content:center; height:auto; }
.hero-right-img { width:100%; max-width:560px; height:auto; object-fit:contain; border-radius:16px; display:block; transform: scale(1.28); }
.card-gauge {
  position:absolute; top:10px; right:0; width:340px;
  background:white; border-radius:16px; padding:22px 24px 20px;
  box-shadow:0 12px 48px rgba(0,0,0,0.13); z-index:3;
}
.card-header { display:flex; align-items:center; gap:10px; margin-bottom:4px; }
.card-icon-dot { width:10px; height:10px; border-radius:50%; background:#f59e0b; flex-shrink:0; }
.card-title { font-size:14px; font-weight:700; color:#111827; }
.card-subtitle { font-size:11.5px; color:#9ca3af; margin-bottom:8px; padding-left:20px; }
.gauge-wrap { position:relative; width:100%; height:160px; display:flex; align-items:flex-end; justify-content:center; }
.gauge-canvas { position:absolute; top:0; left:50%; transform:translateX(-50%); }
.gauge-result { text-align:center; padding-bottom:4px; position:relative; z-index:1; }
.gauge-pct { font-family:'Plus Jakarta Sans',sans-serif; font-size:28px; font-weight:800; color:#2d6235; }
.gauge-risk-label { font-size:13px; font-weight:600; color:#3a7d44; margin-left:6px; }
.card-verify {
  position:absolute; bottom:10px; left:0; width:300px;
  background:white; border-radius:16px; padding:18px 20px 16px;
  box-shadow:0 12px 48px rgba(0,0,0,0.13); z-index:4;
}
.verify-header { display:flex; align-items:center; gap:8px; margin-bottom:14px; }
.verify-check { width:20px; height:20px; border-radius:50%; background:#3a7d44; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.verify-check svg { width:11px; height:11px; }
.verify-title { font-size:13px; font-weight:700; color:#111827; }
.verify-stat-row { display:flex; align-items:baseline; gap:6px; margin-bottom:10px; }
.verify-pct { font-family:'Plus Jakarta Sans',sans-serif; font-size:26px; font-weight:800; color:#111827; }
.verify-delta { font-size:12px; font-weight:600; color:#3a7d44; }
.verify-chart-wrap { height:80px; position:relative; }
.verify-chart-labels { display:flex; justify-content:space-between; margin-top:6px; }
.verify-chart-labels span { font-size:9.5px; color:#9ca3af; text-transform:uppercase; letter-spacing:.04em; }
.verify-y-labels { position:absolute; left:0; top:0; bottom:0; display:flex; flex-direction:column; justify-content:space-between; padding:2px 0; }
.verify-y-labels span { font-size:9px; color:#d1d5db; }
.floating-badge {
  position:absolute; background:white; border-radius:50%;
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 16px rgba(0,0,0,0.12); z-index:5;
}
.floating-badge svg { width:20px; height:20px; }

/* ═══════════════════════════════════
   BRAND BANNER
═══════════════════════════════════ */
.brand-banner { background:white; border-top:1px solid #e5e7eb; border-bottom:1px solid #e5e7eb; padding:40px 0; overflow:hidden; }
.brand-banner-label { text-align:center; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#9ca3af; margin-bottom:32px; }
.brand-track-wrap { overflow:hidden; position:relative; width:100%; }
.brand-track-wrap::before,
.brand-track-wrap::after { content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
.brand-track-wrap::before { left:0; background:linear-gradient(to right,white,transparent); }
.brand-track-wrap::after  { right:0; background:linear-gradient(to left,white,transparent); }
.brand-track { display:flex; gap:0; align-items:center; width:max-content; animation:brandScroll 28s linear infinite; }
.brand-track:hover { animation-play-state:paused; }
@keyframes brandScroll { from{transform:translateX(0)} to{transform:translateX(-12.5%)} }
.brand-logo-item { flex-shrink:0; display:flex; align-items:center; justify-content:center; height:40px; margin-right:56px; }
.brand-logo-item img { height:32px; width:auto; max-width:120px; object-fit:contain; }

/* ═══════════════════════════════════
   STATS STRIP
═══════════════════════════════════ */
.stats-strip { background:#0f1f14; padding:36px 0; }
.stats-strip-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.cstm-stripp-inner {
    grid-template-columns: repeat(3,1fr);
}
.stat-item { text-align:center; padding:8px 20px; border-right:1px solid rgba(255,255,255,.12); }
.stat-item:last-child { border-right:none; }
.stat-num { font-size:32px; font-weight:800; color:white; letter-spacing:-0.02em; line-height:1; }
.stat-num span { color:#5aab66; }
.stat-label { font-size:13px; color:rgba(255,255,255,.7); margin-top:6px; }

/* ═══════════════════════════════════
   PRODUCT MODULES
═══════════════════════════════════ */
.product-modules { background:white; padding:80px 0; }
.product-modules-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.section-eyebrow { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#3a7d44; margin-bottom:12px; }
.section-heading { font-size:36px; font-weight:800; color:#111827; letter-spacing:-0.02em; line-height:1.2; margin-bottom:16px; }
.section-subtext { font-size:16px; color:#6b7280; line-height:1.6; max-width:750px; margin-bottom:52px; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.product-card { border:1.5px solid #e5e7eb; border-radius:16px; padding:28px 24px; transition:all .22s; cursor:pointer; position:relative; overflow:hidden; }
.product-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:#3a7d44; transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.product-card:hover { border-color:#3a7d44; box-shadow:0 8px 32px rgba(58,125,68,.12); transform:translateY(-2px); }
.product-card:hover::before { transform:scaleX(1); }
.product-card-icon { width:44px; height:44px; border-radius:10px; background:#c8e6cc; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.product-card-icon svg { width:22px; height:22px; stroke:#3a7d44; fill:none; stroke-width:1.8; }
.product-card-title { font-size:17px; font-weight:700; color:#111827; margin-bottom:8px; }
.product-card-desc { font-size:14px; height: 134px !important; color:#6b7280; line-height:1.6; margin-bottom:20px;  }
.product-card-link { font-size:13px; font-weight:600; color:#3a7d44; text-decoration:none; display:inline-flex; align-items:center; gap:4px; }
.product-card-link svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; transition:transform .18s; }
.product-card:hover .product-card-link svg { transform:translateX(3px); }

/* ═══════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════ */
.testimonials { background:#f4f4f5; padding:80px 0; }
.testimonials-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.testimonials-heading { font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(28px,3.5vw,40px); font-weight:800; text-align:center; color:#111827; margin-bottom:48px; letter-spacing:-0.02em; }
.t-logo-carousel { position:relative; overflow:hidden; margin-bottom:48px; width:100%; }
.t-logo-carousel::before,
.t-logo-carousel::after { content:''; position:absolute; top:0; bottom:0; width:200px; z-index:2; pointer-events:none; }
.t-logo-carousel::before { left:0; background:linear-gradient(to right,#ffffff 20%,transparent); }
.t-logo-carousel::after  { right:0; background:linear-gradient(to left,#ffffff 20%,transparent); }
.t-logo-track { display:flex; align-items:center; gap:0; will-change:transform; transition:transform .45s cubic-bezier(0.4,0,0.2,1); }
.t-logo-item { flex-shrink:0; width:160px; display:flex; align-items:center; justify-content:center; padding:14px 20px; border-radius:12px; border:2px solid transparent; background:white; cursor:pointer; transition:all .35s; opacity:.25; transform:scale(0.86); box-shadow:0 1px 4px rgba(0,0,0,.04); }
.t-logo-item img { height:30px; width:auto; max-width:110px; object-fit:contain; }
.t-logo-item.t-active { opacity:1; transform:scale(1); border-color:#3a7d44; box-shadow:0 0 0 3px rgba(58,125,68,0.12),0 4px 16px rgba(0,0,0,0.08); }
.t-logo-item.t-near { opacity:.6; transform:scale(0.93); }
.t-cards-viewport { overflow:hidden; width:100%; }
.t-card-track { display:flex; transition:transform .42s cubic-bezier(0.4,0,0.2,1); will-change:transform; }
.t-card { background:white; border-radius:16px; padding:28px 30px; border:1px solid #e5e7eb; box-shadow:0 2px 12px rgba(0,0,0,.05); flex-shrink:0; box-sizing:border-box; margin-right:20px; transition:opacity .35s,transform .35s; }
.t-card:last-child { margin-right:0; }
.t-card.t-card-centre { opacity:1; transform:scale(1); box-shadow:0 6px 28px rgba(0,0,0,.09); padding:32px 36px; }
.t-card.t-card-side { opacity:.45; transform:scale(0.97); }
.t-card-stars { color:#f59e0b; font-size:16px; letter-spacing:1px; }
.t-card-rating { font-size:14px; font-weight:700; color:#111827; margin-left:6px; }
.t-card-quote { font-size:14px; line-height:1.7; color:#4b5563; font-style:italic; margin:12px 0; }
.t-card-author { font-size:13px; font-weight:700; color:#111827; }
.t-card-role { font-size:12px; color:#9ca3af; margin-top:3px; }
.testimonials-nav { display:flex; justify-content:center; gap:12px; margin-top:36px; }
.t-nav-btn { width:40px; height:40px; border-radius:50%; border:1.5px solid #d1d5db; background:white; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .18s; color:#374151; }
.t-nav-btn:hover { border-color:#3a7d44; color:#3a7d44; background:#c8e6cc; }
.t-nav-btn svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2; }

/* ═══════════════════════════════════
   HOW IT WORKS
═══════════════════════════════════ */
.how-it-works { background:#f9fafb; padding:80px 0; }
.how-it-works-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.hiw-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:52px; position:relative; }
.hiw-steps::before { content:''; position:absolute; top:28px; left:calc(16.66% + 20px); right:calc(16.66% + 20px); height:2px; background:linear-gradient(90deg,#3a7d44,#5aab66); z-index:0; }
.hiw-step { display:flex; flex-direction:column; text-align:center; position:relative; z-index:1; }
.hiw-step-dot { width:56px; height:56px; border-radius:50%; background:#3a7d44; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; box-shadow:0 0 0 8px #c8e6cc; }
.hiw-step-title { font-size:18px; font-weight:700; color:#111827; margin-bottom:10px; }
.hiw-step-text { font-size:14px; color:#6b7280; line-height:1.7; margin-bottom:14px; }
.hiw-step-tag { display:inline-block; align-self:center; margin-top:auto; padding:4px 10px; font-size:12px; font-weight:600; color:#3a7d44; background:#c8e6cc; border-radius:20px; }

/* ═══════════════════════════════════
   DATABASE DIFFERENTIATOR
═══════════════════════════════════ */
.db-diff { background:#ffffff; padding:80px 0; }
.db-diff-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
/* .db-diff-visual { background:white; border-radius:20px; padding:32px; box-shadow:0 8px 40px rgba(0,0,0,.08); border:1px solid #e5e7eb; display: none; } */
.db-diff-visual-title { font-size:13px; font-weight:700; color:#6b7280; text-transform:uppercase; letter-spacing:.06em; margin-bottom:20px; }
.db-compare-row { display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid #f3f4f6; }
.db-compare-row:last-child { border-bottom:none; }
.db-compare-label { font-size:14px; color:#374151; font-weight:500; }
.db-compare-vals { display:flex; gap:24px; }
.db-compare-val { text-align:center; min-width:80px; }
.db-compare-val .val { font-size:13px; font-weight:700; }
.db-compare-val .src { font-size:11px; color:#9ca3af; margin-top:2px; }
.db-compare-val.good .val { color:#3a7d44; }
.db-compare-val.bad  .val { color:#ef4444; }
.db-compare-val.mid  .val { color:#f59e0b; }
.db-diff-points { display:flex; flex-direction:column; gap:24px; margin-top:32px; }
.db-diff-point { display:flex; gap:16px; align-items:flex-start; }
.db-diff-point-icon { width:36px; height:36px; border-radius:8px; background:#c8e6cc; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.db-diff-point-icon svg { width:18px; height:18px; stroke:#3a7d44; fill:none; stroke-width:2; }
.db-diff-point-title { font-size:15px; font-weight:700; color:#111827; margin-bottom:4px; }
.db-diff-point-text { font-size:14px; color:#6b7280; line-height:1.6; }
.card {
  background: #fff;
  border-radius: 16px;
  padding: 32px;
  width: 100%;
  max-width: 100%;
  box-shadow: 0 20px 60px rgba(0,0,0,.08);
  border: 1px solid #f0f4f0;
}
.header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 20px;
}
.eyebrow {
  font-size: 11px;
  font-weight: 700;
  color: #3a7d44;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.title {
  font-size: 18px;
  font-weight: 700;
  color: #0f1f14;
}
.pill {
  background: #c8e6cc;
  color: #166534;
  font-size: 11px;
  padding: 5px 10px;
  border-radius: 20px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #166534;
  animation: livepulse 2s ease-in-out infinite;
}
.map-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1.62 / 1;
  margin-bottom: 16px;
}
.legend {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 20px;
  padding: 0 4px;
  font-size: 11px;
  color: #6b7280;
}
.legend-item { display: flex; align-items: center; gap: 6px; }
.legend-state { width: 12px; height: 12px; border-radius: 3px; background: #c0dcc6; }
.legend-dot { width: 10px; height: 10px; border-radius: 50%; background: #0f1f14; border: 1.5px solid #fff; }
.stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding-top: 16px;
  border-top: 1px solid #f1f5f9;
}
.stat-label { font-size: 11px; margin-bottom: 2px; }
.stat-value { font-size: 14px; font-weight: 700; color: #0f1f14; }

@keyframes ping {
  0% { transform: scale(1); opacity: 0.55; }
  100% { transform: scale(2.8); opacity: 0; }
}
@keyframes livepulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}
.ping-ring {
  transform-origin: center;
  transform-box: fill-box;
  animation: ping 4s cubic-bezier(0, 0, 0.2, 1) infinite;
}
/* ═══════════════════════════════════
   USE CASES / PERSONAS
═══════════════════════════════════ */
.use-cases { background:#f4f4f5; padding:80px 0; }
.use-cases-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.persona-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:52px; }
.persona-card {
    display: flex;
    flex-direction: column;
    background: white;
    border-radius: 16px;
    padding: 28px 24px;
    border: 1.5px solid #e5e7eb;
    transition: all .22s;
    text-decoration: unset;
}
.persona-card:hover { border-color:#3a7d44; box-shadow:0 6px 24px rgba(58,125,68,.1); transform:translateY(-2px); }
.persona-icon { width:48px; height:48px; border-radius:12px; background:#c8e6cc; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.persona-icon svg { width:24px; height:24px; stroke:#3a7d44; fill:none; stroke-width:1.8; }
.persona-title { font-size:16px; font-weight:700; color:#111827; margin-bottom:8px; }
.persona-desc { font-size:14px; color:#6b7280; line-height:1.6; margin-bottom:16px; }
.persona-tags { display:flex; flex-wrap:wrap; gap:4px; margin-top:auto; }
.persona-tag { font-size:10.5px; font-weight:600; color:#3a7d44; background:#c8e6cc; padding:3px 7px; border-radius:20px; white-space:nowrap; }

/* ═══════════════════════════════════════════════
   MID-PAGE CTA — complete ruleset
   Paste this into main.css, replacing the entire
   existing .mid-cta block and all .cta-* rules
   ═══════════════════════════════════════════════ */

.mid-cta {
  background: #0f1f14;
  padding: 80px 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.mid-cta::before {
  content: '';
  position: absolute;
  top: -120px; left: 50%;
  transform: translateX(-50%);
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(90,171,102,0.08) 0%, transparent 70%);
  pointer-events: none;
}
.mid-cta-inner {
  max-width: 760px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.mid-cta-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #5aab66;
  margin-bottom: 16px;
}
.mid-cta h2 {
  font-size: 40px;
  font-weight: 800;
  color: white;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin-bottom: 12px;
}
.mid-cta-sub {
  font-size: 16px;
  color: rgba(255,255,255,.6);
  line-height: 1.6;
  margin-bottom: 28px;
}

/* ── Sample chips ── */
.cta-samples {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.cta-samples-label {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,.55);
  margin-right: 4px;
}
.cta-chip {
  background: transparent;
  color: white;
  border: 1.5px solid rgba(255,255,255,.22);
  border-radius: 999px;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.18s;
}
.cta-chip:hover {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.4);
}
.cta-chip.is-active {
  background: white;
  color: #0f1f14;
  border-color: white;
}

/* ── Search bar ── */
.cta-search-bar {
  display: flex;
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 40px rgba(0,0,0,.35);
  max-width: 580px;
  margin: 0 auto 32px;
}
.cta-search-input {
  flex: 1;
  border: none;
  outline: none;
  padding: 18px 20px;
  font-size: 15px;
  font-family: inherit;
  color: #111827;
  background: transparent;
}
.cta-search-input::placeholder { color: #9ca3af; }
.cta-search-input:read-only { cursor: default; }
.cta-search-btn {
  padding: 12px 24px;
  margin: 6px;
  border-radius: 8px;
  background: #3a7d44;
  color: white;
  font-size: 14px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  transition: background 0.18s;
  white-space: nowrap;
  font-family: inherit;
}
.cta-search-btn:hover { background: #2d6235; }

/* ── Result cards ── */
.cta-result {
  max-width: 580px;
  margin: 0 auto;
  transition: opacity 0.3s ease;
}
.cta-result-card {
  background: white;
  border-radius: 12px;
  padding: 24px 28px;
  text-align: left;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 40px rgba(0,0,0,.3);
}
.cta-result-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.cta-result-company { font-size: 17px; font-weight: 700; color: #111827; }
.cta-result-badge {
  font-size: 11px; font-weight: 700;
  background: #c8e6cc; color: #3a7d44;
  padding: 4px 10px; border-radius: 20px;
  border: 1px solid #c6e8cb;
}
.cta-result-badge-warn {
  font-size: 11px; font-weight: 700;
  background: #fef3d6; color: #854d0e;
  padding: 4px 10px; border-radius: 20px;
  border: 1px solid #fadf99;
}
.cta-result-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.cta-result-field label {
  font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em;
  color: #9ca3af; display: block; margin-bottom: 4px;
}
.cta-result-field .val { font-size: 14px; font-weight: 600; color: #111827; }
.cta-result-field .val.blurred { filter: blur(5px); user-select: none; color: #374151; }

/* Blur overlay */
.cta-blur-overlay {
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 65%;
  background: linear-gradient(to bottom, transparent 0%, rgba(255,255,255,0.92) 40%, white 100%);
  display: flex; flex-direction: column;
  align-items: center; justify-content: flex-end;
  padding: 20px 24px 24px;
}
.cta-blur-cta-text {
  font-size: 15px; font-weight: 700; color: #111827;
  margin-bottom: 12px; text-align: center;
}
.cta-blur-cta-text span { color: #3a7d44; }
.cta-blur-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 28px; border-radius: 9px;
  background: #3a7d44; color: white;
  font-size: 14px; font-weight: 700;
  text-decoration: none;
  transition: background 0.18s;
  border: none; cursor: pointer; font-family: inherit;
}
.cta-blur-btn:hover { background: #2d6235; }

/* No-match card */
.cta-nomatch-body {
  padding: 28px 0 20px;
  text-align: center;
  border-top: 1px dashed #e5e7eb;
  border-bottom: 1px dashed #e5e7eb;
  margin-bottom: 20px;
}
.cta-nomatch-body p { font-size: 14px; color: #6b7280; line-height: 1.55; }
.cta-nomatch-body strong { color: #111827; font-weight: 700; }
.cta-nomatch-cta {
  display: flex; align-items: center;
  justify-content: space-between;
  gap: 14px;
  background: #c8e6cc; border-radius: 10px; padding: 14px 18px;
}
.cta-nomatch-cta-text { font-size: 14px; color: #111827; }
.cta-nomatch-cta-text span { color: #3a7d44; font-weight: 700; }

/* Note */
.cta-note {
  margin-top: 20px;
  font-size: 12.5px;
  color: rgba(255,255,255,.35);
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .mid-cta { padding: 56px 20px; }
  .mid-cta h2 { font-size: 28px; }
  .cta-search-bar {
    flex-direction: column;
    border-radius: 12px;
    overflow: visible;
    background: transparent;
    box-shadow: none;
    gap: 10px;
  }
  .cta-search-input {
    border-radius: 10px;
    border: 1.5px solid #e5e7eb;
    background: white;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
  }
  .cta-search-btn { border-radius: 10px; margin: 0; padding: 15px 24px; }
  .cta-result-grid { grid-template-columns: 1fr 1fr; }
  .cta-nomatch-cta { flex-direction: column; align-items: stretch; gap: 12px; }
}

/* ═══════════════════════════════════
   FAQ
═══════════════════════════════════ */
.faq-section { background:#ffffff; padding:80px 0; }
.faq-section-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:340px 1fr; gap:72px; align-items:start; }
.faq-sidebar h2 { font-size:36px; font-weight:800; color:#111827; letter-spacing:-0.02em; line-height:1.2; margin-bottom:16px; }
.faq-sidebar p { font-size:15px; color:#6b7280; line-height:1.7; margin-bottom:28px; }
.faq-sidebar-link { font-size:14px; font-weight:600; color:#3a7d44; text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
.faq-sidebar-link svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; }
.faq-list { display:flex; flex-direction:column; gap:0; }
.faq-item { border-bottom:1px solid #e5e7eb; }
.faq-item:first-child { border-top:1px solid #e5e7eb; }
.faq-q { width:100%; background:none; border:none; text-align:left; padding:20px 0; font-size:15px; font-weight:600; color:#111827; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; font-family:'Inter',sans-serif; }
.faq-q svg { width:18px; height:18px; stroke:#3a7d44; fill:none; stroke-width:2; flex-shrink:0; transition:transform .25s; }
.faq-q.open svg { transform:rotate(45deg); }
.faq-a { font-size:14px; color:#6b7280; line-height:1.7; max-height:0; overflow:hidden; transition:max-height .35s ease,padding .25s; padding-bottom:0; }
.faq-a.open { max-height:300px; padding-bottom:20px; }

/* ═══════════════════════════════════
   FOOTER
═══════════════════════════════════ */
.footer-social-links { display:flex; gap:8px; margin-top:16px; }
.footer-social-btn { width:36px; height:36px; border-radius:8px; display:flex; align-items:center; justify-content:center; text-decoration:none; transition:opacity .18s,transform .18s; background:rgba(58,125,68,0.18); border:1px solid rgba(58,125,68,0.3); }
.footer-social-btn:hover { opacity:.75; transform:translateY(-1px); }
.footer-social-btn svg { width:16px; height:16px; stroke:rgba(90,171,102,1); fill:none; stroke-width:2; }
.footer-cta-btn { display:inline-flex; align-items:center; padding:10px 20px; border-radius:8px; font-size:13px; font-weight:700; text-decoration:none; background:#3a7d44; color:white; border:none; margin-top:20px; transition:background .18s; }
.footer-cta-btn:hover { background:#2d6235; }
.footer-col-title { font-size:13px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; margin-bottom:16px; color:#5aab66; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:9px; }
.footer-links a { font-size:13.5px; text-decoration:none; color:rgba(255,255,255,.65); transition:opacity .15s; }
.footer-links a:hover { opacity:.65; }
.footer-links-2col { display:grid; grid-template-columns:1fr 1fr; gap:9px 5px; list-style:none; }
.footer-links-2col a { font-size:13.5px; text-decoration:none; color:rgba(255,255,255,.65); transition:opacity .15s; }
.footer-links-2col a:hover { opacity:.65; }
.footer-links-companies { display:grid; grid-template-columns:1fr 1fr; gap:9px 5px; list-style:none; }
.footer-links-companies a { font-size:13.5px; text-decoration:none; color:rgba(255,255,255,.65); transition:opacity .15s; }
.footer-links-companies a:hover { opacity:.65; }
.footer-bbb { margin-top:20px; display:inline-block; }
.footer-bbb img { display:block; width:160px; height:auto; }
.site-footer { background:#0f1f14; position:relative; overflow:hidden; }
.site-footer::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,#3a7d44,#5aab66,#3a7d44); }
.site-footer-main-wrap { padding:56px 0 0; position:relative; z-index:1; }
.site-footer-main { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:220px 1fr 180px 260px; gap:48px; }
.site-footer-divider-wrap { padding:0; margin-top:32px; position:relative; z-index:1; }
.site-footer-divider { max-width:1200px; margin:0 auto; padding:0 40px; }
.site-footer-divider-line { height:1px; background:rgba(255,255,255,.08); }
.site-footer-ca { text-align:center; padding:18px 40px; font-size:12.5px; color:rgba(255,255,255,.4); position:relative; z-index:1; }
.site-footer-ca a { color:rgba(255,255,255,.4); text-decoration:unset; }
.site-footer-watermark { text-align:center; font-family:'Plus Jakarta Sans',sans-serif; font-weight:900; letter-spacing:-.02em; line-height:1; pointer-events:none; user-select:none; overflow:hidden; font-size:clamp(80px,12vw,140px); color:rgba(58,125,68,.07); padding:0 40px; margin-top:-20px; position:relative; z-index:1; }
.site-footer-bottom { border-top:1px solid rgba(255,255,255,.06); position:relative; z-index:1; }
.site-footer-bottom-inner { max-width:1200px; margin:0 auto; padding:16px 40px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12.5px; color:rgba(255,255,255,.4); }
.site-footer-bottom-links { display:flex; align-items:center; gap:6px; }
.site-footer-bottom-links a { text-decoration:none; color:rgba(255,255,255,.5); transition:opacity .15s; }
.site-footer-bottom-links a:hover { opacity:.65; }
.site-footer-bottom-links .sep { color:rgba(255,255,255,.2); }
.site-footer-phone { display:flex; align-items:center; gap:6px; text-decoration:none; color:rgba(255,255,255,.5); transition:opacity .15s; }
.site-footer-phone:hover { opacity:.65; }
.site-footer-phone svg { width:14px; height:14px; flex-shrink:0; stroke:rgba(255,255,255,.5); fill:none; stroke-width:2; }

/* ═══════════════════════════════════
   OTHER PAGE TEMPLATES
   (service, pricing, about, contact, blog, etc.)
═══════════════════════════════════ */
/* Buttons used in other templates */
.btn-primary { display:inline-flex; align-items:center; gap:7px; background:#3a7d44; color:#fff; font-size:14px; font-weight:700; font-family:'Inter',sans-serif; padding:13px 24px; border-radius:8px; border:none; text-decoration:none; transition:background .18s,transform .18s; white-space:nowrap; }
.btn-primary:hover { background:#2d6235; transform:translateY(-1px); }
.btn-outline { display:inline-flex; align-items:center; gap:7px; background:transparent; color:#3a7d44; border:1.5px solid #3a7d44; font-size:14px; font-weight:700; padding:12px 24px; border-radius:8px; text-decoration:none; transition:all .18s; white-space:nowrap; }
.btn-outline:hover { background:#3a7d44; color:#fff; }
.btn-white { display:inline-flex; align-items:center; gap:7px; background:#fff; color:#2d6235; border:none; font-size:14px; font-weight:700; padding:13px 24px; border-radius:8px; text-decoration:none; transition:transform .18s,box-shadow .18s; white-space:nowrap; }
.btn-white:hover { transform:translateY(-1px); box-shadow:0 4px 20px rgba(0,0,0,.09); }
.btn-outline-white { display:inline-flex; align-items:center; gap:7px; background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.5); font-size:14px; font-weight:700; padding:12px 24px; border-radius:8px; text-decoration:none; transition:background .18s; white-space:nowrap; }
.btn-outline-white:hover { background:rgba(255,255,255,.12); }

/* Forms */
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { display:flex; flex-direction:column; gap:6px; margin-bottom:18px; }
.form-group label { font-size:13px; font-weight:600; color:#374151; }
.form-group input,.form-group select,.form-group textarea { padding:11px 14px; border:1.5px solid #e5e7eb; border-radius:8px; font-size:14px; font-family:'Inter',sans-serif; color:#111827; background:#fff; outline:none; transition:border-color .18s,box-shadow .18s; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:#3a7d44; box-shadow:0 0 0 3px rgba(58,125,68,.12); }
.form-group textarea { min-height:120px; resize:vertical; }
.form-group select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; padding-right:36px; }
.form-submit { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:#3a7d44; color:#fff; border:none; padding:14px 28px; border-radius:8px; font-size:15px; font-weight:700; font-family:'Inter',sans-serif; cursor:pointer; transition:background .18s; }
.form-submit:hover { background:#2d6235; }
.form-submit:disabled { opacity:.65; cursor:not-allowed; }

/* Section header helper */
.section-header { margin-bottom:48px; }
.section-header.text-center { text-align:center; }

/* Service/product hero */
.svc-hero { background:#0f1f14; padding:88px 0; }
.svc-hero-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.svc-hero-eyebrow { display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:14px; }
.svc-hero h1 { font-size:clamp(32px,4.5vw,50px); font-weight:900; color:#fff; letter-spacing:-0.025em; line-height:1.15; margin-bottom:18px; font-family:'Plus Jakarta Sans',sans-serif; }
.svc-hero-sub { font-size:16px; color:rgba(255,255,255,.65); line-height:1.65; margin-bottom:32px; }
.svc-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }

/* Why section */
.why-section { padding:80px 0; background:#fff; }
.why-section-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.why-features { list-style:none; display:flex; flex-direction:column; gap:10px; margin:0px 0 28px; }
.why-features li { display:flex; align-items:center; gap:10px; font-size:14px; color:#374151; }
.why-feature-dot { width:7px; height:7px; border-radius:50%; background:#3a7d44; flex-shrink:0; }

/* Feature blocks */
.feature-block { padding:80px 0; background:#f9fafb; }
.feature-block.white { background:#fff; }
.feature-block-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.feature-block-inner.reverse { direction:rtl; }
.feature-block-inner.reverse>* { direction:ltr; }
.feature-block-heading { font-size:clamp(24px,3vw,32px); font-weight:800; color:#111827; margin-bottom:14px; }
.feature-block-body { font-size:15px; color:#6b7280; line-height:1.7; margin-bottom:20px; }
.feature-block-list { display:flex; flex-direction:column; gap:12px; margin-bottom:28px; }
.feature-block-item { display:flex; align-items:flex-start; gap:10px; }
.feature-block-item-icon { width:20px; height:20px; border-radius:50%; background:#c8e6cc; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.feature-block-item-icon svg { width:11px; height:11px; stroke:#3a7d44; fill:none; stroke-width:2.5; }
.feature-block-item-text { font-size:14px; color:#374151; line-height:1.5; }
.feature-screenshot { background:#fff; border-radius:12px; box-shadow:0 8px 40px rgba(0,0,0,.12); border:1px solid #e5e7eb; overflow:hidden; }
.feature-screenshot-header { display:flex; align-items:center; gap:6px; padding:10px 14px; background:#f3f4f6; border-bottom:1px solid #e5e7eb; }
.feature-screenshot-dot { width:10px; height:10px; border-radius:50%; }

/* Benefits */
.benefits-section { padding:80px 0; background:#c8e6cc; }
.benefits-section-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.benefits-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px; }
.benefit-card { background:white; border-radius:16px; padding:28px 24px; border:1.5px solid rgba(58,125,68,0.12); box-shadow:0 4px 20px rgba(0,0,0,0.05); transition:border-color .18s,box-shadow .18s,transform .18s; }
.benefit-card:hover { border-color:#3a7d44; box-shadow:0 4px 20px rgba(58,125,68,.1); transform:translateY(-3px); }
.benefit-icon { width:44px; height:44px; background:#c8e6cc; border-radius:10px; display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.benefit-icon svg { width:20px; height:20px; stroke:#3a7d44; fill:none; stroke-width:1.8; }
.benefit-title { font-size:15px; font-weight:800; color:#111827; margin-bottom:8px; }
.benefit-text { font-size:13.5px; color:#6b7280; line-height:1.6; }

/* Pricing */
.pricing-hero { background:#0f1f14; padding:88px 0; text-align:center; }
.pricing-hero h1 { font-size:clamp(30px,4.5vw,50px); font-weight:900; color:#fff; letter-spacing:-0.025em; margin-bottom:14px; font-family:'Plus Jakarta Sans',sans-serif; }
.pricing-hero p { font-size:17px; color:rgba(255,255,255,.65); max-width:560px; margin:0 auto 28px; line-height:1.65; }
.pricing-hero-eyebrow { display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:14px; }
.pricing-trust-row { display:flex; flex-wrap:wrap; justify-content:center; gap:20px; padding:0 40px; }
.pricing-trust-item { display:flex; align-items:center; gap:7px; font-size:13px; color:rgba(255,255,255,.7); font-weight:600; }
.pricing-trust-item svg { width:14px; height:14px; stroke:#86efac; fill:none; stroke-width:2.5; flex-shrink:0; }
.pricing-main { padding:64px 0 80px; background:#f9fafb; }
.pricing-main-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.plan-cards-heading { font-size:26px; font-weight:800; color:#111827; text-align:center; font-family:'Plus Jakarta Sans',sans-serif; }
.billing-toggle-wrap { display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:32px; }
.billing-toggle-label { font-size:14px; font-weight:600; color:#374151; }
.billing-toggle-track { width:44px; height:24px; background:#d1d5db; border-radius:12px; cursor:pointer; position:relative; transition:background .18s; }
.billing-toggle-track.annual { background:#3a7d44; }
.billing-toggle-thumb { width:18px; height:18px; background:#fff; border-radius:50%; position:absolute; top:3px; left:3px; transition:transform .18s; box-shadow:0 1px 3px rgba(0,0,0,.2); }
.billing-toggle-track.annual .billing-toggle-thumb { transform:translateX(20px); }
.billing-save-badge { background:#3a7d44; color:#fff; font-size:11.5px; font-weight:700; padding:3px 9px; border-radius:10px; }
.plan-cards-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.plan-card { background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; padding:28px 22px; position:relative; }
.plan-card.featured { border-color:#3a7d44; box-shadow:0 0 0 1px #3a7d44; }
.plan-badge { position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:#3a7d44; color:#fff; font-size:11.5px; font-weight:800; padding:4px 14px; border-radius:12px; white-space:nowrap; }
.plan-name  { font-size:18px; font-weight:800; color:#111827; margin-bottom:6px; }
.plan-volume { font-size:12.5px; color:#9ca3af; margin-bottom:16px; }
.plan-price { font-size:38px; font-weight:900; color:#111827; font-family:'Plus Jakarta Sans',sans-serif; letter-spacing:-0.02em; line-height:1; margin-bottom:4px; }
.plan-price span { font-size:16px; font-weight:600; color:#6b7280; vertical-align:super; }
.plan-price-note { font-size:12px; color:#9ca3af; margin-bottom:20px; }
.plan-cta { display:block; text-align:center; background:#111827; color:#fff; padding:12px; border-radius:8px; font-size:14px; font-weight:700; text-decoration:none; margin-bottom:20px; transition:background .18s; }
.plan-cta:hover { background:#3a7d44; }
.plan-card.featured .plan-cta { background:#3a7d44; }
.plan-card.featured .plan-cta:hover { background:#2d6235; }
.plan-divider { height:1px; background:#f3f4f6; margin-bottom:16px; }
.plan-features { list-style:none; display:flex; flex-direction:column; gap:10px; }
.plan-features li { display:flex; align-items:center; gap:8px; font-size:13px; color:#374151; }
.plan-feat-off { color:#9ca3af; }
.check-green { color:#16a34a; font-weight:700; }
.check-grey { color:#d1d5db; }
.compare-section { padding:80px 0; background:#fff; }
.compare-section-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.compare-table { width:100%; border-collapse:collapse; font-size:13.5px; }
.compare-table thead { background: transparent; }
.compare-table th { padding:14px 16px; text-align: center; font-size: 13px; font-weight: 700; color: #374151; border-bottom: 2px solid #e5e7eb; }
.compare-table th:first-child { text-align: left; }
.compare-table th.featured-col { color: #3a7d44; background: #c8e6cc; border-radius: 8px 8px 0 0; }
.compare-table td { padding:13px 16px; border-bottom:1px solid #f3f4f6; color:#374151; text-align: center; }
.compare-table td:first-child { text-align: left; font-weight: 500; color: #111827; }
.compare-table tr:hover td { background:#f9fafb; }
.compare-table tr:hover td.featured-col { background: #c8e6cc; }
.compare-table .section-row td { background:#f9fafb; font-weight:800; color:#9ca3af; font-size:11px; text-transform:uppercase; letter-spacing:.08em; padding:10px 16px; }
.compare-table .section-row td.featured-col { background: #c8e6cc; }
.compare-table td.featured-col { background: #fafff9; }
.compare-table .featured-col { font-weight: 500; }

/* ═══════════════════════════════════
   ABOUT PAGE
═══════════════════════════════════ */
/* Hero */
.about-hero { background:#c8e6cc; min-height:560px; display:flex; align-items:center; position:relative; overflow:hidden; padding:60px 0; }
.about-hero::before { content:''; position:absolute; top:-120px; left:-120px; width:500px; height:500px; border-radius:50%; background:rgba(58,125,68,0.08); pointer-events:none; }
.about-hero::after  { content:''; position:absolute; bottom:-80px; right:-80px; width:400px; height:400px; border-radius:50%; background:rgba(58,125,68,0.06); pointer-events:none; }
.about-hero-inner { max-width:1200px; margin:0 auto; padding:0 40px; width:100%; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; position:relative; z-index:1; }
.about-hero-eyebrow { display:inline-flex; align-items:center; gap:8px; background:rgba(58,125,68,0.12); color:#2d6235; font-size:12.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; padding:6px 14px; border-radius:20px; width:fit-content; margin-bottom:16px; }
.about-hero-eyebrow-dot { width:7px; height:7px; border-radius:50%; background:#3a7d44; }
.about-hero-headline { font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(34px,4vw,52px); font-weight:900; line-height:1.1; color:#111827; letter-spacing:-0.02em; }
.about-hero-headline span { color:#2d6235; }
.about-hero-sub { font-size:16px; line-height:1.65; color:#3d5c42; max-width:460px; margin-top:20px; margin-bottom:24px; }
.about-hero-bullets { display:flex; flex-direction:column; gap:12px; margin-bottom:32px; }
.about-hero-bullet { display:flex; align-items:center; gap:10px; font-size:14px; color:#2d5234; font-weight:500; }
.about-hero-bullet-icon { width:20px; height:20px; border-radius:50%; background:#3a7d44; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.about-hero-bullet-icon svg { width:11px; height:11px; stroke:white; fill:none; stroke-width:2.5; }
.about-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.about-hero-card { background:white; border-radius:20px; padding:32px 28px; box-shadow:0 20px 60px rgba(0,0,0,0.12); border:1px solid rgba(255,255,255,0.8); }
.about-hero-card-title { font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#9ca3af; margin-bottom:20px; }
.about-card-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px 20px; }
.about-card-stat { display:flex; flex-direction:column; gap:4px; }
.about-card-stat-num { font-family:'Plus Jakarta Sans',sans-serif; font-size:32px; font-weight:900; color:#2d6235; line-height:1; }
.about-card-stat-num span { font-size:18px; font-weight:700; }
.about-card-stat-label { font-size:12px; color:#6b7280; line-height:1.4; }

/* Who We Are */
.who-we-are { background:white; padding:64px 0; }
.who-we-are-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.who-body { display:flex; flex-direction:column; gap:16px; margin-bottom:24px; }
.who-body p { font-size:15px; color:#6b7280; line-height:1.7; margin:0; }
.who-highlight { font-size:15px; font-style:italic; color:#2d6235; border-left:3px solid #3a7d44; padding-left:16px; line-height:1.65; margin-top:8px; }
.who-visual { display:flex; align-items:flex-start; justify-content:center; }
.who-visual-card { background:white; border-radius:20px; padding:32px 28px; box-shadow:0 20px 60px rgba(0,0,0,0.10); border:1px solid #e5e7eb; width:100%; max-width:440px; }
.who-visual-label { font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#9ca3af; margin-bottom:20px; }
.who-value-list { display:flex; flex-direction:column; gap:20px; }
.who-value-item { display:flex; align-items:flex-start; gap:14px; }
.who-value-icon { width:36px; height:36px; border-radius:10px; background:#c8e6cc; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.who-value-icon svg { width:18px; height:18px; stroke:#3a7d44; fill:none; stroke-width:1.8; }
.who-value-title { font-size:14px; font-weight:700; color:#111827; margin-bottom:4px; }
.who-value-desc { font-size:13px; color:#6b7280; line-height:1.5; }
.who-location-tag { display:flex; align-items:center; gap:8px; font-size:13px; color:#6b7280; margin-top:24px; padding-top:20px; border-top:1px solid #f3f4f6; }
.who-location-tag svg { width:14px; height:14px; stroke:#3a7d44; fill:none; stroke-width:2; flex-shrink:0; }

/* Our Story / Timeline */
.our-story { background:#f9fafb; padding:64px 0; }
.our-story-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.our-story-header { max-width:640px; margin:0 auto 56px; text-align:center; }
.timeline { position:relative; display:flex; flex-direction:column; }
.timeline::before { content:''; position:absolute; left:28px; top:0; bottom:0; width:2px; background:#e5e7eb; }
.timeline-item { display:flex; gap:32px; padding-bottom:48px; position:relative; margin-bottom:0; }
.timeline-item:last-child { padding-bottom:0; }
.timeline-dot { width:56px; height:56px; border-radius:50%; background:#c8e6cc; border:3px solid #3a7d44; display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; z-index:1; }
.timeline-dot svg { width:22px; height:22px; stroke:#3a7d44; fill:none; stroke-width:1.8; }
.timeline-left,.timeline-line { display:none; }
.timeline-content { padding-top:12px; }
.timeline-year { font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#3a7d44; margin-bottom:6px; }
.timeline-title { font-size:20px; font-weight:800; color:#111827; letter-spacing:-0.01em; margin-bottom:10px; }
.timeline-text { font-size:14px; color:#6b7280; line-height:1.7; max-width:600px; }
/* Two-column story layout */
.story-two-col { display:grid; grid-template-columns:1fr 340px; gap:64px; align-items:start; }
/* Story sidebar */
.story-sidebar { display:flex; flex-direction:column; gap:16px; position:sticky; top:100px; }
.story-stat-card { background:white; border:1.5px solid #e5e7eb; border-radius:16px; padding:24px; }
.story-stat-num { font-family:'Plus Jakarta Sans',sans-serif; font-size:38px; font-weight:900; color:#3a7d44; line-height:1; margin-bottom:6px; }
.story-stat-label { font-size:13px; font-weight:700; color:#374151; margin-bottom:4px; }
.story-stat-sub { font-size:12px; color:#6b7280; line-height:1.55; }
.story-stat-card-dark { background:#3a7d44; border-color:#3a7d44; }
.story-stat-card-dark .story-stat-num { color:white; }
.story-stat-card-dark .story-stat-label { color:rgba(255,255,255,0.9); }
.story-stat-card-dark .story-stat-sub { color:rgba(255,255,255,0.65); }
.story-trust-badge { background:white; border:1.5px solid #e5e7eb; border-radius:16px; padding:20px; display:flex; align-items:center; gap:14px; }
.story-trust-icon { width:44px; height:44px; border-radius:12px; background:#c8e6cc; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.story-trust-icon svg { width:22px; height:22px; stroke:#3a7d44; fill:none; stroke-width:1.8; }
.story-trust-text strong { display:block; font-size:13px; font-weight:700; color:#111827; margin-bottom:2px; }
.story-trust-text span { font-size:12px; color:#6b7280; }

/* Core Values */
.core-values { background:#c8e6cc; padding:64px 0; }
.core-values-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.core-values-header { max-width:640px; margin:0 auto 52px; text-align:center; }
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.value-card { background:white; border-radius:16px; padding:32px 24px; border:1.5px solid rgba(58,125,68,0.12); box-shadow:0 4px 20px rgba(0,0,0,0.05); transition:all 0.22s; }
.value-card:hover { transform:translateY(-3px); box-shadow:0 8px 32px rgba(58,125,68,0.12); border-color:#3a7d44; }
.value-icon { width:48px; height:48px; border-radius:12px; background:#c8e6cc; display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.value-icon svg { width:24px; height:24px; stroke:#3a7d44; fill:none; stroke-width:1.8; }
.value-title { font-size:17px; font-weight:700; color:#111827; margin-bottom:10px; }
.value-desc { font-size:14px; color:#6b7280; line-height:1.65; }

/* Why Us */
.why-us { background:white; padding:64px 0; }
.why-us-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.why-us-header { max-width:640px; margin:0 auto 52px; text-align:center; }
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.why-card { background:#f9fafb; border-radius:16px; padding:28px 24px; border:1px solid #e5e7eb; transition:all 0.22s; }
.why-card:hover { background:white; box-shadow:0 8px 32px rgba(0,0,0,0.07); border-color:#3a7d44; }
.why-card-icon { width:44px; height:44px; border-radius:10px; background:#c8e6cc; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.why-card-icon svg { width:22px; height:22px; stroke:#3a7d44; fill:none; stroke-width:1.8; }
.why-card-title { font-size:16px; font-weight:700; color:#111827; margin-bottom:8px; }
.why-card-desc { font-size:13px; color:#6b7280; line-height:1.65; }

/* About page mid-cta — split layout */
.about-mid-cta { background:#0f1f14; padding:72px 0; text-align:left; overflow:hidden; }
.about-mid-cta::before { display:none; }
.about-mid-cta::after { content:''; position:absolute; top:0; right:0; bottom:0; width:55%; background:radial-gradient(ellipse at 80% 50%,rgba(58,125,68,0.18) 0%,transparent 70%); pointer-events:none; }
.about-mid-cta .mid-cta-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; position:relative; z-index:1; }
.about-mid-cta h2 { font-family:'Plus Jakarta Sans',sans-serif; font-size:38px; font-weight:800; color:#fff; letter-spacing:-.02em; line-height:1.15; margin-bottom:14px; text-align:left; }
.about-mid-cta h2 em { font-style:normal; color:#5aab66; }
.about-mid-cta .mid-cta-sub { font-size:15px; color:rgba(255,255,255,.6); line-height:1.65; margin-bottom:28px; padding-bottom:24px; border-bottom:1px solid rgba(255,255,255,.1); }
.about-mid-cta .mid-cta-btns { justify-content:flex-start; margin-bottom:20px; display: flex; align-items: center; gap: 20px 10px; flex-wrap: wrap; }
.about-mid-cta .mid-cta-perks { display:flex; gap:20px; flex-wrap:wrap; justify-content:flex-start; }
.mid-cta-btn-primary { display:inline-flex; align-items:center; gap:8px; background:#3a7d44; color:#fff; padding:13px 24px; border-radius:8px; font-size:15px; font-weight:600; text-decoration:none; transition:background .2s; }
.mid-cta-btn-primary:hover { background:#2d6235; }
.mid-cta-btn-outline { display:inline-flex; align-items:center; border:1.5px solid rgba(255,255,255,.35); color:#fff; padding:13px 24px; border-radius:8px; font-size:15px; font-weight:600; text-decoration:none; transition:border-color .2s,background .2s; }
.mid-cta-btn-outline:hover { border-color:rgba(255,255,255,.6); background:rgba(255,255,255,.06); }
.mid-cta-perk { display:flex; align-items:center; gap:6px; font-size:13px; color:rgba(255,255,255,.55); }

/* Dashboard mockup */
.mid-cta-right { position:relative; }
.db-wrap { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 24px 64px rgba(0,0,0,.45); }
.db-topbar { background:#0f1f14; padding:10px 16px; display:flex; align-items:center; gap:8px; }
.db-dot { width:10px; height:10px; border-radius:50%; }
.db-dot-r { background:#ff5f57; } .db-dot-y { background:#febc2e; } .db-dot-g { background:#28c840; }
.db-logo-text { margin-left:8px; font-size:13px; font-weight:700; color:#5aab66; }
.db-body { display:flex; }
.db-sidebar { width:130px; background:#f8faf8; border-right:1px solid #e8f0e8; padding:12px 0; flex-shrink:0; }
.db-nav-item { padding:7px 14px; font-size:11px; color:#6b7280; }
.db-nav-item.active { background:#c8e6cc; color:#1a5c4a; font-weight:600; border-left:3px solid #3a7d44; }
.db-main { flex:1; padding:14px; min-width:0; }
.db-title { font-size:13px; font-weight:700; color:#1e293b; margin-bottom:10px; }
.db-search { background:#f1f5f9; border-radius:6px; padding:7px 10px; font-size:11px; color:#94a3b8; margin-bottom:10px; display:flex; align-items:center; gap:6px; }
.db-table { width:100%; border-collapse:collapse; }
.db-table th { font-size:9px; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:.06em; padding:4px 6px; text-align:left; border-bottom:1px solid #e2e8f0; }
.db-table td { font-size:10px; color:#374151; padding:5px 6px; border-bottom:1px solid #f1f5f9; }
.db-badge { display:inline-block; padding:2px 7px; border-radius:20px; font-size:9px; font-weight:600; }
.db-badge-match { background:#dcfce7; color:#166534; } .db-badge-pending { background:#fef9c3; color:#854d0e; }
.trust-badge { position:absolute; top:18px; right:-12px; background:#3a7d44; color:#fff; padding:10px 16px; border-radius:10px; font-size:12px; font-weight:700; line-height:1.3; box-shadow:0 8px 24px rgba(0,0,0,.3); display:flex; align-items:center; gap:8px; z-index:2; }
.trust-badge-icon { width:28px; height:28px; background:rgba(255,255,255,.15); border-radius:6px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }

/* Contact */
.contact-hero { background:#0f1f14; padding:88px 0; }
.contact-main { padding:80px 0; background:#fff; }
.contact-main-inner { max-width:1100px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1fr 1.3fr; gap:64px; }
.contact-info h2 { font-size:28px; font-weight:800; color:#111827; margin-bottom:12px; font-family:'Plus Jakarta Sans',sans-serif; }
.contact-info p { font-size:14.5px; color:#6b7280; line-height:1.7; margin-bottom:28px; }
.contact-detail { display:flex; align-items:flex-start; gap:14px; margin-bottom:22px; }
.contact-detail-icon { width:40px; height:40px; border-radius:9px; background:#c8e6cc; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-detail-icon svg { width:18px; height:18px; stroke:#3a7d44; fill:none; stroke-width:1.8; }
.contact-detail-title { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:#9ca3af; margin-bottom:3px; }
.contact-detail-value { font-size:14.5px; font-weight:600; color:#111827; }
.contact-form { background:#f9fafb; border-radius:20px; padding:36px; border:1.5px solid #e5e7eb; }

/* Blog */
.blog-hero { background:#c8e6cc; padding:72px 0; text-align:center; }
.blog-hero h1 { font-size:clamp(32px,5vw,52px); font-weight:900; color:#111827; letter-spacing:-0.025em; margin-bottom:16px; font-family:'Plus Jakarta Sans',sans-serif; }
.blog-hero p { font-size:17px; color:#374151; max-width:560px; margin:0 auto 28px; line-height:1.65; }
.blog-search-bar { display:flex; max-width:480px; margin:0 auto; background:#fff; border:1.5px solid #e5e7eb; border-radius:10px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.08); }
.blog-search-input { flex:1; border:none; outline:none; padding:11px 16px; font-size:14px; font-family:'Inter',sans-serif; }
.blog-search-btn { background:#3a7d44; color:#fff; border:none; padding:0 16px; cursor:pointer; transition:background .18s; }
.blog-search-btn:hover { background:#2d6235; }
.blog-main { padding:64px 0; background:#f9fafb; }
.blog-main-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.blog-category-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:40px; }
.blog-cat-tab { background:#fff; border:1.5px solid #e5e7eb; border-radius:20px; padding:8px 18px; font-size:13px; font-weight:600; color:#374151; cursor:pointer; transition:all .18s; }
.blog-cat-tab:hover,.blog-cat-tab.active { background:#3a7d44; color:#fff; border-color:#3a7d44; }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.blog-card { background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; overflow:hidden; transition:box-shadow .18s,transform .18s,border-color .18s; }
.blog-card:hover { box-shadow:0 8px 40px rgba(0,0,0,.12); transform:translateY(-4px); border-color:#3a7d44; }
.blog-card-img { aspect-ratio:16/10; overflow:hidden; }
.blog-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.blog-card:hover .blog-card-img img { transform:scale(1.03); }
.blog-card-body { padding:22px; }
.blog-card-cat { display:inline-block; background:#c8e6cc; color:#2d6235; font-size:11.5px; font-weight:700; padding:3px 9px; border-radius:10px; margin-bottom:10px; text-transform:uppercase; letter-spacing:.05em; }
.blog-card-title { font-size:16px; font-weight:800; color:#111827; line-height:1.35; margin-bottom:8px; }
.blog-card-excerpt { font-size:13.5px; color:#6b7280; line-height:1.6; margin-bottom:14px; }
.blog-card-meta { display:flex; align-items:center; gap:7px; font-size:12px; color:#9ca3af; }
.blog-card-meta img { width:22px; height:22px; border-radius:50%; }

/* Post */
.post-hero { background:#0f1f14; padding:72px 0 56px; }
.post-hero-inner { max-width:800px; margin:0 auto; padding:0 40px; }
.post-hero h1 { font-size:clamp(28px,4vw,44px); font-weight:900; color:#fff; letter-spacing:-0.025em; line-height:1.15; margin-bottom:20px; font-family:'Plus Jakarta Sans',sans-serif; }
.post-cat-badge { display:inline-block; background:rgba(255,255,255,.15); color:#fff; font-size:11.5px; font-weight:700; padding:4px 12px; border-radius:12px; margin-bottom:14px; text-transform:uppercase; letter-spacing:.07em; }
.post-meta { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.post-meta-author { display:flex; align-items:center; gap:10px; }
.post-meta-author img { width:36px; height:36px; border-radius:50%; border:2px solid rgba(255,255,255,.2); }
.post-meta-author-name { font-size:13.5px; font-weight:700; color:#fff; }
.post-meta-author-role { font-size:11.5px; color:rgba(255,255,255,.5); }
.post-meta-info { font-size:13px; color:rgba(255,255,255,.55); }
.post-content-wrap { max-width:1200px; margin:0 auto; padding:56px 40px; display:grid; grid-template-columns:1fr 320px; gap:48px; align-items:start; }
.post-content { font-size:16px; line-height:1.8; color:#374151; }
.post-content h2 { font-size:24px; margin:36px 0 14px; color:#111827; font-family:'Plus Jakarta Sans',sans-serif; }
.post-content h3 { font-size:19px; margin:28px 0 12px; color:#111827; font-family:'Plus Jakarta Sans',sans-serif; }
.post-content p { margin-bottom:20px; }
.post-content ul,.post-content ol { margin:0 0 20px 20px; }
.post-content li { margin-bottom:8px; }
.post-content blockquote { border-left:4px solid #3a7d44; margin:28px 0; padding:14px 20px; background:#c8e6cc; border-radius:0 8px 8px 0; font-style:italic; color:#374151; }
.post-content code { background:#f3f4f6; padding:2px 6px; border-radius:4px; font-size:13px; font-family:monospace; color:#2d6235; }
.post-content pre { background:#111827; color:#e2e8f0; border-radius:12px; padding:20px; overflow-x:auto; margin:24px 0; font-size:13px; line-height:1.6; }
.post-content img { border-radius:12px; margin:24px 0; box-shadow:0 4px 20px rgba(0,0,0,.09); }
.post-sidebar { position:sticky; top:80px; }
.post-sidebar-card { background:#fff; border:1.5px solid #e5e7eb; border-radius:12px; padding:22px; margin-bottom:20px; }
.post-sidebar-title { font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:#111827; margin-bottom:14px; }
.wp-download-btn { display:inline-flex; align-items:center; gap:6px; background:#c8e6cc; color:#2d6235; font-size:12.5px; font-weight:700; padding:6px 14px; border-radius:8px; text-decoration:none; margin-top:12px; transition:background .18s; }
.wp-download-btn:hover { background:#d6edd9; }

/* Accountants hero */
.accountants-hero { background:#0f1f14; padding:88px 0; }
.accountants-hero-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1fr 420px; gap:56px; align-items:center; }

/* Get Started */
.getstarted-page { display:grid; grid-template-columns:420px 1fr; min-height:100vh; }
.getstarted-left { background:#0f1f14; padding:56px 48px; display:flex; flex-direction:column; }
.getstarted-right { background:#f9fafb; padding:56px 64px; display:flex; flex-direction:column; justify-content:center; }
.getstarted-eyebrow { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-bottom:12px; }
.getstarted-heading { font-family:'Plus Jakarta Sans',sans-serif; font-size:32px; font-weight:900; color:#fff; letter-spacing:-0.02em; line-height:1.2; margin-bottom:14px; }
.getstarted-sub { font-size:15px; color:rgba(255,255,255,.6); line-height:1.65; margin-bottom:28px; }
.getstarted-trust { display:flex; flex-direction:column; gap:10px; }
.getstarted-trust-item { display:flex; align-items:center; gap:9px; font-size:13px; color:rgba(255,255,255,.7); font-weight:600; }
.getstarted-trust-item svg { width:15px; height:15px; stroke:#86efac; fill:none; stroke-width:2; flex-shrink:0; }
.getstarted-steps { display:flex; align-items:center; margin-bottom:40px; }
.getstarted-step-dot { display:flex; flex-direction:column; align-items:center; gap:6px; }
.getstarted-step-dot span { width:32px; height:32px; border-radius:50%; border:2px solid #d1d5db; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:#9ca3af; background:#fff; }
.getstarted-step-dot label { font-size:11px; font-weight:600; color:#9ca3af; white-space:nowrap; }
.getstarted-step-dot.active span { background:#3a7d44; border-color:#3a7d44; color:#fff; }
.getstarted-step-dot.active label { color:#3a7d44; }
.getstarted-step-dot.done span { background:#c8e6cc; border-color:#3a7d44; color:#3a7d44; }
.getstarted-step-line { flex:1; height:2px; background:#e5e7eb; margin:0 8px 18px; }
.getstarted-form-title { font-size:22px; font-weight:800; color:#111827; margin-bottom:24px; font-family:'Plus Jakarta Sans',sans-serif; }
.hidden { display:none !important; }
.plan-radio-card { display:block; cursor:pointer; border:1.5px solid #e5e7eb; border-radius:12px; padding:16px 18px; background:#fff; transition:border-color .18s; position:relative; }
.plan-radio-card.featured { border-color:#c8e6cc; }
.plan-radio-card.selected { border-color:#3a7d44; background:rgba(58,125,68,.03); }
.plan-radio-card input { position:absolute; opacity:0; pointer-events:none; }
.plan-radio-inner { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.plan-radio-name { font-size:15px; font-weight:700; color:#111827; }
.plan-radio-desc { font-size:12.5px; color:#6b7280; margin-top:3px; }
.plan-radio-price { font-size:16px; font-weight:800; color:#3a7d44; white-space:nowrap; }
.plan-radio-badge { position:absolute; top:-10px; right:16px; background:#3a7d44; color:#fff; font-size:10.5px; font-weight:700; padding:2px 10px; border-radius:10px; }

/* Login */
.login-page { display:grid; grid-template-columns:420px 1fr; min-height:100vh; }
.login-left { background:#0f1f14; padding:56px 48px; display:flex; flex-direction:column; }
.login-right { background:#f9fafb; padding:56px; display:flex; align-items:center; justify-content:center; }
.login-heading { font-family:'Plus Jakarta Sans',sans-serif; font-size:34px; font-weight:900; color:#fff; letter-spacing:-0.02em; margin-bottom:14px; }
.login-sub { font-size:15px; color:rgba(255,255,255,.6); line-height:1.65; max-width:300px; }
.login-form-wrap { background:#fff; border-radius:20px; padding:40px; max-width:440px; width:100%; box-shadow:0 8px 40px rgba(0,0,0,.12); border:1px solid #f3f4f6; }
.login-form-title { font-size:22px; font-weight:800; color:#111827; margin-bottom:24px; font-family:'Plus Jakarta Sans',sans-serif; }

/* Pagination */
.page-numbers { display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border:1.5px solid #e5e7eb; border-radius:8px; font-size:13.5px; font-weight:600; color:#374151; text-decoration:none; transition:all .18s; }
/* .page-numbers:hover,.page-numbers.current { background:#3a7d44; color:#fff; border-color:#3a7d44; } */

/* ═══════════════════════════════════
   MOBILE RESPONSIVE
═══════════════════════════════════ */
@media (max-width:768px) {
  .nav-wrap { position:relative; }
  .nav-inner { padding:0 16px; }
  .nav-links { display:none; }
  .nav-right { display:none; }
  .nav-hamburger {
    display: flex;
    padding: 0;
}
	.top-banner-inner {
    padding: 0;
}
  .top-banner { padding:6px 16px; }
  .hero { padding:40px 0 48px; min-height:auto; }
  .hero-inner { padding:0 20px; }
  .hero-inner { grid-template-columns:1fr; gap:40px; }
	.hero-right-img {
    transform: scale(1.2);
}
/* 	.db-diff-visual {
    display: none;
} */
/*   .hero-right { display:none; } */
  .hero-headline { font-size:34px; }
  .hero-email-row { flex-direction:column; gap:10px; }
  .hero-email-row input { width:100%; border-radius:8px; }
  .hero-email-row button { width:100%; border-radius:8px; }
  .brand-banner { padding:28px 0; }
  .product-modules { padding:56px 0; }
  .product-modules-inner { padding:0 20px; }
  .product-grid { grid-template-columns:1fr 1fr; gap:16px; }
  .section-heading { font-size:28px; }
  .testimonials { padding:56px 0; overflow:hidden; }
  .testimonials-inner { padding:0 20px; }
  .t-logo-carousel { display:none; }
  .t-cards-viewport { overflow:hidden; }
  .t-card-track { will-change:transform; }
  .t-card-side { opacity:.35; transform:scale(0.97); }
  .t-card-centre { padding:24px; transform:scale(1); box-shadow:0 4px 20px rgba(0,0,0,0.08); }
  .t-card-quote { font-size:15px; line-height:1.65; }
  .testimonials-nav { margin-top:24px; }
  .how-it-works { padding:56px 0; }
  .how-it-works-inner { padding:0 20px; }
  .hiw-steps { grid-template-columns:1fr; gap:32px; }
  .hiw-steps::before { display:none; }
  .stats-strip { padding:40px 0; }
  .stats-strip-inner { padding:0 20px; }
  .stats-strip-inner { grid-template-columns:1fr 1fr; }
  .stat-item { border-right:none; border-bottom:1px solid rgba(255,255,255,.1); padding:20px 0; }
  .stat-item:nth-child(odd) { border-right:1px solid rgba(255,255,255,.1); }
  .stat-item:nth-child(3),.stat-item:nth-child(4) { border-bottom:none; }
  .db-diff { padding:56px 0; }
  .db-diff-inner { padding:0 20px; }
  .db-diff-inner { grid-template-columns:1fr; gap:40px; }
  .db-compare-vals { gap:12px; }
  .use-cases { padding:56px 0; overflow:hidden; }
  .use-cases-inner { padding:0 20px; }
  .persona-grid { grid-template-columns:1fr 1fr; gap:16px; margin-top:32px; }
  .persona-card { padding:20px 16px; }
  .persona-title { font-size:14px; }
  .persona-desc { font-size:13px; }
  .mid-cta { padding:56px 0; }
  .mid-cta-inner { padding:0 20px; }
  .mid-cta h2 { font-size:28px; }
  .cta-search-bar { flex-direction:column; border-radius:12px; overflow:visible; background:transparent; box-shadow:none; gap:10px; }
  .cta-search-input { border-radius:10px; border:1.5px solid #e5e7eb; background:white; box-shadow:0 2px 8px rgba(0,0,0,.08); }
  .cta-search-btn { border-radius:10px; margin:0; padding:15px 24px; }
  .cta-result-grid { grid-template-columns:1fr 1fr; }
  .faq-section { padding:56px 0; }
  .faq-section-inner { padding:0 20px; }
  .faq-section-inner { grid-template-columns:1fr; gap:32px; }
  .site-footer-main-wrap { padding:40px 0 0; }
  .site-footer-main { grid-template-columns:1fr 1fr; gap:32px; padding:0 20px; }
  .site-footer-divider { padding:0 20px; }
  .site-footer-bottom-inner { padding:16px 20px; flex-direction:column; align-items:flex-start; gap:8px; }
  .form-row { grid-template-columns:1fr; }
  .why-section-inner,.contact-main-inner,.svc-hero-inner,.db-diff-inner,.feature-block-inner { grid-template-columns:1fr; }
  .feature-block-inner.reverse { direction:ltr; }
  .benefits-grid,.blog-grid { grid-template-columns:1fr 1fr; gap:16px; }
  .plan-cards-grid { grid-template-columns:1fr; }
  .post-hero { padding:48px 0 40px; }
  .post-hero-inner { padding:0 20px; }
  .post-content-wrap { grid-template-columns:1fr; padding:40px 20px; }
  .post-sidebar { position:static; }
  .accountants-hero-inner { grid-template-columns:1fr; }
  .getstarted-page,.login-page { grid-template-columns:1fr; }
  .getstarted-left,.login-left { display:none; }
  /* About page mobile */
  .about-hero { padding:48px 0 56px; min-height:auto; }
  .about-hero-inner { grid-template-columns:1fr; gap:40px; padding:0 20px; }
  .about-hero-card { display:none; }
  .about-hero-headline { font-size:32px; }
  .who-we-are { padding:56px 0; }
  .who-we-are-inner { grid-template-columns:1fr; gap:40px; padding:0 20px; }
  .our-story { padding:56px 0; }
  .our-story-inner { padding:0 20px; }
  .story-two-col { grid-template-columns:1fr; gap:40px; }
  .story-sidebar { flex-direction: column; flex-wrap:wrap; }
  .story-stat-card, .story-trust-badge { flex:1 1 calc(50% - 8px); min-width:0; }
  .timeline::before { left:22px; }
  .timeline-dot { width:46px; height:46px; }
  .core-values { padding:56px 0; }
  .core-values-inner { padding:0 20px; }
  .values-grid { grid-template-columns:1fr; gap:16px; }
  .why-us { padding:56px 0; }
  .why-us-inner { padding:0 20px; }
  .why-grid { grid-template-columns:1fr; gap:16px; }
  .about-mid-cta { padding:48px 0; }
  .about-mid-cta .mid-cta-inner { grid-template-columns:1fr; padding:0 24px; }
  .about-mid-cta h2 { font-size:28px; }
/*   .about-mid-cta .mid-cta-right { display:none; } */
}

@media (max-width:480px) {
  .top-banner-auth { gap:12px; font-size:11px; }
  .hero-headline { font-size:28px; }
  .product-grid { grid-template-columns:1fr; }
  .persona-grid { grid-template-columns:1fr; }
  .site-footer-main { grid-template-columns:1fr; gap:28px; }
  .benefits-grid,.blog-grid { grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════
   SERVICE PAGE — additional sections
   (complements existing svc-hero, why-section, feature-block,
    benefits-section, stats-strip, faq-section already above)
═══════════════════════════════════════════════════════════ */

/* ── Hero green variant ──────────────────────────────────── */
.svc-hero--green {
  background: #c8e6cc;
  min-height: 560px;
  padding: 60px 0;
  position: relative; overflow: hidden;
}
.svc-hero--green::before { content:''; position:absolute; top:-120px; left:-120px; width:500px; height:500px; border-radius:50%; background:rgba(58,125,68,.08); pointer-events:none; }
.svc-hero--green::after  { content:''; position:absolute; bottom:-80px; left:200px; width:300px; height:300px; border-radius:50%; background:rgba(58,125,68,.06); pointer-events:none; }
.svc-hero--green .svc-hero-inner { max-width:1200px; margin:0 auto; padding:0 40px; width:100%; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; position:relative; z-index:1; }
.svc-hero-left  { display:flex; flex-direction:column; gap:24px; }
.svc-hero-right { position:relative; display:flex; align-items:center; justify-content:center; }

/* eyebrow */
.svc-hero-eyebrow { display:inline-flex; align-items:center; gap:8px; background:rgba(58,125,68,.12); color:#2d6235; font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:6px 14px; border-radius:20px; width:fit-content; }
.svc-hero-eyebrow-dot { width:7px; height:7px; border-radius:50%; background:#3a7d44; }

/* headline */
.svc-hero-headline { font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(34px,4vw,52px); font-weight:900; line-height:1.1; color:#111827; letter-spacing:-.02em; }
.svc-hero--green .svc-hero-headline { font-size:clamp(34px,4vw,52px); font-weight:900; line-height:1.1; color:#111827; letter-spacing:-.02em; margin-bottom:0; }
.svc-hero-headline span { color:#2d6235; }

/* subtext */
.svc-hero-subtext { font-size:16px; line-height:1.65; color:#3d5c42; max-width:460px; }

/* bullets */
.svc-hero-bullets { display:flex; flex-direction:column; gap:10px; }
.svc-hero-bullet  { display:flex; align-items:center; gap:10px; font-size:14px; color:#2d5234; font-weight:500; }
.svc-hero-bullet-icon { width:20px; height:20px; border-radius:50%; background:#3a7d44; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.svc-hero-bullet-icon svg { width:11px; height:11px; stroke:white; fill:none; stroke-width:2.5; }

/* actions */
.svc-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }

/* trust strip */
.svc-hero-trust { display:flex; align-items:center; gap:10px; }
.svc-hero-trust-avatars { display:flex; }
.svc-hero-trust-avatar  { width:28px; height:28px; border-radius:50%; border:2px solid #c8e6cc; margin-left:-7px; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; color:white; }
.svc-hero-trust-avatar:first-child { margin-left:0; }
.svc-hero-trust-label   { font-size:12px; color:#4a7050; font-weight:500; }
.svc-hero-trust-label .stars { color:#f59e0b; }

/* Product card */
.svc-product-card { background:white; border-radius:20px; box-shadow:0 20px 60px rgba(0,0,0,.12),0 4px 16px rgba(0,0,0,.06); padding:28px; width:100%; max-width:440px; }
.svc-product-card-header { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.svc-product-card-icon { width:40px; height:40px; border-radius:10px; background:#c8e6cc; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.svc-product-card-icon svg { width:20px; height:20px; stroke:#3a7d44; fill:none; stroke-width:1.8; }
.svc-product-card-title { font-size:16px; font-weight:700; color:#111827; }
.svc-product-card-sub   { font-size:12px; color:#9ca3af; margin-top:2px; }
.svc-search-bar   { display:flex; border-radius:8px; overflow:hidden; border:1.5px solid #e5e7eb; margin-bottom:20px; }
.svc-search-input { flex:1; border:none; outline:none; padding:11px 14px; font-size:13px; font-family:'Inter',sans-serif; color:#111827; background:#f9fafb; }
.svc-search-btn   { background:#3a7d44; color:white; border:none; padding:11px 16px; font-size:12px; font-weight:600; font-family:'Inter',sans-serif; cursor:pointer; white-space:nowrap; transition:background .18s; }
.svc-search-btn:hover { background:#2d6235; }
.svc-result-row   { background:#c8e6cc; border-radius:10px; padding:14px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.svc-result-name  { font-size:13px; font-weight:700; color:#111827; }
.svc-result-ein   { font-size:12px; color:#6b7280; margin-top:2px; }
.svc-result-badge { background:#3a7d44; color:white; font-size:11px; font-weight:700; padding:4px 10px; border-radius:20px; white-space:nowrap; flex-shrink:0; }
.svc-stats-row    { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:16px; }
.svc-stat-mini    { text-align:center; padding:10px 8px; background:#f9fafb; border-radius:8px; }
.svc-stat-mini-num { font-size:18px; font-weight:800; color:#2d6235; line-height:1; }
.svc-stat-mini-num span { color:#5aab66; }
.svc-stat-mini-label { font-size:10px; color:#9ca3af; margin-top:4px; line-height:1.3; }

/* ── Why section additions ───────────────────────────────── */
.why-left  { display:flex; flex-direction:column; gap:0; }
.why-right { }
.why-body  { font-size:15px; color:#6b7280; line-height:1.7; margin-bottom:24px; }
.why-feature-dot { width:8px; height:8px; border-radius:50%; background:#3a7d44; flex-shrink:0; }
.why-video-frame  { border-radius:16px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.14); }
.why-video-screen { position:relative; background:#0f1f14; min-height:340px; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:16px; }
.why-video-bg { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.why-video-mock-ui { width:88%; display:flex; flex-direction:column; gap:10px; }
.mock-search-bar { background:white; border-radius:8px; padding:10px 14px; display:flex; align-items:center; gap:8px; font-size:13px; color:#6b7280; }
.mock-search-btn { margin-left:auto; background:#3a7d44; color:white; font-size:12px; font-weight:600; padding:5px 14px; border-radius:5px; }
.mock-result { background:rgba(255,255,255,.1); border-radius:8px; padding:10px 14px; display:flex; align-items:center; justify-content:space-between; border:1px solid rgba(255,255,255,.12); }
.mock-result-name { font-size:13px; font-weight:600; color:white; }
.mock-result-meta { font-size:11px; color:rgba(255,255,255,.55); margin-top:2px; }
.mock-badge { font-size:11px; font-weight:700; padding:3px 10px; border-radius:20px; white-space:nowrap; }
.mock-badge.verified { background:rgba(90,171,102,.25); color:#5aab66; }
.mock-badge.review   { background:rgba(251,191,36,.2);  color:#f59e0b; }
.mock-badge.mismatch { background:rgba(239,68,68,.2);   color:#ef4444; }
.why-video-overlay { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; z-index:2; background:rgba(26,58,36,.72); backdrop-filter:blur(2px); }
.why-play-btn { width:64px; height:64px; border-radius:50%; background:white; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 32px rgba(0,0,0,.3); transition:transform .18s; }
.why-play-btn:hover { transform:scale(1.08); }
.why-play-btn svg { width:22px; height:22px; fill:#3a7d44; margin-left:3px; }
.why-video-label { font-size:13px; color:rgba(255,255,255,.85); font-weight:500; }

/* ── Feature screenshot additions ───────────────────────── */
.fs-row { display:flex; align-items:center; gap:12px; padding:12px 14px; background:#f9fafb; border-radius:8px; border:1px solid #e5e7eb; }
.fs-row-icon { width:32px; height:32px; border-radius:8px; background:#c8e6cc; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.fs-row-icon svg { width:16px; height:16px; stroke:#3a7d44; fill:none; stroke-width:1.8; }
.fs-row-name { font-size:13px; font-weight:600; color:#111827; }
.fs-row-ein  { font-size:11px; color:#9ca3af; margin-top:2px; }
.fs-row-status { margin-left:auto; font-size:11.5px; font-weight:700; padding:4px 10px; border-radius:20px; white-space:nowrap; }
.fs-status-match  { background:#dcfce7; color:#16a34a; }
.fs-status-review { background:#fef9c3; color:#d97706; }
.fs-status-flag   { background:#fee2e2; color:#dc2626; }
  
/* ── API Callout ─────────────────────────────────────────── */
.svc-api-callout { background:#0f1f14; padding:80px 0; }
.svc-api-callout-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.svc-api-left { display:flex; flex-direction:column; gap:0px; align-items: flex-start;}
.svc-api-eyebrow { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#5aab66; margin-bottom:14px; }
.svc-api-heading { font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(24px,3vw,36px); font-weight:800; color:white; line-height:1.2; letter-spacing:-.02em; margin-bottom:16px; }
.svc-api-body    { font-size:15px; color:rgba(255,255,255,.7); line-height:1.7; margin-bottom:24px; }
.svc-api-features { display:flex; flex-direction:column; gap:10px; margin-bottom:28px; }
.svc-api-feature  { display:flex; align-items:center; gap:10px; font-size:14px; color:rgba(255,255,255,.85); }
.svc-api-feature-dot { width:6px; height:6px; border-radius:50%; background:#5aab66; flex-shrink:0; }
/* Code card */
.svc-code-card { background:#122517; border-radius:14px; overflow:hidden; border:1px solid rgba(255,255,255,.08); }
.svc-code-header { display:flex; align-items:center; gap:7px; padding:12px 16px; background:rgba(255,255,255,.05); border-bottom:1px solid rgba(255,255,255,.06); }
.svc-code-dot    { width:12px; height:12px; border-radius:50%; }
.svc-code-title  { margin-left:8px; font-size:12px; color:rgba(255,255,255,.45); font-weight:500; }
.svc-code-body   { padding:20px; font-family:'Courier New',monospace; font-size:13px; line-height:1.8; }
.c-muted { color:rgba(255,255,255,.35); }
.c-key   { color:#7dd3af; }
.c-str   { color:#f9c97c; }
.c-num   { color:#79c0ff; }
.svc-api-badge { display:flex; align-items:center; gap:8px; padding:10px 16px; background:rgba(90,171,102,.1); border-top:1px solid rgba(90,171,102,.2); font-size:12.5px; font-weight:600; color:#5aab66; }
.svc-api-badge-dot { width:8px; height:8px; border-radius:50%; background:#5aab66; animation:pulse 1.8s ease-in-out infinite; flex-shrink:0; }
@keyframes pulse { 0%,100%{opacity:1}50%{opacity:.4} }

/* ── Mid CTA ─────────────────────────────────────────────── */
.svc-mid-cta { background:#2d6235; padding:56px 0; text-align:center; }
.svc-mid-cta-inner { max-width:640px; margin:0 auto; padding:0 40px; }
.svc-mid-cta h2 { font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(26px,3.5vw,40px); font-weight:900; color:white; line-height:1.15; letter-spacing:-.02em; margin-bottom:16px; }
.svc-mid-cta .mid-cta-eyebrow { color:rgba(255,255,255,.75); }
.svc-mid-cta .mid-cta-sub { font-size:15px; color:rgba(255,255,255,.8); line-height:1.65; margin-bottom:32px; }
.svc-mid-cta-btns { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }

/* ── Trust Row ───────────────────────────────────────────── */
.svc-trust-row { background:white; padding:48px 0; border-top:1px solid #e5e7eb; border-bottom:1px solid #e5e7eb; }
.svc-trust-row-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.svc-trust-item { display:flex; align-items:flex-start; gap:16px; padding-right:40px; border-right:1px solid #e5e7eb; }
.svc-trust-item:last-child { border-right:none; padding-right:0; }
.svc-trust-icon { width:40px; height:40px; border-radius:10px; background:#c8e6cc; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.svc-trust-icon svg { width:20px; height:20px; stroke:#3a7d44; fill:none; stroke-width:1.8; }
.svc-trust-title { font-size:14px; font-weight:700; color:#111827; margin-bottom:6px; }
.svc-trust-body  { font-size:13.5px; color:#6b7280; line-height:1.6; }



/* ── Related Products ────────────────────────────────────── */
.svc-related { background:#f9fafb; padding:80px 0; }
.svc-related-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.svc-related-subtext { font-size:15px; color:#6b7280; line-height:1.7; margin-bottom:40px; max-width:560px; }
.svc-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.svc-related-grid--four { grid-template-columns:repeat(4,1fr); }
.svc-related-card { display:flex; flex-direction:column; background:white; border-radius:16px; padding:28px; border:1px solid #e5e7eb; text-decoration:none; transition:box-shadow .2s,transform .2s; }
.svc-related-card:hover { box-shadow:0 12px 40px rgba(0,0,0,.1); transform:translateY(-3px); }
.svc-related-card-icon { width:44px; height:44px; border-radius:10px; background:#c8e6cc; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.svc-related-card-icon svg { width:22px; height:22px; stroke:#3a7d44; fill:none; stroke-width:1.8; }
.svc-related-card-title { font-size:15px; font-weight:700; color:#111827; margin-bottom:8px; }
.svc-related-card-desc  { font-size:13.5px; color:#6b7280; line-height:1.6; margin-bottom:20px; }
.svc-related-card-link  { display:flex; align-items:center; gap:4px; font-size:13px; font-weight:600; color:#3a7d44; margin-top:auto; }
.svc-related-card-link svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2.5; }

/* ── Responsive additions ────────────────────────────────── */
@media (max-width:900px) {
  .svc-hero--green .svc-hero-inner { grid-template-columns:1fr; gap:40px; padding:0 24px; }
  .svc-hero--green { min-height:auto; padding:48px 0; }
  .svc-api-callout-inner { grid-template-columns:1fr; gap:40px; padding:0 24px; }
  .svc-api-callout { padding:60px 0; }
  .svc-trust-row-inner { grid-template-columns:1fr; gap:24px; padding:0 24px; }
  .svc-trust-item { border-right:none; padding-right:0; border-bottom:1px solid #e5e7eb; padding-bottom:24px; }
  .svc-trust-item:last-child { border-bottom:none; padding-bottom:0; }
  .svc-related-grid { grid-template-columns:1fr; }
  .svc-related,.svc-testimonials,.svc-mid-cta,.svc-trust-row { padding:60px 0; }
  .svc-related-inner,.svc-mid-cta-inner { padding:0 24px; }
  .why-section { padding:60px 0; }
  .why-section-inner { grid-template-columns:1fr; gap:40px; padding:0 24px; }
}
@media (max-width:600px) {
  .svc-stats-row { grid-template-columns:repeat(3,1fr); }
  .stats-strip-inner { grid-template-columns:1fr 1fr; }
}

/* ═══════════════════════════════════════════════════════════
   TESTIMONIALS — shared section (CPT-driven, used on all pages)
═══════════════════════════════════════════════════════════ */
.ein-testimonials { background:#ffffff; padding:80px 0; }
.ein-testimonials__inner { max-width:1200px; margin:0 auto; padding:0 40px; }

/* Heading */
.ein-testimonials__heading {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(26px,3vw,38px); font-weight:800;
  color:#111827; text-align:center;
  letter-spacing:-.02em; margin-bottom:44px;
}

/* ── Logo carousel ── */
.ein-t-logo-carousel { overflow:hidden; position:relative; margin-bottom:36px; }
.ein-t-logo-track { display:flex; will-change:transform; }
.ein-t-logo-item {
  width:160px; height:80px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; opacity:.35;
  transition:opacity .3s;
}
.ein-t-logo-item img {
  max-height:38px; max-width:120px;
  object-fit:contain;
  filter:grayscale(1) opacity(.7);
  transition:filter .25s;
  user-select:none; pointer-events:none;
}
.ein-t-logo-item.is-active { opacity:1; }
.ein-t-logo-item.is-active img { filter:none; }
.ein-t-logo-item.is-near { opacity:.65; }
.ein-t-logo-item.is-near img { filter:grayscale(.5) opacity(.85); }

/* initials fallback badge */
.ein-t-logo-initials {
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:12px;
  font-size:16px; font-weight:800; color:#fff;
  letter-spacing:.03em;
}

/* ── Card track ── */
.ein-t-cards-viewport { overflow:hidden; width:100%; }
.ein-t-card-track { display:flex; gap:20px; will-change:transform; }
.ein-t-card {
  flex-shrink:0;
  background:#f9fafb; border-radius:16px;
  padding:28px 28px 24px;
  border:1px solid #e5e7eb;
  box-sizing:border-box;
  transition:box-shadow .2s;
}
.ein-t-card.is-active { box-shadow:0 4px 24px rgba(58,125,68,.10); border-color:#c9e6cc; }

/* card internals */
.ein-t-card__top { display:flex; align-items:center; gap:7px; margin-bottom:14px; }
.ein-t-card__stars { color:#f59e0b; font-size:15px; letter-spacing:1px; }
.ein-t-card__rating { font-size:13px; font-weight:700; color:#374151; }
.ein-t-card__quote {
  font-size:14px; line-height:1.7; color:#374151;
  font-style:italic; margin:0 0 18px;
}
.ein-t-card__author { font-size:13px; font-weight:700; color:#111827; }
.ein-t-card__role   { font-size:12px; color:#9ca3af; margin-top:3px; }

/* ── Nav ── */
.ein-t-nav { display:flex; justify-content:center; gap:12px; margin-top:36px; }

/* ── Responsive ── */
@media (max-width:900px) {
  .ein-testimonials { padding:56px 0; }
  .ein-testimonials__inner { padding:0 24px; }
  .ein-t-logo-item { width:120px; height:64px; }
}
@media (max-width:700px) {
  .ein-testimonials { padding:48px 0; }
  .ein-testimonials__inner { padding:0 20px; }
}

/* ═══════════════════════════════════════════════════════════
   FOR ACCOUNTANTS PAGE
═══════════════════════════════════════════════════════════ */

/* ── Hero ── */
.acct-hero { background:linear-gradient(135deg,#0f1f14 0%,#2d6235 60%,#3a7d44 100%); padding:80px 0 72px; position:relative; overflow:hidden; }
.acct-hero::before { content:''; position:absolute; top:-200px; right:-200px; width:600px; height:600px; border-radius:50%; background:rgba(90,171,102,0.08); pointer-events:none; }
.acct-hero::after  { content:''; position:absolute; bottom:-100px; left:-100px; width:400px; height:400px; border-radius:50%; background:rgba(58,125,68,0.1); pointer-events:none; }
.acct-hero-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1fr 420px; gap:64px; align-items:center; position:relative; z-index:1; }
.acct-hero-eyebrow { display:inline-flex; align-items:center; gap:8px; background:rgba(90,171,102,0.15); color:#a7f3b0; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:6px 14px; border-radius:20px; margin-bottom:20px; width:fit-content; border:1px solid rgba(90,171,102,0.25); }
.acct-hero-eyebrow-dot { width:6px; height:6px; border-radius:50%; background:#5aab66; }
.acct-hero-headline { font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(34px,4vw,52px); font-weight:900; line-height:1.1; color:#fff; letter-spacing:-0.02em; margin-bottom:20px; }
.acct-hero-headline span { color:#7dd98a; }
.acct-hero-sub { font-size:17px; line-height:1.65; color:rgba(255,255,255,.75); max-width:480px; margin-bottom:32px; }
.acct-hero-bullets { display:flex; flex-direction:column; gap:10px; margin-bottom:36px; }
.acct-hero-bullet { display:flex; align-items:center; gap:10px; font-size:14.5px; color:rgba(255,255,255,.85); font-weight:500; }
.acct-hero-bullet-check { width:20px; height:20px; border-radius:50%; background:rgba(90,171,102,0.2); border:1.5px solid rgba(90,171,102,0.4); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.acct-hero-bullet-check svg { width:10px; height:10px; stroke:#7dd98a; fill:none; stroke-width:2.5; }
.acct-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.acct-hero-btn-primary { display:inline-flex; align-items:center; gap:8px; padding:14px 28px; border-radius:10px; background:#5aab66; color:white; font-size:15px; font-weight:700; text-decoration:none; transition:background .18s; }
.acct-hero-btn-primary:hover { background:#2d6235; }
.acct-hero-btn-secondary { display:inline-flex; align-items:center; gap:8px; padding:14px 28px; border-radius:10px; background:rgba(255,255,255,.1); color:white; font-size:15px; font-weight:600; text-decoration:none; border:1.5px solid rgba(255,255,255,.2); transition:all .18s; }
.acct-hero-btn-secondary:hover { background:rgba(255,255,255,.18); }

/* Hero stat card */
.acct-hero-card { background:white; border-radius:20px; padding:32px; box-shadow:0 24px 64px rgba(0,0,0,.25); }
.acct-hero-card-title { font-size:13px; font-weight:700; color:#6b7280; text-transform:uppercase; letter-spacing:.06em; margin-bottom:24px; }
.acct-hero-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:24px; }
.acct-hero-stat { background:#f9fafb; border-radius:12px; padding:16px; }
.acct-hero-stat-num { font-family:'Plus Jakarta Sans',sans-serif; font-size:28px; font-weight:900; color:#3a7d44; letter-spacing:-0.02em; line-height:1; }
.acct-hero-stat-label { font-size:12px; color:#6b7280; margin-top:4px; line-height:1.4; }
.acct-hero-card-divider { height:1px; background:#f3f4f6; margin-bottom:20px; }
.acct-hero-card-row { display:flex; align-items:center; justify-content:space-between; padding:10px 0; border-bottom:1px solid #f3f4f6; }
.acct-hero-card-row:last-child { border-bottom:none; }
.acct-hero-card-row-label { font-size:13px; color:#374151; font-weight:500; }
.acct-hero-card-row-val { font-size:13px; font-weight:700; color:#3a7d44; }

/* ── Pain strip ── */
.pain-strip { background:#0f1f14; padding:48px 0; }
.pain-strip-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:repeat(3,1fr); }
.pain-item { text-align:center; padding:8px 32px; border-right:1px solid rgba(255,255,255,.1); }
.pain-item:last-child { border-right:none; }
.pain-item-num { font-family:'Plus Jakarta Sans',sans-serif; font-size:40px; font-weight:900; color:#7dd98a; letter-spacing:-0.02em; line-height:1; margin-bottom:8px; }
.pain-item-label { font-size:14px; color:rgba(255,255,255,.7); line-height:1.5; }
.pain-item-label strong { color:white; display:block; font-size:15px; margin-bottom:4px; }

/* ── How it helps ── */
.how-helps { background:white; padding:80px 0; }
.how-helps-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.how-helps-header { max-width:600px; margin-bottom:60px; }
.workflow-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; position:relative; }
.workflow-steps::before { content:''; position:absolute; top:28px; left:calc(16.66% + 20px); right:calc(16.66% + 20px); height:2px; background:linear-gradient(90deg,#3a7d44,#5aab66); z-index:0; }
.workflow-step { display:flex; flex-direction:column; background:#f9fafb; border-radius:16px; padding:32px 28px; border:1.5px solid #e5e7eb; position:relative; z-index:1; transition:all .22s; }
.workflow-step:hover { border-color:#3a7d44; box-shadow:0 8px 32px rgba(58,125,68,.1); transform:translateY(-2px); }
.workflow-step-num { width:56px; height:56px; border-radius:50%; background:#3a7d44; color:white; font-size:20px; font-weight:800; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; box-shadow:0 0 0 8px #c8e6cc; }
.workflow-step-title { font-size:17px; font-weight:700; color:#111827; margin-bottom:10px; text-align:center; }
.workflow-step-text { font-size:14px; color:#6b7280; line-height:1.7; text-align:center; margin-bottom:14px; }
.workflow-step-tag { display:inline-block; align-self:center; margin-top:auto; padding:4px 12px; font-size:12px; font-weight:600; color:#3a7d44; background:#c8e6cc; border-radius:20px; white-space:nowrap; }

/* ── Comparison table ── */
.compare-section { background:#f4f4f5; padding:80px 0; }
.compare-section-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.compare-section-header { text-align:center; margin-bottom:48px; }
.compare-section-header .section-subtext { margin:0 auto; }
.compare-table { background:white; border-radius:20px; overflow:hidden; box-shadow:0 4px 24px rgba(0,0,0,.07); border:1px solid #e5e7eb; }
.compare-table-head { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; background:#f9fafb; border-bottom:2px solid #e5e7eb; }
.compare-table-head-cell { padding:16px 20px; font-size:13px; font-weight:700; color:#6b7280; text-transform:uppercase; letter-spacing:.05em; text-align:center; }
.compare-table-head-cell:first-child { text-align:left; }
.compare-table-head-cell.highlight { background:#c8e6cc; color:#3a7d44; border-bottom:2px solid #3a7d44; margin-bottom:-2px; }
.compare-row { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; border-bottom:1px solid #f3f4f6; transition:background .15s; }
.compare-row:last-child { border-bottom:none; }
.compare-row:hover { background:#fafafa; }
.compare-cell { padding:16px 20px; font-size:14px; color:#374151; display:flex; align-items:center; justify-content:center; text-align: center; }
.compare-cell:first-child { justify-content:flex-start; font-weight:500; }
.compare-cell.highlight { background:rgba(58,125,68,.03); }
.compare-check { width:22px; height:22px; border-radius:50%; background:#c8e6cc; display:flex; align-items:center; justify-content:center; }
.compare-check svg { width:12px; height:12px; stroke:#3a7d44; fill:none; stroke-width:2.5; }
.compare-cross { width:22px; height:22px; border-radius:50%; background:#fef2f2; display:flex; align-items:center; justify-content:center; }
.compare-cross svg { width:12px; height:12px; stroke:#ef4444; fill:none; stroke-width:2.5; }
.compare-partial { font-size:12px; font-weight:600; color:#f59e0b; }

/* ── Penalty calculator ── */
.penalty-calc { background:white; padding:80px 0; }
.penalty-calc-left {
    position: sticky;
    top: 80px;
}
.penalty-calc-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.penalty-calc-left .section-subtext { margin-bottom:32px; }
.calc-form { background:#f9fafb; border-radius:16px; padding:32px; border:1.5px solid #e5e7eb; }
.calc-form-title { font-size:16px; font-weight:700; color:#111827; margin-bottom:24px; }
.calc-field { margin-bottom:20px; }
.calc-field label { display:block; font-size:13px; font-weight:600; color:#374151; margin-bottom:8px; }
.calc-field input[type="range"] { width:100%; accent-color:#3a7d44; cursor:pointer; }
.calc-field-value { font-size:22px; font-weight:800; color:#3a7d44; margin-bottom:4px; }
.calc-divider { height:1px; background:#e5e7eb; margin:24px 0; }
.calc-result-row { display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-bottom:1px solid #f3f4f6; }
.calc-result-row:last-child { border-bottom:none; }
.calc-result-label { font-size:14px; color:#6b7280; }
.calc-result-val { font-size:15px; font-weight:700; color:#111827; }
.calc-result-val.red { color:#ef4444; }
.calc-result-val.green { color:#3a7d44; }
.calc-total { background:#c8e6cc; border-radius:12px; padding:20px; margin-top:20px; display:flex; justify-content:space-between; align-items:center; border:1.5px solid #c6e8cb; }
.calc-total-label { font-size:15px; font-weight:700; color:#0f1f14; }
.calc-total-val { font-size:28px; font-weight:900; color:#3a7d44; font-family:'Plus Jakarta Sans',sans-serif; letter-spacing:-0.02em; }

/* ── Features grid ── */
.acct-features { background:#f4f4f5; padding:80px 0; }
.acct-features-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.acct-features-header { text-align:center; margin-bottom:52px; }
.acct-features-header .section-subtext { margin:0 auto; }
.acct-features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.acct-feature-card { display:flex; flex-direction:column; background:white; border-radius:16px; padding:32px 28px; border:1.5px solid #e5e7eb; transition:all .22s; }
.acct-feature-card:hover { border-color:#3a7d44; box-shadow:0 8px 32px rgba(58,125,68,.1); transform:translateY(-2px); }
.acct-feature-icon { width:48px; height:48px; border-radius:12px; background:#c8e6cc; display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.acct-feature-icon svg { width:24px; height:24px; stroke:#3a7d44; fill:none; stroke-width:1.8; }
.acct-feature-title { font-size:17px; font-weight:700; color:#111827; margin-bottom:10px; }
.acct-feature-desc { font-size:14px; color:#6b7280; line-height:1.65; margin-bottom:14px; }
.acct-feature-tag { display:inline-block; align-self:flex-start; margin-top:auto; padding:3px 10px; font-size:11.5px; font-weight:600; color:#3a7d44; background:#c8e6cc; border-radius:20px; white-space:nowrap; }

/* ── Final CTA ── */
.acct-final-cta { background:linear-gradient(135deg,#0f1f14 0%,#2d6235 100%); padding:80px 0; text-align:center; position:relative; overflow:hidden; }
.acct-final-cta::before { content:''; position:absolute; top:-150px; left:50%; transform:translateX(-50%); width:700px; height:700px; border-radius:50%; background:radial-gradient(circle,rgba(90,171,102,.07) 0%,transparent 70%); pointer-events:none; }
.acct-final-cta-inner { max-width:680px; margin:0 auto; padding:0 40px; position:relative; z-index:1; }
.acct-final-cta-eyebrow { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#7dd98a; margin-bottom:16px; }
.acct-final-cta h2 { font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(30px,4vw,44px); font-weight:900; color:white; letter-spacing:-0.02em; line-height:1.15; margin-bottom:16px; }
.acct-final-cta p { font-size:16px; color:rgba(255,255,255,.65); line-height:1.6; margin-bottom:36px; }
.acct-final-cta-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.acct-final-cta-btn-primary { display:inline-flex; align-items:center; gap:8px; padding:15px 32px; border-radius:10px; background:#5aab66; color:white; font-size:15px; font-weight:700; text-decoration:none; transition:background .18s; }
.acct-final-cta-btn-primary:hover { background:#2d6235; }
.acct-final-cta-btn-secondary { display:inline-flex; align-items:center; gap:8px; padding:15px 32px; border-radius:10px; background:rgba(255,255,255,.1); color:white; font-size:15px; font-weight:600; text-decoration:none; border:1.5px solid rgba(255,255,255,.2); transition:all .18s; }
.acct-final-cta-btn-secondary:hover { background:rgba(255,255,255,.18); }
.acct-final-cta-note { margin-top:20px; font-size:13px; color:rgba(255,255,255,.35); }

/* ── For-accountants responsive ── */
@media (max-width:900px) {
  .acct-hero { padding:48px 0 56px; }
  .acct-hero-inner { grid-template-columns:1fr; gap:40px; padding:0 24px; }
  .acct-hero-card { display:none; }
  .pain-strip { padding:40px 0; }
  .pain-strip-inner { padding:0 24px; }
  .pain-strip-inner { grid-template-columns:1fr; gap:0; }
  .pain-item { border-right:none; border-bottom:1px solid rgba(255,255,255,.1); padding:16px 0; }
  .pain-item:last-child { border-bottom:none; }
  .how-helps { padding:56px 0; }
  .how-helps-inner { padding:0 24px; }
  .workflow-steps { grid-template-columns:1fr; gap:20px; }
  .workflow-steps::before { display:none; }
  .compare-section { padding:56px 0; }
  .compare-section-inner { padding:0 24px; }
  .compare-table-head,.compare-row { grid-template-columns:1.5fr 1fr 1fr 1fr; }
  .compare-table-head-cell,.compare-cell { padding:12px 10px; font-size:12px; }
  .penalty-calc { padding:56px 0; }
  .penalty-calc-inner { padding:0 24px; }
  .penalty-calc-inner { grid-template-columns:1fr; gap:40px; }
  .acct-features { padding:56px 0; }
  .acct-features-inner { padding:0 24px; }
  .acct-features-grid { grid-template-columns:1fr 1fr; gap:16px; }
  .acct-final-cta { padding:56px 0; }
  .acct-final-cta-inner { padding:0 24px; }
}
@media (max-width:600px) {
  .acct-features-grid { grid-template-columns:1fr; }
  .acct-final-cta-actions { flex-direction:column; align-items:center; }
  .acct-hero-stat-grid { grid-template-columns:1fr 1fr; }
}

/* ═══════════════════════════════════════════════════
   CONTACT US PAGE
   ═══════════════════════════════════════════════════ */

.page-template-template-contact { background: #f9fafb; }

/* ── Hero ── */
.contact-hero {
  background: linear-gradient(135deg, #0f1f14 0%, #2d6235 50%, #3a7d44 100%);
  padding: 72px 0 80px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.contact-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 60% 40%, rgba(90,171,102,.18) 0%, transparent 70%);
  pointer-events: none;
}
.contact-hero-inner { max-width: 680px; margin: 0 auto; padding: 0 40px; position: relative; z-index: 1; }
.contact-hero-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18);
  border-radius: 100px; padding: 5px 14px;
  font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: rgba(255,255,255,.85); margin-bottom: 20px;
}
.contact-hero-eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: #5aab66; flex-shrink: 0; }
.contact-hero h1 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(36px, 5vw, 56px); font-weight: 900;
  color: #fff; letter-spacing: -.02em; line-height: 1.1; margin-bottom: 18px;
}
.contact-hero p { font-size: 17px; color: rgba(255,255,255,.75); line-height: 1.65; max-width: 520px; margin: 0 auto; }

/* ── Channels strip ── */
.contact-channels { background: #fff; border-bottom: 1px solid #e5e7eb; }
.contact-channels-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 40px;
  display: grid; grid-template-columns: repeat(3, 1fr);
}
.contact-channel {
  display: flex; align-items: center; gap: 16px;
  padding: 28px 24px; border-right: 1px solid #e5e7eb;
  text-decoration: none; transition: background .15s;
}
.contact-channel:last-child { border-right: none; }
.contact-channel:hover { background: #f9fafb; }
.contact-channel-icon {
  width: 48px; height: 48px; border-radius: 12px; background: #c8e6cc;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.contact-channel-icon svg { width: 22px; height: 22px; stroke: #3a7d44; fill: none; stroke-width: 1.8; }
.contact-channel-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #9ca3af; margin-bottom: 2px; }
.contact-channel-value { font-size: 15px; font-weight: 700; color: #111827; }
.contact-channel-sub { font-size: 12.5px; color: #6b7280; margin-top: 1px; }

/* ── Main layout ── */
.contact-main {
  max-width: 1200px; margin: 0 auto; padding: 64px 40px;
  display: grid; grid-template-columns: 1fr 420px; gap: 64px; align-items: start;
  background: transparent;
}

/* ── Contact form ── */
.contact-form-wrap {
  background: #fff; border: 1px solid #e5e7eb; border-radius: 20px;
  padding: 40px; box-shadow: 0 4px 24px rgba(0,0,0,.05);
}
.contact-form-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 26px; font-weight: 800; color: #111827; letter-spacing: -.01em; margin-bottom: 6px; }
.contact-form-sub { font-size: 14.5px; color: #6b7280; margin-bottom: 32px; line-height: 1.6; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-group { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.form-group label { font-size: 13px; font-weight: 600; color: #374151; }
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%; padding: 11px 14px; border: 1.5px solid #e5e7eb; border-radius: 10px;
  font-family: 'Inter', sans-serif; font-size: 14px; color: #111827; background: #fff;
  transition: border-color .15s, box-shadow .15s; outline: none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color: #3a7d44; box-shadow: 0 0 0 3px rgba(58,125,68,.1); }
.form-group textarea { resize: vertical; min-height: 120px; }
.form-group select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; padding-right: 36px;
}
.form-submit {
  width: 100%; padding: 14px; background: #3a7d44; color: #fff; border: none;
  border-radius: 10px; font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 700;
  cursor: pointer; transition: background .15s; margin-top: 8px;
}
.form-submit:hover { background: #2d6235; }
.form-note { font-size: 12px; color: #9ca3af; text-align: center; margin-top: 12px; line-height: 1.5; }
.form-hp { display: none !important; }
.form-success { display: none; text-align: center; padding: 40px 20px; }
.form-success-icon {
  width: 56px; height: 56px; border-radius: 50%; background: #c8e6cc;
  display: flex; align-items: center; justify-content: center; margin: 0 auto 16px;
}
.form-success-icon svg { width: 28px; height: 28px; stroke: #3a7d44; fill: none; stroke-width: 2; }
.form-success h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 800; color: #111827; margin-bottom: 8px; }
.form-success p { font-size: 14.5px; color: #6b7280; line-height: 1.6; }

/* ── Sidebar ── */
.contact-sidebar { display: flex; flex-direction: column; gap: 24px; }

.contact-info-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; padding: 28px; }
.contact-info-card-title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #9ca3af; margin-bottom: 20px; }
.contact-info-row { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 20px; }
.contact-info-row:last-child { margin-bottom: 0; }
.contact-info-icon {
  width: 36px; height: 36px; border-radius: 10px; background: #c8e6cc;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px;
}
.contact-info-icon svg { width: 17px; height: 17px; stroke: #3a7d44; fill: none; stroke-width: 2; }
.contact-info-label { font-size: 12px; font-weight: 600; color: #9ca3af; margin-bottom: 2px; }
.contact-info-value { font-size: 14.5px; font-weight: 600; color: #111827; }
.contact-info-value a { color: #111827; text-decoration: none; }
.contact-info-value a:hover { color: #3a7d44; }
.contact-info-sub { font-size: 12.5px; color: #6b7280; margin-top: 2px; }

.contact-hours-card {
  background: linear-gradient(135deg, #0f1f14, #2d6235);
  border-radius: 16px; padding: 28px; color: #fff;
}
.contact-hours-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 17px; font-weight: 800; color: #fff; margin-bottom: 4px; }
.contact-hours-sub { font-size: 13px; color: rgba(255,255,255,.6); margin-bottom: 20px; }
.contact-hours-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 13.5px;
}
.contact-hours-row:last-of-type { border-bottom: none; }
.contact-hours-day { color: rgba(255,255,255,.7); font-weight: 500; }
.contact-hours-time { color: #fff; font-weight: 600; }
.contact-hours-badge {
  display: inline-flex; align-items: center; gap: 5px;
  background: rgba(90,171,102,.25); border: 1px solid rgba(90,171,102,.4);
  border-radius: 100px; padding: 3px 10px;
  font-size: 11px; font-weight: 700; color: #7dd98a; margin-top: 16px;
}
.contact-hours-badge-dot {
  width: 6px; height: 6px; border-radius: 50%; background: #5aab66; flex-shrink: 0;
  animation: ctBadgePulse 2s infinite;
}
@keyframes ctBadgePulse { 0%, 100% { opacity: 1; } 50% { opacity: .4; } }

.contact-topic-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; padding: 28px; }
.contact-topic-title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #9ca3af; margin-bottom: 16px; }
.contact-topic-list { display: flex; flex-direction: column; gap: 10px; }
.contact-topic-item {
  display: flex; align-items: center; gap: 12px; padding: 12px 14px;
  border: 1.5px solid #e5e7eb; border-radius: 10px; text-decoration: none; transition: all .15s;
}
.contact-topic-item:hover { border-color: #3a7d44; background: #c8e6cc; }
.contact-topic-item-icon {
  width: 30px; height: 30px; border-radius: 8px; background: #c8e6cc;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.contact-topic-item-icon svg { width: 15px; height: 15px; stroke: #3a7d44; fill: none; stroke-width: 2; }
.contact-topic-item-text { font-size: 13.5px; font-weight: 600; color: #374151; }
.contact-topic-item-arrow { margin-left: auto; color: #9ca3af; }
.contact-topic-item-arrow svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; }

/* ── FAQ ── */
.contact-faq { background: #fff; border-top: 1px solid #e5e7eb; padding: 72px 0; }
.contact-faq-inner { max-width: 760px; margin: 0 auto; padding: 0 40px; }
.contact-faq-eyebrow { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #3a7d44; margin-bottom: 12px; }
.contact-faq h2 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(28px, 3.5vw, 38px); font-weight: 800; color: #111827;
  letter-spacing: -.02em; margin-bottom: 40px;
}
.cfaq-item { border-bottom: 1px solid #e5e7eb; }
.cfaq-btn {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 20px 0; background: none; border: none; cursor: pointer; text-align: left;
  font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 600; color: #111827;
}
.cfaq-btn svg { width: 18px; height: 18px; stroke: #6b7280; fill: none; stroke-width: 2; flex-shrink: 0; transition: transform .2s; }
.cfaq-btn.open svg { transform: rotate(180deg); }
.cfaq-answer { display: none; padding: 0 0 20px; font-size: 14.5px; color: #6b7280; line-height: 1.7; }
.cfaq-answer.open { display: block; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .contact-channels-inner { grid-template-columns: 1fr; padding: 0 20px; }
  .contact-channel { border-right: none; border-bottom: 1px solid #e5e7eb; }
  .contact-channel:last-child { border-bottom: none; }
  .contact-main { grid-template-columns: 1fr; padding: 40px 20px; gap: 32px; }
  .contact-faq { padding: 56px 0; }
  .contact-faq-inner { padding: 0 20px; }
}
@media (max-width: 600px) {
  .contact-hero { padding: 48px 0 56px; }
  .contact-hero-inner { padding: 0 20px; }
  .form-row { grid-template-columns: 1fr; }
  .contact-channels-inner { padding: 0 16px; }
  .contact-main { padding: 32px 16px; }
  .contact-faq { padding: 40px 0; }
  .contact-faq-inner { padding: 0 16px; }
}

/* ═══════════════════════════════════════════════════
   BLOG LISTING PAGE  (.blg-* prefix)
   ═══════════════════════════════════════════════════ */

.page-template-blog { background: #f9fafb; }

/* ── Hero ── */
.blg-hero {
  background: linear-gradient(135deg, #0f1f14 0%, #2d6235 60%, #3a7d44 100%);
  padding: 56px 0 72px; position: relative; overflow: hidden;
}
.blg-hero::before {
  content: ''; position: absolute; top: -80px; right: -80px;
  width: 400px; height: 400px; border-radius: 50%;
  background: radial-gradient(circle, rgba(90,171,102,.12) 0%, transparent 70%);
  pointer-events: none;
}
.blg-hero-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; position: relative; z-index: 1; }
.blg-hero-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.1); color: rgba(255,255,255,.9);
  font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: 6px 14px; border-radius: 20px; margin-bottom: 20px;
}
.blg-hero-eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: #5aab66; flex-shrink: 0; }
.blg-hero-headline {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(30px, 4vw, 46px); font-weight: 900;
  color: white; line-height: 1.1; letter-spacing: -.02em; margin-bottom: 16px;
}
.blg-hero-sub { font-size: 16px; color: rgba(255,255,255,.7); line-height: 1.65; max-width: 600px; }
.blg-search-wrap { margin-top: 28px; max-width: 560px; position: relative; }
.blg-search-input {
  width: 100%; padding: 14px 50px 14px 18px; font-size: 15px;
  font-family: 'Inter', sans-serif; border: 2px solid transparent; border-radius: 10px;
  background: #fff; color: #111827; outline: none; box-sizing: border-box;
  box-shadow: 0 2px 12px rgba(0,0,0,.18); transition: border-color .2s, box-shadow .2s;
}
.blg-search-input::placeholder { color: #9ca3af; }
.blg-search-input:focus { border-color: #3a7d44; box-shadow: 0 0 0 3px rgba(58,125,68,.15), 0 2px 12px rgba(0,0,0,.18); }
.blg-search-icon {
  position: absolute; right: 16px; top: 50%; transform: translateY(-50%);
  width: 18px; height: 18px; stroke: #9ca3af; fill: none; stroke-width: 2;
  stroke-linecap: round; pointer-events: none;
}

/* ── Filter tabs ── */
.blg-filters { background: white; border-bottom: 1px solid #e5e7eb; position: sticky; top: 64px; z-index: 90; }
.blg-filters-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 40px;
  display: flex; align-items: center; gap: 4px; overflow-x: auto; scrollbar-width: none;
}
.blg-filters-inner::-webkit-scrollbar { display: none; }
.blg-filter-btn {
  flex-shrink: 0; padding: 16px; font-size: 13.5px; font-weight: 600; color: #6b7280;
  border: none; background: none; cursor: pointer;
  border-bottom: 2px solid transparent; transition: all .18s;
  font-family: 'Inter', sans-serif; white-space: nowrap;
  text-decoration: none; display: inline-block;
}
.blg-filter-btn:hover { color: #3a7d44; }
.blg-filter-btn.active { color: #3a7d44; border-bottom-color: #3a7d44; }

/* ── Featured post ── */
.blg-featured { background: white; padding: 56px 0 0; }
.blg-featured-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.blg-featured-label {
  font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: #3a7d44; margin-bottom: 20px; display: flex; align-items: center; gap: 8px;
}
.blg-featured-label::after { content: ''; flex: 1; height: 1px; background: #e5e7eb; }
.blg-featured-card {
  display: grid; grid-template-columns: 1fr 480px; border-radius: 20px; overflow: hidden;
  border: 1.5px solid #e5e7eb; transition: all .22s; text-decoration: none;
}
.blg-featured-card:hover { border-color: #3a7d44; box-shadow: 0 12px 48px rgba(58,125,68,.12); }
.blg-featured-img {
  min-height: 340px; display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.blg-featured-img img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.blg-featured-img svg { width: 72px; height: 72px; stroke: rgba(255,255,255,.3); fill: none; stroke-width: 1.2; position: relative; z-index: 1; }
.blg-featured-body {
  padding: 40px; background: white;
  display: flex; flex-direction: column; justify-content: center;
}
.blg-featured-title {
  font-family: 'Plus Jakarta Sans', sans-serif; font-size: 26px; font-weight: 800;
  color: #111827; line-height: 1.25; margin-bottom: 14px; letter-spacing: -.01em;
}
.blg-featured-excerpt { font-size: 15px; color: #6b7280; line-height: 1.7; margin-bottom: 24px; }
.blg-featured-meta { display: flex; align-items: center; gap: 16px; font-size: 13px; color: #9ca3af; flex-wrap: wrap; }
.blg-featured-meta-author { font-weight: 600; color: #374151; }
.blg-featured-read-more {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13.5px; font-weight: 700; color: #3a7d44; margin-top: 20px;
}
.blg-featured-read-more svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; transition: transform .18s; }
.blg-featured-card:hover .blg-featured-read-more svg { transform: translateX(4px); }

/* ── Tags ── */
.blg-tag { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 4px 10px; border-radius: 20px; margin-bottom: 14px; }
.blg-tag-tin   { background: #c8e6cc; color: #3a7d44; }
.blg-tag-1099  { background: #fef3c7; color: #92400e; }
.blg-tag-kyc   { background: #ede9fe; color: #5b21b6; }
.blg-tag-fraud { background: #fee2e2; color: #991b1b; }
.blg-tag-ap    { background: #e0f2fe; color: #0369a1; }
.blg-tag-tax   { background: #fce7f3; color: #9d174d; }

/* ── Card image gradients by color ── */
.blg-img-tin   { background: linear-gradient(135deg, #0f1f14 0%, #3a7d44 100%); }
.blg-img-1099  { background: linear-gradient(135deg, #78350f 0%, #d97706 100%); }
.blg-img-kyc   { background: linear-gradient(135deg, #3730a3 0%, #6366f1 100%); }
.blg-img-fraud { background: linear-gradient(135deg, #7f1d1d 0%, #dc2626 100%); }
.blg-img-ap    { background: linear-gradient(135deg, #0c4a6e 0%, #0284c7 100%); }
.blg-img-tax   { background: linear-gradient(135deg, #831843 0%, #db2777 100%); }

/* ── Main grid ── */
.blg-main { background: white; padding: 48px 0 80px; }
.blg-main-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.blg-no-results { text-align: center; padding: 60px 20px; color: #6b7280; font-size: 15px; }
.blg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.blg-card {
  border: 1.5px solid #e5e7eb; border-radius: 16px; overflow: hidden;
  transition: all .22s; text-decoration: none; display: flex; flex-direction: column;
}
.blg-card:hover { border-color: #3a7d44; box-shadow: 0 8px 32px rgba(58,125,68,.1); transform: translateY(-3px); }
.blg-card-img {
  height: 180px; display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.blg-card-img img { width: 100%; height: 100%; object-fit: cover; }
.blg-card-img svg { width: 48px; height: 48px; stroke: rgba(255,255,255,.35); fill: none; stroke-width: 1.5; position: relative; z-index: 1; }
.blg-card-body { padding: 22px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.blg-card-title { font-size: 15.5px; font-weight: 700; color: #111827; line-height: 1.4; margin-bottom: 10px; margin-top: 10px; }
.blg-card-excerpt { font-size: 13.5px; color: #6b7280; line-height: 1.65; flex: 1; margin-bottom: 16px; }
.blg-card-meta { display: flex; align-items: center; justify-content: space-between; font-size: 12px; color: #9ca3af; margin-top: auto; }
.blg-card-meta-left { display: flex; align-items: center; gap: 8px; }
.blg-read-time { display: flex; align-items: center; gap: 4px; }
.blg-read-time svg { width: 12px; height: 12px; stroke: #9ca3af; fill: none; stroke-width: 2; }

/* ── Newsletter ── */
.blg-newsletter {
  background: linear-gradient(135deg, #0f1f14 0%, #2d6235 100%);
  border-radius: 20px; padding: 40px 48px; margin: 40px 0;
  display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center;
}
.blg-newsletter h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 800; color: white; margin-bottom: 8px; }
.blg-newsletter p { font-size: 14px; color: rgba(255,255,255,.65); line-height: 1.6; }
.blg-newsletter-form { display: flex; gap: 10px; }
.blg-newsletter-input { padding: 12px 16px; border-radius: 8px; border: none; font-size: 14px; font-family: 'Inter', sans-serif; width: 260px; outline: none; }
.blg-newsletter-btn { padding: 12px 22px; background: #5aab66; color: white; font-size: 14px; font-weight: 700; border: none; border-radius: 8px; cursor: pointer; white-space: nowrap; font-family: 'Inter', sans-serif; transition: background .18s; }
.blg-newsletter-btn:hover { background: #3a7d44; }

.blg-newsletter-ctct .ctct-form-wrapper { width: 100%; }
.blg-newsletter-ctct .ctct-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; }
.blg-newsletter-ctct .ctct-form-field { margin: 0; }
.blg-newsletter-ctct span.ctct-label-top { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.blg-newsletter-ctct .ctct-email { padding: 12px 16px; border-radius: 8px; border: none; font-size: 14px; font-family: 'Inter', sans-serif; width: 260px; outline: none; }
.blg-newsletter-ctct .ctct-email::placeholder { color: #6b7280; }
.blg-newsletter-ctct .ctct-form-field-submit { margin: 0; }
.blg-newsletter-ctct .ctct-submit { padding: 12px 22px; background: #5aab66; color: white; font-size: 14px; font-weight: 700; border: none; border-radius: 8px; cursor: pointer; white-space: nowrap; font-family: 'Inter', sans-serif; transition: background .18s; }
.blg-newsletter-ctct .ctct-submit:hover { background: #3a7d44; }
.blg-newsletter-ctct .ctct-disclosure { width: 100%; margin-top: 8px; max-width: 480px; }
.blg-newsletter-ctct .ctct-disclosure hr { display: none; }
.blg-newsletter-ctct .ctct-disclosure small { color: rgba(255,255,255,.35); font-size: 9px; line-height: 1.4; }
.blg-newsletter-ctct .ctct-disclosure a { color: rgba(255,255,255,.5); }
@media (max-width: 780px) {
  .blg-newsletter-ctct .ctct-form { flex-direction: column; }
  .blg-newsletter-ctct .ctct-email { width: 100%; }
}

/* ── Pagination ── */
/* paginate_links(type:'list') outputs: <ul class="page-numbers"><li><a class="page-numbers">… */
.blg-pagination { display: flex; justify-content: center; margin-top: 56px; }
.blg-pagination ul.page-numbers {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    border: none;
}
.blg-pagination ul.page-numbers > li { list-style: none; margin: 0; padding: 0; display: flex; }
.blg-pagination ul.page-numbers > li > a,
.blg-pagination ul.page-numbers > li > span {
  width: 40px; height: 40px; border-radius: 8px; border: 1.5px solid #e5e7eb;
  background: white; font-size: 14px; font-weight: 600; color: #374151;
  display: flex; align-items: center; justify-content: center;
  text-decoration: none; transition: border-color .18s, color .18s, background .18s;
  font-family: 'Inter', sans-serif; line-height: 1;
}
.blg-pagination ul.page-numbers > li > a:hover { border-color: #3a7d44; color: #3a7d44; }
.blg-pagination ul.page-numbers > li > span.current { background: #3a7d44; color: white; border-color: #3a7d44; }
.blg-pagination ul.page-numbers > li > span.dots { border: none; background: none; color: #9ca3af; width: auto; }
.blg-pagination ul.page-numbers > li > a.prev,
.blg-pagination ul.page-numbers > li > a.next { color: #374151; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .blg-hero { padding: 40px 0 48px; }
  .blg-hero-inner { padding: 0 20px; }
  .blg-filters-inner { padding: 0 20px; }
  .blg-featured { padding: 40px 0 0; }
  .blg-featured-inner { padding: 0 20px; }
  .blg-featured-card { grid-template-columns: 1fr; }
  .blg-featured-img { min-height: 200px; }
  .blg-featured-body { padding: 28px 24px; }
  .blg-main { padding: 32px 0 56px; }
  .blg-main-inner { padding: 0 20px; }
  .blg-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .blg-newsletter { grid-template-columns: 1fr; gap: 24px; padding: 28px 24px; }
  .blg-newsletter-form { flex-direction: column; }
  .blg-newsletter-input { width: 100%; }
}
@media (max-width: 600px) {
  .blg-grid { grid-template-columns: 1fr; }
  .blg-filters-inner { padding: 0 16px; }
}


/* ════════════════════════════════════════════════════════════
   RESEARCH PAGE  (.page-template-template-research)
   ════════════════════════════════════════════════════════════ */
.page-template-template-research { background: #f9fafb; }

/* ── PAGE HERO ── */
.research-hero {
  background: linear-gradient(135deg, #0f1f14 0%, #2d6235 60%, #3a7d44 100%);
  padding: 64px 0 72px; position: relative; overflow: hidden;
}
.research-hero::before {
  content: ''; position: absolute; top: -80px; right: -80px;
  width: 400px; height: 400px; border-radius: 50%;
  background: radial-gradient(circle, rgba(90,171,102,.12) 0%, transparent 70%);
  pointer-events: none;
}
.research-hero-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 40px;
  display: grid; grid-template-columns: 1fr 360px; gap: 64px; align-items: center;
  position: relative; z-index: 1;
}
.research-hero-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.1); color: rgba(255,255,255,.9);
  font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: 6px 14px; border-radius: 20px; margin-bottom: 20px;
}
.research-hero-eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: #5aab66; }
.research-hero-headline {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(30px, 4vw, 46px); font-weight: 900; color: white;
  line-height: 1.1; letter-spacing: -.02em; margin-bottom: 16px;
}
.research-hero-sub { font-size: 16px; color: rgba(255,255,255,.7); line-height: 1.65; max-width: 560px; }
.research-hero-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.research-hero-stat {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px; padding: 20px 22px;
}
.research-hero-stat-num { font-size: 28px; font-weight: 800; color: white; letter-spacing: -.02em; }
.research-hero-stat-num span { color: #7dd88a; }
.research-hero-stat-label { font-size: 12.5px; color: rgba(255,255,255,.6); margin-top: 4px; }

/* ── FEATURED RESEARCH ── */
.research-featured { background: white; padding: 64px 0 0; }
.research-featured-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.page-template-template-research .section-eyebrow {
  font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: #3a7d44; margin-bottom: 12px; display: flex; align-items: center; gap: 8px;
}
.page-template-template-research .section-eyebrow::after {
  content: ''; flex: 1; height: 1px; background: #e5e7eb;
}
.research-featured-card {
  display: grid; grid-template-columns: 1fr 420px; gap: 0;
  border-radius: 20px; overflow: hidden; border: 1.5px solid #e5e7eb;
  transition: all .22s; text-decoration: none;
}
.research-featured-card:hover { border-color: #3a7d44; box-shadow: 0 12px 48px rgba(58,125,68,.12); }
.research-featured-img {
  background: linear-gradient(135deg, #0f1f14 0%, #3a7d44 100%);
  min-height: 360px; display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.research-featured-img::before {
  content: ''; position: absolute; bottom: -40px; left: -40px;
  width: 200px; height: 200px; border-radius: 50%; background: rgba(90,171,102,.15);
}
.research-featured-img::after {
  content: ''; position: absolute; top: -20px; right: -20px;
  width: 150px; height: 150px; border-radius: 50%; background: rgba(255,255,255,.04);
}
.research-featured-img-inner { position: relative; z-index: 1; text-align: center; }
.research-featured-img-icon {
  width: 80px; height: 80px; border-radius: 20px; background: rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center; margin: 0 auto 16px;
}
.research-featured-img-icon svg { width: 40px; height: 40px; stroke: rgba(255,255,255,.7); fill: none; stroke-width: 1.5; }
.research-featured-img-label {
  font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: rgba(255,255,255,.5);
}
.research-featured-img.has-image::before,
.research-featured-img.has-image::after,
.research-card-img.has-image::before { display: none; }
.research-featured-img.has-image img,
.research-card-img.has-image img,
.post-related-img.has-image img { width: 100%; height: 100%; object-fit: contain; display: block; }
.post-related-img.has-image { overflow: hidden; }
.research-featured-body {
  padding: 44px 44px; background: white;
  display: flex; flex-direction: column; justify-content: center;
}
.research-tag {
  display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; padding: 4px 10px; border-radius: 20px; margin-bottom: 16px;
}
.research-tag-workforce  { background: #c8e6cc; color: #3a7d44; }
.research-tag-lending    { background: #e0f2fe; color: #0369a1; }
.research-tag-startup    { background: #fef3c7; color: #92400e; }
.research-tag-business   { background: #ede9fe; color: #5b21b6; }
.research-tag-compliance { background: #fee2e2; color: #991b1b; }
.research-tag-economy    { background: #fce7f3; color: #9d174d; }
.research-featured-title {
  font-family: 'Plus Jakarta Sans', sans-serif; font-size: 26px; font-weight: 800;
  color: #111827; line-height: 1.25; margin-bottom: 14px; letter-spacing: -.01em;
}
.research-featured-excerpt { font-size: 15px; color: #6b7280; line-height: 1.7; margin-bottom: 24px; }
.research-featured-meta {
  display: flex; align-items: center; gap: 16px; font-size: 13px; color: #9ca3af; flex-wrap: wrap;
}
.research-featured-meta-author { font-weight: 600; color: #374151; }
.research-featured-stats {
  display: flex; gap: 20px; margin-top: 24px; padding-top: 24px; border-top: 1px solid #f3f4f6;
}
.research-featured-stat { text-align: center; }
.research-featured-stat-num { font-size: 22px; font-weight: 800; color: #3a7d44; }
.research-featured-stat-label { font-size: 11px; color: #9ca3af; margin-top: 2px; }
.research-featured-read-more {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13.5px; font-weight: 700; color: #3a7d44; margin-top: 20px;
}
.research-featured-read-more svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; transition: transform .18s; }
.research-featured-card:hover .research-featured-read-more svg { transform: translateX(4px); }

/* ── ALL RESEARCH GRID ── */
.research-all { background: white; padding: 56px 0 80px; }
.research-all-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.research-all-header { margin-bottom: 40px; }
.research-all-header h2 { font-size: 28px; font-weight: 800; color: #111827; letter-spacing: -.02em; }
.research-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.research-card {
  border: 1.5px solid #e5e7eb; border-radius: 16px; overflow: hidden;
  transition: all .22s; text-decoration: none; display: flex; flex-direction: column;
}
.research-card:hover { border-color: #3a7d44; box-shadow: 0 8px 32px rgba(58,125,68,.1); transform: translateY(-3px); }
.research-card-img {
  height: 200px; display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.research-card-img::before {
  content: ''; position: absolute; bottom: -30px; right: -30px;
  width: 120px; height: 120px; border-radius: 50%; background: rgba(255,255,255,.06);
}
.research-card-img svg { width: 52px; height: 52px; stroke: rgba(255,255,255,.4); fill: none; stroke-width: 1.5; position: relative; z-index: 1; }
.research-card-img-workforce  { background: linear-gradient(135deg, #0f1f14 0%, #3a7d44 100%); }
.research-card-img-lending    { background: linear-gradient(135deg, #0c4a6e 0%, #0284c7 100%); }
.research-card-img-startup    { background: linear-gradient(135deg, #78350f 0%, #d97706 100%); }
.research-card-img-business   { background: linear-gradient(135deg, #3730a3 0%, #6366f1 100%); }
.research-card-img-compliance { background: linear-gradient(135deg, #7f1d1d 0%, #dc2626 100%); }
.research-card-img-economy    { background: linear-gradient(135deg, #831843 0%, #db2777 100%); }
.research-card-body { padding: 24px 24px 28px; display: flex; flex-direction: column; flex: 1; }
.research-card-title { font-size: 16px; font-weight: 700; color: #111827; line-height: 1.4; margin-bottom: 10px; margin-top: 10px; }
.research-card-excerpt { font-size: 13.5px; color: #6b7280; line-height: 1.65; flex: 1; margin-bottom: 20px; }
.research-card-footer {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: auto; padding-top: 16px; border-top: 1px solid #f3f4f6;
}
.research-card-meta { font-size: 12px; color: #9ca3af; }
.research-card-meta strong { display: block; font-weight: 600; color: #374151; font-size: 13px; }
.research-card-read { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 700; color: #3a7d44; }
.research-card-read svg { width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 2; transition: transform .18s; }
.research-card:hover .research-card-read svg { transform: translateX(3px); }

/* White paper CTA card */
.research-wp-card {
  background: linear-gradient(135deg, #0f1f14 0%, #2d6235 100%);
  border-color: transparent !important; cursor: pointer;
}
.research-wp-card:hover { transform: translateY(-3px); box-shadow: 0 8px 32px rgba(0,0,0,.2); border-color: transparent !important; }
.research-wp-card-inner {
  padding: 40px 28px; display: flex; flex-direction: column;
  justify-content: space-between; height: 100%; min-height: 320px;
}
.research-wp-icon {
  width: 48px; height: 48px; border-radius: 12px; background: rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center; margin-bottom: 20px;
}
.research-wp-icon svg { stroke: rgba(255,255,255,.8); fill: none; stroke-width: 2; }
.research-wp-label {
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: rgba(255,255,255,.5); margin-bottom: 12px;
}
.research-wp-title { font-size: 18px; font-weight: 800; color: white; line-height: 1.35; margin-bottom: 12px; }
.research-wp-desc { font-size: 13.5px; color: rgba(255,255,255,.65); line-height: 1.65; }
.research-wp-btn {
  display: inline-flex; align-items: center; gap: 8px; background: #5aab66; color: white;
  font-size: 13.5px; font-weight: 700; padding: 11px 20px; border-radius: 8px;
  text-decoration: none; margin-top: 24px; transition: background .18s; width: fit-content;
}
.research-wp-btn:hover { background: #3a7d44; }
.research-wp-btn svg { stroke: currentColor; fill: none; stroke-width: 2; }

/* ── RESEARCH TEAM ── */
.research-team { background: #f9fafb; padding: 72px 0; }
.research-team-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 40px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center;
}
.research-team-eyebrow {
  font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: #3a7d44; margin-bottom: 12px;
}
.research-team-headline {
  font-family: 'Plus Jakarta Sans', sans-serif; font-size: 32px; font-weight: 800;
  color: #111827; line-height: 1.2; letter-spacing: -.02em; margin-bottom: 16px;
}
.research-team-text { font-size: 15px; color: #6b7280; line-height: 1.75; margin-bottom: 24px; }
.research-team-highlights { display: flex; flex-direction: column; gap: 16px; }
.research-team-highlight {
  background: white; border-radius: 14px; padding: 20px 22px;
  border: 1.5px solid #e5e7eb; display: flex; align-items: flex-start; gap: 16px;
}
.research-team-highlight-icon {
  width: 40px; height: 40px; border-radius: 10px; background: #c8e6cc;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.research-team-highlight-icon svg { width: 20px; height: 20px; stroke: #3a7d44; fill: none; stroke-width: 2; }
.research-team-highlight-title { font-size: 14px; font-weight: 700; color: #111827; margin-bottom: 4px; }
.research-team-highlight-text { font-size: 13px; color: #6b7280; line-height: 1.6; }

/* ── NEWSLETTER ── */
.research-newsletter {
  background: linear-gradient(135deg, #0f1f14 0%, #2d6235 100%);
  padding: 72px 0; text-align: center; position: relative; overflow: hidden;
}
.research-newsletter::before {
  content: ''; position: absolute; top: -80px; left: 50%; transform: translateX(-50%);
  width: 500px; height: 500px; border-radius: 50%;
  background: radial-gradient(circle, rgba(90,171,102,.1) 0%, transparent 70%);
  pointer-events: none;
}
.research-newsletter-inner { max-width: 600px; margin: 0 auto; padding: 0 40px; position: relative; z-index: 1; }
.research-newsletter h2 {
  font-family: 'Plus Jakarta Sans', sans-serif; font-size: 34px; font-weight: 900;
  color: white; letter-spacing: -.02em; line-height: 1.15; margin-bottom: 14px;
}
.research-newsletter p { font-size: 16px; color: rgba(255,255,255,.65); line-height: 1.65; margin-bottom: 32px; }
.research-newsletter-form { display: flex; gap: 10px; max-width: 440px; margin: 0 auto; }
.research-newsletter-input {
  flex: 1; padding: 13px 16px; border-radius: 9px; border: none;
  font-size: 14px; font-family: 'Inter', sans-serif; outline: none;
}
.research-newsletter-btn {
  padding: 13px 24px; background: #5aab66; color: white; font-size: 14px; font-weight: 700;
  border: none; border-radius: 9px; cursor: pointer; white-space: nowrap;
  font-family: 'Inter', sans-serif; transition: background .18s;
}
.research-newsletter-btn:hover { background: #3a7d44; }
.research-newsletter-note { font-size: 12px; color: rgba(255,255,255,.4); margin-top: 12px; }

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
	.penalty-calc-left {
    position: static;
}
  .research-hero { padding: 40px 0 48px; }
  .research-hero-inner { padding: 0 20px; }
  .research-hero-inner { grid-template-columns: 1fr; gap: 40px; }
  .research-featured { padding: 40px 0 0; }
  .research-featured-inner { padding: 0 20px; }
  .research-featured-card { grid-template-columns: 1fr; }
  .research-featured-img { min-height: 200px; }
  .research-featured-body { padding: 28px 24px; }
  .research-all { padding: 40px 0 56px; }
  .research-all-inner { padding: 0 20px; }
  .research-grid { grid-template-columns: 1fr; gap: 20px; }
  .research-team { padding: 48px 0; }
  .research-team-inner { padding: 0 20px; }
  .research-team-inner { grid-template-columns: 1fr; gap: 40px; }
  .research-newsletter { padding: 48px 0; }
  .research-newsletter-inner { padding: 0 20px; }
  .research-newsletter-form { flex-direction: column; }
}
@media (max-width: 480px) {
  .research-hero-stats { grid-template-columns: 1fr 1fr; }
}

/* ═══════════════════════════════════════════════
   WHITE PAPER PAGE  (.page-template-template-white-paper)
   ═══════════════════════════════════════════════ */
.page-template-template-white-paper { background: #f9fafb; }

/* HERO */
.wp-hero { background: linear-gradient(135deg, #0f1f14 0%, #2d6235 60%, #3a7d44 100%); padding: 72px 0 80px; position: relative; overflow: hidden; }
.wp-hero::before { content: ''; position: absolute; top: -100px; right: -100px; width: 500px; height: 500px; border-radius: 50%; background: radial-gradient(circle, rgba(90,171,102,0.12) 0%, transparent 70%); pointer-events: none; }
.wp-hero-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; display: grid; grid-template-columns: 1fr 420px; gap: 64px; align-items: center; position: relative; z-index: 1; }
.wp-hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.9); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 6px 14px; border-radius: 20px; margin-bottom: 20px; }
.wp-hero-eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: #5aab66; }
.wp-hero-headline { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(32px, 4vw, 50px); font-weight: 900; color: white; line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 20px; }
.wp-hero-headline span { color: #7dd88a; }
.wp-hero-sub { font-size: 16px; color: rgba(255,255,255,0.75); line-height: 1.7; margin-bottom: 32px; max-width: 520px; }
.wp-hero-badges { display: flex; flex-wrap: wrap; gap: 10px; }
.wp-hero-badge { display: flex; align-items: center; gap: 7px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15); border-radius: 8px; padding: 8px 14px; font-size: 13px; font-weight: 600; color: rgba(255,255,255,0.85); }
.wp-hero-badge svg { width: 14px; height: 14px; stroke: #7dd88a; fill: none; stroke-width: 2; flex-shrink: 0; }

/* FORM CARD */
.wp-form-card { background: white; border-radius: 20px; padding: 36px 32px; box-shadow: 0 24px 64px rgba(0,0,0,0.25); }
.wp-form-title { font-size: 18px; font-weight: 800; color: #111827; margin-bottom: 4px; }
.wp-form-sub { font-size: 13px; color: #6b7280; margin-bottom: 24px; }
.wp-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.wp-form-group { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
.wp-form-group label { font-size: 12px; font-weight: 600; color: #374151; }
.wp-form-group input, .wp-form-group select { width: 100%; padding: 10px 14px; border: 1.5px solid #e5e7eb; border-radius: 8px; font-size: 14px; color: #111827; outline: none; transition: border-color 0.18s; background: white; }
.wp-form-group input:focus, .wp-form-group select:focus { border-color: #3a7d44; }
.wp-form-check { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
.wp-form-check input[type="checkbox"] { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; accent-color: #3a7d44; }
.wp-form-check label { font-size: 12.5px; color: #6b7280; line-height: 1.5; }
.wp-form-submit { width: 100%; padding: 14px; background: #3a7d44; color: white; font-size: 15px; font-weight: 700; border: none; border-radius: 10px; cursor: pointer; transition: background 0.18s; }
.wp-form-submit:hover { background: #2d6235; }
.wp-form-privacy { font-size: 11.5px; color: #9ca3af; text-align: center; margin-top: 12px; }
.wp-form-success { display: none; text-align: center; padding: 32px 16px; }
.wp-form-success-icon { width: 56px; height: 56px; border-radius: 50%; background: #c8e6cc; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
.wp-form-success-icon svg { width: 28px; height: 28px; stroke: #3a7d44; fill: none; stroke-width: 2.5; }
.wp-form-success h3 { font-size: 18px; font-weight: 800; color: #111827; margin-bottom: 8px; }
.wp-form-success p { font-size: 14px; color: #6b7280; line-height: 1.6; }
.hp-field { display: none; }

/* ABSTRACT */
.wp-inside { background: white; padding: 80px 0; }
.wp-inside-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.wp-inside-header { text-align: center; margin-bottom: 56px; }
.page-template-template-white-paper .section-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #3a7d44; margin-bottom: 12px; }
.page-template-template-white-paper .section-heading { font-size: 36px; font-weight: 800; color: #111827; letter-spacing: -0.02em; line-height: 1.2; margin-bottom: 16px; }
.page-template-template-white-paper .section-subtext { font-size: 16px; color: #6b7280; line-height: 1.6; max-width: 560px; margin: 0 auto; }
.wp-abstract { max-width: 820px; margin: 0 auto; }
.wp-abstract p { font-size: 16px; color: #374151; line-height: 1.8; margin-bottom: 22px; }
.wp-abstract p:last-child { margin-bottom: 0; }

/* KEY STATS */
.wp-stats { background: #0f1f14; padding: 56px 0; }
.wp-stats-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.wp-stat { text-align: center; padding: 8px 20px; border-right: 1px solid rgba(255,255,255,.12); }
.wp-stat:last-child { border-right: none; }
.wp-stat-num { font-size: 36px; font-weight: 800; color: white; letter-spacing: -0.02em; line-height: 1; }
.wp-stat-num span { color: #5aab66; }
.wp-stat-label { font-size: 13px; color: rgba(255,255,255,.65); margin-top: 8px; }

/* WHO SHOULD READ */
.wp-audience { background: #f9fafb; padding: 80px 0; }
.wp-audience-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.wp-audience-header { text-align: center; margin-bottom: 48px; }
.wp-audience-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.wp-audience-card { background: white; border-radius: 16px; padding: 28px 22px; border: 1.5px solid #e5e7eb; transition: all 0.22s; text-align: center; }
.wp-audience-card:hover { border-color: #3a7d44; box-shadow: 0 6px 24px rgba(58,125,68,.1); transform: translateY(-2px); }
.wp-audience-icon { width: 52px; height: 52px; border-radius: 14px; background: #c8e6cc; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
.wp-audience-icon svg { width: 26px; height: 26px; stroke: #3a7d44; fill: none; stroke-width: 1.8; }
.wp-audience-title { font-size: 15px; font-weight: 700; color: #111827; margin-bottom: 8px; }
.wp-audience-text { font-size: 13px; color: #6b7280; line-height: 1.6; }

/* RESEARCH PREVIEW */
.wp-research { background: white; padding: 80px 0; }
.wp-research-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.wp-research-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 40px; }
.wp-research-header-text .section-heading { margin-bottom: 8px; }
.wp-research-header-text .section-subtext { margin: 0; text-align: left; }
.wp-research-link { font-size: 14px; font-weight: 600; color: #3a7d44; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.wp-research-link svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; transition: transform 0.18s; }
.wp-research-link:hover svg { transform: translateX(3px); }
.wp-research-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.wp-research-card { border: 1.5px solid #e5e7eb; border-radius: 16px; overflow: hidden; transition: all 0.22s; text-decoration: none; display: block; }
.wp-research-card:hover { border-color: #3a7d44; box-shadow: 0 8px 32px rgba(58,125,68,.1); transform: translateY(-2px); }
.wp-research-card-img { height: 160px; background: linear-gradient(135deg, #0f1f14 0%, #3a7d44 100%); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.wp-research-card-img::after { content: ''; position: absolute; bottom: -20px; right: -20px; width: 120px; height: 120px; border-radius: 50%; background: rgba(90,171,102,0.15); }
.wp-research-card-img svg { width: 48px; height: 48px; stroke: rgba(255,255,255,0.4); fill: none; stroke-width: 1.5; position: relative; z-index: 1; }
.wp-research-card-img.has-image::after { display: none; }
.wp-research-card-img.has-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wp-research-card-body { padding: 22px 22px 24px; }
.wp-research-card-tag { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #3a7d44; background: #c8e6cc; padding: 3px 9px; border-radius: 20px; margin-bottom: 10px; }
.wp-research-card-title { font-size: 15px; font-weight: 700; color: #111827; line-height: 1.4; margin-bottom: 8px; }
.wp-research-card-meta { font-size: 12px; color: #9ca3af; }
.wp-research-card-excerpt { font-size: 13px; color: #6b7280; line-height: 1.6; margin-top: 8px; }

/* FINAL CTA */
.wp-cta { background: linear-gradient(135deg, #0f1f14 0%, #2d6235 100%); padding: 80px 0; text-align: center; position: relative; overflow: hidden; }
.wp-cta::before { content: ''; position: absolute; top: -80px; left: 50%; transform: translateX(-50%); width: 500px; height: 500px; border-radius: 50%; background: radial-gradient(circle, rgba(90,171,102,0.1) 0%, transparent 70%); pointer-events: none; }
.wp-cta-inner { max-width: 640px; margin: 0 auto; padding: 0 40px; position: relative; z-index: 1; }
.wp-cta h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 38px; font-weight: 900; color: white; letter-spacing: -0.02em; line-height: 1.15; margin-bottom: 16px; }
.wp-cta p { font-size: 16px; color: rgba(255,255,255,0.7); line-height: 1.65; margin-bottom: 32px; }
.wp-cta-btns { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.btn-white { display: inline-flex; align-items: center; gap: 8px; background: white; color: #0f1f14; font-size: 14px; font-weight: 700; padding: 13px 26px; border-radius: 9px; text-decoration: none; transition: all 0.18s; }
.btn-white:hover { background: #c8e6cc; }
.btn-outline-white { display: inline-flex; align-items: center; gap: 8px; background: transparent; color: white; font-size: 14px; font-weight: 600; padding: 13px 26px; border-radius: 9px; border: 1.5px solid rgba(255,255,255,0.3); text-decoration: none; transition: all 0.18s; }
.btn-outline-white:hover { border-color: white; background: rgba(255,255,255,0.06); }

/* RESPONSIVE */
@media (max-width: 768px) {
  .wp-hero { padding: 48px 0 56px; }
  .wp-hero-inner { padding: 0 20px; grid-template-columns: 1fr; gap: 40px; }
  .wp-inside { padding: 56px 0; }
  .wp-inside-inner { padding: 0 20px; }
  .wp-inside-header { text-align: left; }
  .page-template-template-white-paper .section-subtext { margin: 0; }
  .wp-stats { padding: 40px 0; }
  .wp-stats-inner { padding: 0 20px; grid-template-columns: 1fr 1fr; }
  .wp-stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); padding: 20px 0; }
  .wp-stat:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.1); }
  .wp-stat:nth-child(3), .wp-stat:nth-child(4) { border-bottom: none; }
  .wp-audience { padding: 56px 0; }
  .wp-audience-inner { padding: 0 20px; }
  .wp-audience-grid { grid-template-columns: 1fr 1fr; }
  .wp-research { padding: 56px 0; }
  .wp-research-inner { padding: 0 20px; }
  .wp-research-header { flex-direction: column; align-items: flex-start; gap: 16px; }
  .wp-research-grid { grid-template-columns: 1fr; }
  .wp-cta { padding: 56px 0; }
  .wp-cta-inner { padding: 0 20px; }
  .wp-cta h2 { font-size: 28px; }
  .wp-form-row { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .wp-audience-grid { grid-template-columns: 1fr; }
  .wp-stats-inner { grid-template-columns: 1fr; }
  .wp-stat { border-right: none; }
  .wp-stat:nth-child(odd) { border-right: none; }
  .wp-stat:nth-child(3) { border-bottom: 1px solid rgba(255,255,255,.1); }
}
/* ═══════════════════════════════════════════════
   SINGLE RESEARCH POST  (.single-research)
   Scoped to body class to avoid conflicts with
   the research listing page CSS above.
   ═══════════════════════════════════════════════ */
.single-research { background: #f9fafb; }

/* HERO — override listing page .research-hero */
.single-research .research-hero { background: linear-gradient(135deg, #0f1f14 0%, #0f1f14 60%, #2d6235 100%); padding: 56px 0 0; }
.single-research .research-hero::before { display: none; }
.single-research .research-hero-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; display: block; }
.research-hero-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; flex-wrap: wrap; }
.research-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 5px 12px; border-radius: 20px; background: rgba(90,171,102,.2); color: #5aab66; border: 1px solid rgba(90,171,102,.3); }
.research-badge svg { width: 12px; height: 12px; stroke: currentColor; fill: none; stroke-width: 2; }
.research-date { font-size: 13px; color: rgba(255,255,255,.45); }
.research-read { font-size: 13px; color: rgba(255,255,255,.45); display: flex; align-items: center; gap: 5px; }
.research-read svg { width: 13px; height: 13px; stroke: rgba(255,255,255,.4); fill: none; stroke-width: 2; }
.research-hero-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(28px, 4.5vw, 46px); font-weight: 900; color: white; line-height: 1.1; letter-spacing: -0.025em; margin-bottom: 16px; max-width: 800px; }
.single-research .research-hero-sub { font-size: 16px; color: rgba(255,255,255,.6); line-height: 1.7; max-width: 680px; margin-bottom: 28px; }
.research-hero-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 40px; }
.research-hero-author { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.research-hero-author-photo { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(255,255,255,.2); }
.research-hero-author-name { font-size: 14px; font-weight: 700; color: rgba(255,255,255,.8); transition: color .15s; }
.research-hero-author:hover .research-hero-author-name { color: #5aab66; }
.research-hero-author-title { font-size: 12px; color: rgba(255,255,255,.4); }
.research-hero-author-sep { width: 1px; height: 28px; background: rgba(255,255,255,.15); }
.research-cite-btn { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; color: rgba(255,255,255,.65); padding: 8px 16px; border-radius: 8px; border: 1.5px solid rgba(255,255,255,.15); background: transparent; cursor: pointer; transition: all .18s; }
.research-cite-btn:hover { border-color: rgba(255,255,255,.4); color: white; }
.research-cite-btn svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; }

/* STATS BAR */
.research-stats-bar { background: rgba(0,0,0,.25); border-top: 1px solid rgba(255,255,255,.08); }
.research-stats-bar-inner { max-width: 1200px; margin: 0 auto; padding: 20px 40px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.research-stat { text-align: center; padding: 0 16px; border-right: 1px solid rgba(255,255,255,.08); }
.research-stat:last-child { border-right: none; }
.research-stat-num { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 26px; font-weight: 900; color: #5aab66; letter-spacing: -0.02em; }
.research-stat-label { font-size: 11.5px; color: rgba(255,255,255,.45); margin-top: 3px; }

/* BREADCRUMB */
.single-research .breadcrumb { background: white; border-bottom: 1px solid #f3f4f6; }
.single-research .breadcrumb-inner { max-width: 1200px; margin: 0 auto; padding: 12px 40px; display: flex; align-items: center; gap: 8px; font-size: 13px; color: #9ca3af; }
.single-research .breadcrumb-inner a { color: #6b7280; text-decoration: none; transition: color .15s; }
.single-research .breadcrumb-inner a:hover { color: #3a7d44; }
.single-research .breadcrumb-inner svg { width: 12px; height: 12px; stroke: #d1d5db; fill: none; stroke-width: 2; flex-shrink: 0; }
.single-research .breadcrumb-inner span { color: #374151; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 420px; }

/* PAGE LAYOUT */
.post-layout { max-width: 1200px; margin: 0 auto; padding: 48px 40px 80px; display: grid; grid-template-columns: 1fr 300px; gap: 64px; align-items: start; }

/* ARTICLE BODY */
.post-body { font-size: 16px; line-height: 1.8; color: #374151; }
.post-body p { margin-bottom: 20px; }
.post-body h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 24px; font-weight: 800; color: #111827; margin-top: 48px; margin-bottom: 16px; letter-spacing: -0.01em; padding-top: 8px; border-top: 2px solid #f3f4f6; }
.post-body h3 { font-size: 18px; font-weight: 700; color: #111827; margin-top: 32px; margin-bottom: 12px; }
.post-body ul { margin-bottom: 20px; padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.post-body ul li { padding-left: 24px; position: relative; }
.post-body ul li::before { content: ''; position: absolute; left: 0; top: 10px; width: 6px; height: 6px; border-radius: 50%; background: #3a7d44; }
.post-body ol { margin-bottom: 20px; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; }
.post-body a { color: #3a7d44; text-decoration: none; font-weight: 600; border-bottom: 1px solid #d4ecd7; transition: border-color .15s; }
.post-body a:hover { border-color: #3a7d44; }
.post-body strong { font-weight: 700; color: #111827; }

/* DATA CALLOUT (custom HTML block inside post-body) */
.post-body .data-callout { background: #c8e6cc; border: 1.5px solid #c6e6cb; border-radius: 14px; padding: 24px 28px; margin: 32px 0; }
.post-body .data-callout-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.post-body .data-callout-stat { text-align: center; }
.post-body .data-callout-num { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 30px; font-weight: 900; color: #2d6235; letter-spacing: -0.02em; }
.post-body .data-callout-label { font-size: 12.5px; color: #6b7280; margin-top: 4px; line-height: 1.4; }

/* PULL QUOTE (custom HTML block) */
.post-body .pull-quote { margin: 36px 0; padding: 28px 32px; background: #0f1f14; border-radius: 14px; position: relative; overflow: hidden; }
.post-body .pull-quote::before { content: '\201C'; position: absolute; top: -10px; left: 16px; font-size: 120px; font-family: Georgia, serif; color: rgba(90,171,102,.15); line-height: 1; pointer-events: none; }
.post-body .pull-quote p { font-size: 18px; font-weight: 600; color: white; line-height: 1.6; font-style: italic; position: relative; z-index: 1; margin: 0; }
.post-body .pull-quote-source { font-size: 12.5px; color: rgba(255,255,255,.4); margin-top: 12px; font-style: normal; font-weight: 500; position: relative; z-index: 1; }

/* SOURCES */
.post-sources { margin-top: 48px; padding-top: 32px; border-top: 1px solid #e5e7eb; }
.post-sources-title { font-size: 14px; font-weight: 700; color: #374151; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.post-sources-title svg { width: 16px; height: 16px; stroke: #9ca3af; fill: none; stroke-width: 2; }
.post-sources-list { list-style: none; counter-reset: source; display: flex; flex-direction: column; gap: 8px; }
.post-sources-list li { font-size: 13px; color: #6b7280; padding-left: 20px; position: relative; counter-increment: source; }
.post-sources-list li::before { content: counter(source); position: absolute; left: 0; font-weight: 700; color: #3a7d44; font-size: 11px; top: 2px; }
.post-sources-list a { color: #3a7d44; text-decoration: none; border-bottom: 1px solid #d4ecd7; font-weight: 500; }

/* SIDEBAR */
.post-sidebar { position: sticky; top: 84px; display: flex; flex-direction: column; gap: 24px; }
.sidebar-toc { background: white; border: 1.5px solid #e5e7eb; border-radius: 16px; padding: 24px; }
.sidebar-toc-title { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9ca3af; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.sidebar-toc-title::after { content: ''; flex: 1; height: 1px; background: #f3f4f6; }
.sidebar-toc-list { list-style: none; display: flex; flex-direction: column; gap: 2px; }
.sidebar-toc-list li a { display: block; font-size: 13px; font-weight: 500; color: #6b7280; padding: 7px 10px; border-radius: 8px; text-decoration: none; transition: all .15s; line-height: 1.4; }
.sidebar-toc-list li a:hover, .sidebar-toc-list li a.active { background: #c8e6cc; color: #2d6235; font-weight: 600; }
.sidebar-toc-list li a.active { border-left: 3px solid #3a7d44; border-radius: 0 8px 8px 0; }
.sidebar-key-stats { background: white; border: 1.5px solid #e5e7eb; border-radius: 16px; padding: 20px; }
.sidebar-key-stats-title { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9ca3af; margin-bottom: 16px; }
.sidebar-stat-row { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-bottom: 1px solid #f3f4f6; }
.sidebar-stat-row:last-child { border-bottom: none; padding-bottom: 0; }
.sidebar-stat-num { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 900; color: #3a7d44; letter-spacing: -0.02em; flex-shrink: 0; min-width: 64px; }
.sidebar-stat-label { font-size: 12.5px; color: #6b7280; line-height: 1.4; }
.sidebar-cta { background: linear-gradient(135deg, #0f1f14 0%, #2d6235 100%); border-radius: 16px; padding: 24px; }
.sidebar-cta-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 10px; }
.sidebar-cta-title { font-size: 17px; font-weight: 800; color: white; line-height: 1.3; margin-bottom: 10px; }
.sidebar-cta-text { font-size: 13px; color: rgba(255,255,255,.65); line-height: 1.65; margin-bottom: 18px; }
.sidebar-cta-btn { display: block; text-align: center; padding: 11px 16px; background: #5aab66; color: white; font-size: 13.5px; font-weight: 700; border-radius: 9px; text-decoration: none; transition: background .18s; margin-bottom: 8px; }
.sidebar-cta-btn:hover { background: #3a7d44; }
.sidebar-cta-btn-outline { display: block; text-align: center; padding: 10px 16px; background: transparent; color: rgba(255,255,255,.7); font-size: 13px; font-weight: 600; border-radius: 9px; text-decoration: none; border: 1.5px solid rgba(255,255,255,.2); transition: all .18s; }
.sidebar-cta-btn-outline:hover { border-color: rgba(255,255,255,.5); color: white; }

/* CITE MODAL */
.cite-modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 500; align-items: center; justify-content: center; padding: 20px; }
.cite-modal-overlay.open { display: flex; }
.cite-modal { background: white; border-radius: 16px; padding: 32px; max-width: 560px; width: 100%; }
.cite-modal-title { font-size: 18px; font-weight: 800; color: #111827; margin-bottom: 20px; }
.cite-format { margin-bottom: 20px; }
.cite-format-label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #9ca3af; margin-bottom: 8px; }
.cite-format-text { font-size: 13.5px; color: #374151; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 8px; padding: 12px 16px; line-height: 1.6; font-family: Georgia, serif; }
.cite-copy-btn { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: #3a7d44; padding: 7px 14px; border-radius: 8px; border: 1.5px solid #d4ecd7; background: #c8e6cc; cursor: pointer; transition: all .15s; margin-top: 8px; }
.cite-copy-btn:hover { background: #d4ecd7; }
.cite-copy-btn svg { width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 2; }
.cite-modal-close { display: block; margin-top: 24px; text-align: center; font-size: 14px; font-weight: 600; color: #6b7280; cursor: pointer; padding: 10px; border-radius: 8px; transition: background .15s; }
.cite-modal-close:hover { background: #f3f4f6; }

/* RELATED */
.post-related { background: white; border-top: 1px solid #e5e7eb; padding: 64px 0; }
.post-related-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.post-related-title { font-size: 22px; font-weight: 800; color: #111827; margin-bottom: 32px; letter-spacing: -0.01em; }
.post-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.post-related-card { border: 1.5px solid #e5e7eb; border-radius: 14px; overflow: hidden; text-decoration: none; transition: all .2s; display: block; }
.post-related-card:hover { border-color: #3a7d44; box-shadow: 0 6px 24px rgba(58,125,68,.1); transform: translateY(-2px); }
.post-related-img { height: auto; display: flex; align-items: center; justify-content: center; }
.post-related-img svg { width: 36px; height: 36px; stroke: rgba(255,255,255,.4); fill: none; stroke-width: 1.5; }
.post-related-body { padding: 18px 20px 20px; }
.post-related-tag { font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 20px; display: inline-block; margin-bottom: 8px; }
.post-related-card-title { font-size: 14.5px; font-weight: 700; color: #111827; line-height: 1.4; margin-bottom: 10px; }
.post-related-meta { font-size: 12px; color: #9ca3af; }

/* ARTICLE CTA */
.post-article-cta { background: linear-gradient(135deg, #0f1f14 0%, #2d6235 100%); padding: 64px 0; text-align: center; }
.post-article-cta-inner { max-width: 640px; margin: 0 auto; padding: 0 40px; }
.post-article-cta h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 30px; font-weight: 900; color: white; letter-spacing: -0.02em; margin-bottom: 12px; }
.post-article-cta p { font-size: 15px; color: rgba(255,255,255,.65); line-height: 1.65; margin-bottom: 28px; }
.post-article-cta-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.post-article-cta-btn-primary { padding: 13px 28px; background: #5aab66; color: white; font-size: 14.5px; font-weight: 700; border-radius: 9px; text-decoration: none; transition: background .18s; }
.post-article-cta-btn-primary:hover { background: #3a7d44; }
.post-article-cta-btn-secondary { padding: 13px 28px; background: transparent; color: rgba(255,255,255,.8); font-size: 14.5px; font-weight: 600; border-radius: 9px; text-decoration: none; border: 1.5px solid rgba(255,255,255,.25); transition: all .18s; }
.post-article-cta-btn-secondary:hover { border-color: rgba(255,255,255,.6); color: white; }

/* RESPONSIVE */
@media (max-width: 900px) {
  .post-layout { grid-template-columns: 1fr; gap: 40px; padding: 32px 20px 60px; }
  .post-sidebar { position: static; }
  .post-related-grid { grid-template-columns: 1fr; }
  .post-body .data-callout-grid { grid-template-columns: 1fr; gap: 16px; }
  .research-stats-bar-inner { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .single-research .research-hero { padding: 40px 0 0; }
  .single-research .research-hero-inner { padding: 0 20px; }
  .research-stats-bar-inner { padding: 16px 20px; }
  .single-research .breadcrumb-inner { padding: 12px 20px; }
  .post-related { padding: 48px 0; }
  .post-related-inner { padding: 0 20px; }
  .post-article-cta { padding: 48px 0; }
  .post-article-cta-inner { padding: 0 20px; }
  .post-article-cta h2 { font-size: 24px; }
}

/* ── Legacy rp-* aliases (kept so nothing breaks if referenced elsewhere) ── */
.rp-hero { background: linear-gradient(135deg, #0f1f14 0%, #0f1f14 60%, #2d6235 100%); padding: 56px 0 0; }
.rp-hero-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.rp-hero-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; flex-wrap: wrap; }
.rp-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 5px 12px; border-radius: 20px; background: rgba(90,171,102,.2); color: #5aab66; border: 1px solid rgba(90,171,102,.3); }
.rp-badge svg { width: 12px; height: 12px; stroke: currentColor; fill: none; stroke-width: 2; }
.rp-date { font-size: 13px; color: rgba(255,255,255,.45); }
.rp-read { font-size: 13px; color: rgba(255,255,255,.45); display: flex; align-items: center; gap: 5px; }
.rp-read svg { width: 13px; height: 13px; stroke: rgba(255,255,255,.4); fill: none; stroke-width: 2; }
.rp-hero-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(28px, 4.5vw, 46px); font-weight: 900; color: white; line-height: 1.1; letter-spacing: -0.025em; margin-bottom: 16px; max-width: 800px; }
.rp-hero-sub { font-size: 16px; color: rgba(255,255,255,.6); line-height: 1.7; max-width: 680px; margin-bottom: 28px; }
.rp-hero-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 40px; }
.rp-author { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.rp-author-photo { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(255,255,255,.2); }
.rp-author-name { font-size: 14px; font-weight: 700; color: rgba(255,255,255,.8); transition: color .15s; }
.rp-author:hover .rp-author-name { color: #5aab66; }
.rp-author-title { font-size: 12px; color: rgba(255,255,255,.4); }
.rp-author-sep { width: 1px; height: 28px; background: rgba(255,255,255,.15); }
.rp-cite-btn { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; color: rgba(255,255,255,.65); padding: 8px 16px; border-radius: 8px; border: 1.5px solid rgba(255,255,255,.15); background: transparent; cursor: pointer; transition: all .18s; }
.rp-cite-btn:hover { border-color: rgba(255,255,255,.4); color: white; }
.rp-cite-btn svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; }

/* STATS BAR */
.rp-stats-bar { background: rgba(0,0,0,.25); border-top: 1px solid rgba(255,255,255,.08); }
.rp-stats-bar-inner { max-width: 1200px; margin: 0 auto; padding: 20px 40px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.rp-stat { text-align: center; padding: 0 16px; border-right: 1px solid rgba(255,255,255,.08); }
.rp-stat:last-child { border-right: none; }
.rp-stat-num { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 26px; font-weight: 900; color: #5aab66; letter-spacing: -0.02em; }
.rp-stat-label { font-size: 11.5px; color: rgba(255,255,255,.45); margin-top: 3px; }

/* BREADCRUMB */
.rp-breadcrumb { background: white; border-bottom: 1px solid #f3f4f6; }
.rp-breadcrumb-inner { max-width: 1200px; margin: 0 auto; padding: 12px 40px; display: flex; align-items: center; gap: 8px; font-size: 13px; color: #9ca3af; }
.rp-breadcrumb-inner a { color: #6b7280; text-decoration: none; transition: color .15s; }
.rp-breadcrumb-inner a:hover { color: #3a7d44; }
.rp-breadcrumb-inner svg { width: 12px; height: 12px; stroke: #d1d5db; fill: none; stroke-width: 2; flex-shrink: 0; }
.rp-breadcrumb-inner span { color: #374151; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 420px; }

/* PAGE LAYOUT */
.rp-layout { max-width: 1200px; margin: 0 auto; padding: 48px 40px 80px; display: grid; grid-template-columns: 1fr 300px; gap: 64px; align-items: start; }

/* ARTICLE BODY */
.rp-body { font-size: 16px; line-height: 1.8; color: #374151; }
.rp-body p { margin-bottom: 20px; }
.rp-body h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 24px; font-weight: 800; color: #111827; margin-top: 48px; margin-bottom: 16px; letter-spacing: -0.01em; padding-top: 8px; border-top: 2px solid #f3f4f6; }
.rp-body h3 { font-size: 18px; font-weight: 700; color: #111827; margin-top: 32px; margin-bottom: 12px; }
.rp-body ul { margin-bottom: 20px; padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.rp-body ul li { padding-left: 24px; position: relative; }
.rp-body ul li::before { content: ''; position: absolute; left: 0; top: 10px; width: 6px; height: 6px; border-radius: 50%; background: #3a7d44; }
.rp-body a { color: #3a7d44; text-decoration: none; font-weight: 600; border-bottom: 1px solid #d4ecd7; transition: border-color .15s; }
.rp-body a:hover { border-color: #3a7d44; }
.rp-body strong { font-weight: 700; color: #111827; }
.rp-body ol { margin-bottom: 20px; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; }

/* DATA CALLOUT (Gutenberg block: use .wp-block-group with class "data-callout" or custom HTML) */
.rp-body .data-callout { background: #c8e6cc; border: 1.5px solid #c6e6cb; border-radius: 14px; padding: 24px 28px; margin: 32px 0; }
.rp-body .data-callout-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.rp-body .data-callout-stat { text-align: center; }
.rp-body .data-callout-num { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 30px; font-weight: 900; color: #2d6235; letter-spacing: -0.02em; }
.rp-body .data-callout-label { font-size: 12.5px; color: #6b7280; margin-top: 4px; line-height: 1.4; }

/* PULL QUOTE */
.rp-body .pull-quote { margin: 36px 0; padding: 28px 32px; background: #0f1f14; border-radius: 14px; position: relative; overflow: hidden; }
.rp-body .pull-quote::before { content: '\201C'; position: absolute; top: -10px; left: 16px; font-size: 120px; font-family: Georgia, serif; color: rgba(90,171,102,.15); line-height: 1; pointer-events: none; }
.rp-body .pull-quote p { font-size: 18px; font-weight: 600; color: white; line-height: 1.6; font-style: italic; position: relative; z-index: 1; margin: 0; }
.rp-body .pull-quote-source { font-size: 12.5px; color: rgba(255,255,255,.4); margin-top: 12px; font-style: normal; font-weight: 500; position: relative; z-index: 1; }

/* SOURCES */
.rp-sources { margin-top: 48px; padding-top: 32px; border-top: 1px solid #e5e7eb; }
.rp-sources-title { font-size: 14px; font-weight: 700; color: #374151; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.rp-sources-title svg { width: 16px; height: 16px; stroke: #9ca3af; fill: none; stroke-width: 2; }
.rp-sources-list { list-style: none; counter-reset: source; display: flex; flex-direction: column; gap: 8px; }
.rp-sources-list li { font-size: 13px; color: #6b7280; padding-left: 20px; position: relative; counter-increment: source; }
.rp-sources-list li::before { content: counter(source); position: absolute; left: 0; font-weight: 700; color: #3a7d44; font-size: 11px; top: 2px; }
.rp-sources-list a { color: #3a7d44; text-decoration: none; border-bottom: 1px solid #d4ecd7; font-weight: 500; }

/* AUTHOR BIO */
.rp-author-bio { margin-top: 48px; padding-top: 32px; border-top: 1px solid #e5e7eb; display: flex; align-items: flex-start; gap: 20px; }
.rp-author-bio-photo { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; border: 2px solid #e5e7eb; flex-shrink: 0; }
.rp-author-bio-label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #9ca3af; margin-bottom: 4px; }
.rp-author-bio-name { font-size: 16px; font-weight: 700; color: #111827; text-decoration: none; display: block; margin-bottom: 4px; transition: color .15s; }
.rp-author-bio-name:hover { color: #3a7d44; }
.rp-author-bio-role { font-size: 13px; color: #6b7280; margin-bottom: 10px; }
.rp-author-bio-text { font-size: 14px; color: #6b7280; line-height: 1.65; margin: 0; }

/* SIDEBAR */
.rp-sidebar { position: sticky; top: 84px; display: flex; flex-direction: column; gap: 24px; }
.rp-toc { background: white; border: 1.5px solid #e5e7eb; border-radius: 16px; padding: 24px; }
.rp-toc-title { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9ca3af; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.rp-toc-title::after { content: ''; flex: 1; height: 1px; background: #f3f4f6; }
.rp-toc-list { list-style: none; display: flex; flex-direction: column; gap: 2px; }
.rp-toc-list li a { display: block; font-size: 13px; font-weight: 500; color: #6b7280; padding: 7px 10px; border-radius: 8px; text-decoration: none; transition: all .15s; line-height: 1.4; }
.rp-toc-list li a:hover, .rp-toc-list li a.active { background: #c8e6cc; color: #2d6235; font-weight: 600; }
.rp-toc-list li a.active { border-left: 3px solid #3a7d44; border-radius: 0 8px 8px 0; }

.rp-sidebar-stats { background: white; border: 1.5px solid #e5e7eb; border-radius: 16px; padding: 20px; }
.rp-sidebar-stats-title { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9ca3af; margin-bottom: 16px; }
.rp-sidebar-stat-row { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-bottom: 1px solid #f3f4f6; }
.rp-sidebar-stat-row:last-child { border-bottom: none; padding-bottom: 0; }
.rp-sidebar-stat-num { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 900; color: #3a7d44; letter-spacing: -0.02em; flex-shrink: 0; min-width: 64px; }
.rp-sidebar-stat-label { font-size: 12.5px; color: #6b7280; line-height: 1.4; }

.rp-sidebar-cta { background: linear-gradient(135deg, #0f1f14 0%, #2d6235 100%); border-radius: 16px; padding: 24px; }
.rp-sidebar-cta-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 10px; }
.rp-sidebar-cta-title { font-size: 17px; font-weight: 800; color: white; line-height: 1.3; margin-bottom: 10px; }
.rp-sidebar-cta-text { font-size: 13px; color: rgba(255,255,255,.65); line-height: 1.65; margin-bottom: 18px; }
.rp-sidebar-cta-btn { display: block; text-align: center; padding: 11px 16px; background: #5aab66; color: white; font-size: 13.5px; font-weight: 700; border-radius: 9px; text-decoration: none; transition: background .18s; margin-bottom: 8px; }
.rp-sidebar-cta-btn:hover { background: #3a7d44; }
.rp-sidebar-cta-btn-outline { display: block; text-align: center; padding: 10px 16px; background: transparent; color: rgba(255,255,255,.7); font-size: 13px; font-weight: 600; border-radius: 9px; text-decoration: none; border: 1.5px solid rgba(255,255,255,.2); transition: all .18s; }
.rp-sidebar-cta-btn-outline:hover { border-color: rgba(255,255,255,.5); color: white; }

/* CITE MODAL */
.rp-cite-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 500; align-items: center; justify-content: center; padding: 20px; }
.rp-cite-overlay.open { display: flex; }
.rp-cite-modal { background: white; border-radius: 16px; padding: 32px; max-width: 560px; width: 100%; }
.rp-cite-title { font-size: 18px; font-weight: 800; color: #111827; margin-bottom: 20px; }
.rp-cite-format { margin-bottom: 20px; }
.rp-cite-format-label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #9ca3af; margin-bottom: 8px; }
.rp-cite-format-text { font-size: 13.5px; color: #374151; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 8px; padding: 12px 16px; line-height: 1.6; font-family: Georgia, serif; }
.rp-cite-copy-btn { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: #3a7d44; padding: 7px 14px; border-radius: 8px; border: 1.5px solid #d4ecd7; background: #c8e6cc; cursor: pointer; transition: all .15s; margin-top: 8px; }
.rp-cite-copy-btn:hover { background: #d4ecd7; }
.rp-cite-copy-btn svg { width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 2; }
.rp-cite-close { display: block; margin-top: 24px; text-align: center; font-size: 14px; font-weight: 600; color: #6b7280; cursor: pointer; padding: 10px; border-radius: 8px; transition: background .15s; }
.rp-cite-close:hover { background: #f3f4f6; }

/* RELATED */
.rp-related { background: white; border-top: 1px solid #e5e7eb; padding: 64px 0; }
.rp-related-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.rp-related-title { font-size: 22px; font-weight: 800; color: #111827; margin-bottom: 32px; letter-spacing: -0.01em; }
.rp-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.rp-related-card { border: 1.5px solid #e5e7eb; border-radius: 14px; overflow: hidden; text-decoration: none; transition: all .2s; display: block; }
.rp-related-card:hover { border-color: #3a7d44; box-shadow: 0 6px 24px rgba(58,125,68,.1); transform: translateY(-2px); }
.rp-related-img { height: 120px; display: flex; align-items: center; justify-content: center; }
.rp-related-img svg { width: 36px; height: 36px; stroke: rgba(255,255,255,.4); fill: none; stroke-width: 1.5; }
.rp-img-workforce  { background: linear-gradient(135deg, #0f1f14 0%, #3a7d44 100%); }
.rp-img-lending    { background: linear-gradient(135deg, #0c4a6e 0%, #0284c7 100%); }
.rp-img-startup    { background: linear-gradient(135deg, #78350f 0%, #d97706 100%); }
.rp-img-business   { background: linear-gradient(135deg, #4c1d95 0%, #7c3aed 100%); }
.rp-img-compliance { background: linear-gradient(135deg, #7f1d1d 0%, #dc2626 100%); }
.rp-img-economy    { background: linear-gradient(135deg, #831843 0%, #db2777 100%); }
.rp-related-body { padding: 18px 20px 20px; }
.rp-related-tag { font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 20px; display: inline-block; margin-bottom: 8px; }
.rp-tag-workforce  { background: #c8e6cc; color: #2d6235; }
.rp-tag-lending    { background: #e0f2fe; color: #0369a1; }
.rp-tag-startup    { background: #fef3c7; color: #b45309; }
.rp-tag-business   { background: #ede9fe; color: #6d28d9; }
.rp-tag-compliance { background: #fee2e2; color: #b91c1c; }
.rp-tag-economy    { background: #fce7f3; color: #be185d; }
.rp-related-card-title { font-size: 14.5px; font-weight: 700; color: #111827; line-height: 1.4; margin-bottom: 10px; }
.rp-related-meta { font-size: 12px; color: #9ca3af; }

/* ARTICLE CTA */
.rp-article-cta { background: linear-gradient(135deg, #0f1f14 0%, #2d6235 100%); padding: 64px 0; text-align: center; }
.rp-article-cta-inner { max-width: 640px; margin: 0 auto; padding: 0 40px; }
.rp-article-cta h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 30px; font-weight: 900; color: white; letter-spacing: -0.02em; margin-bottom: 12px; }
.rp-article-cta p { font-size: 15px; color: rgba(255,255,255,.65); line-height: 1.65; margin-bottom: 28px; }
.rp-article-cta-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.rp-cta-btn-primary { padding: 13px 28px; background: #5aab66; color: white; font-size: 14.5px; font-weight: 700; border-radius: 9px; text-decoration: none; transition: background .18s; }
.rp-cta-btn-primary:hover { background: #3a7d44; }
.rp-cta-btn-secondary { padding: 13px 28px; background: transparent; color: rgba(255,255,255,.8); font-size: 14.5px; font-weight: 600; border-radius: 9px; text-decoration: none; border: 1.5px solid rgba(255,255,255,.25); transition: all .18s; }
.rp-cta-btn-secondary:hover { border-color: rgba(255,255,255,.6); color: white; }

/* RESPONSIVE */
@media (max-width: 900px) {
  .rp-layout { grid-template-columns: 1fr; gap: 40px; padding: 32px 20px 60px; }
  .rp-sidebar { position: static; }
  .rp-related-grid { grid-template-columns: 1fr; }
  .rp-body .data-callout-grid { grid-template-columns: 1fr; gap: 16px; }
  .rp-stats-bar-inner { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .rp-hero { padding: 40px 0 0; }
  .rp-hero-inner { padding: 0 20px; }
  .rp-stats-bar-inner { padding: 16px 20px; }
  .rp-breadcrumb-inner { padding: 12px 20px; }
  .rp-related { padding: 48px 0; }
  .rp-related-inner { padding: 0 20px; }
  .rp-article-cta { padding: 48px 0; }
  .rp-article-cta-inner { padding: 0 20px; }
  .rp-article-cta h2 { font-size: 24px; }
}

/* ═══════════════════════════════════════════════
   SINGLE BLOG POST  (.single-post)
   ═══════════════════════════════════════════════ */
.single-post { background: #f9fafb; }

/* BREADCRUMB */
.bp-breadcrumb { background: white; border-bottom: 1px solid #f3f4f6; }
.bp-breadcrumb-inner { max-width: 1200px; margin: 0 auto; padding: 12px 40px; display: flex; align-items: center; gap: 8px; font-size: 13px; color: #9ca3af; }
.bp-breadcrumb-inner a { color: #6b7280; text-decoration: none; transition: color .15s; }
.bp-breadcrumb-inner a:hover { color: #3a7d44; }
.bp-breadcrumb-inner svg { width: 12px; height: 12px; stroke: #d1d5db; fill: none; stroke-width: 2; flex-shrink: 0; }
.bp-breadcrumb-inner span { color: #374151; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 420px; }

/* PAGE LAYOUT */
.bp-layout { max-width: 1200px; margin: 0 auto; padding: 48px 40px 80px; display: grid; grid-template-columns: 1fr 320px; gap: 64px; align-items: start; }

/* POST HEADER */
.bp-header { margin-bottom: 36px; }
.bp-category { display: inline-flex; align-items: center; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 11px; border-radius: 20px; text-decoration: none; margin-bottom: 16px; transition: opacity .15s; }
.bp-category:hover { opacity: .8; }
.bp-tag-green  { background: #c8e6cc; color: #2d6235; }
.bp-tag-blue   { background: #e0f2fe; color: #0369a1; }
.bp-tag-indigo { background: #ede9fe; color: #6d28d9; }
.bp-tag-amber  { background: #fef3c7; color: #b45309; }
.bp-tag-red    { background: #fee2e2; color: #b91c1c; }
.bp-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(26px, 4vw, 40px); font-weight: 900; color: #111827; line-height: 1.15; letter-spacing: -0.025em; margin-bottom: 20px; }
.bp-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-bottom: 20px; border-bottom: 1px solid #f3f4f6; }
.bp-author { display: flex; align-items: center; gap: 8px; text-decoration: none; }
.bp-author-photo { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; border: 2px solid #e5e7eb; flex-shrink: 0; }
.bp-author-name { font-size: 14px; font-weight: 600; color: #374151; transition: color .15s; }
.bp-author:hover .bp-author-name { color: #3a7d44; }
.bp-meta-sep { width: 3px; height: 3px; border-radius: 50%; background: #d1d5db; flex-shrink: 0; }
.bp-meta-date { font-size: 13px; color: #9ca3af; }
.bp-meta-read { font-size: 13px; color: #9ca3af; display: flex; align-items: center; gap: 5px; }
.bp-meta-read svg { width: 13px; height: 13px; stroke: #d1d5db; fill: none; stroke-width: 2; }

/* SHARE BUTTONS */
.bp-share { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.bp-share-label { font-size: 12px; font-weight: 600; color: #9ca3af; }
.bp-share-btn { width: 32px; height: 32px; border-radius: 8px; border: 1.5px solid #e5e7eb; background: white; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .18s; padding: 0; }
.bp-share-btn:hover { border-color: #3a7d44; background: #c8e6cc; }
.bp-share-btn svg { width: 14px; height: 14px; stroke: #6b7280; fill: none; stroke-width: 2; }
.bp-share-btn:hover svg { stroke: #3a7d44; }

/* ARTICLE BODY */
.bp-body { font-size: 16px; line-height: 1.8; color: #374151; }
.bp-body p { margin-bottom: 20px; }
.bp-body h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 24px; font-weight: 800; color: #111827; margin-top: 48px; margin-bottom: 16px; letter-spacing: -0.01em; padding-top: 8px; border-top: 2px solid #f3f4f6; }
.bp-body h3 { font-size: 19px; font-weight: 700; color: #111827; margin-top: 32px; margin-bottom: 12px; }
.bp-body h4 { font-size: 16px; font-weight: 700; color: #111827; margin-top: 24px; margin-bottom: 8px; }
.bp-body ul { margin-bottom: 20px; padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.bp-body ul li { padding-left: 24px; position: relative; }
.bp-body ul li::before { content: ''; position: absolute; left: 0; top: 10px; width: 6px; height: 6px; border-radius: 50%; background: #3a7d44; }
.bp-body ol { margin-bottom: 20px; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; }
.bp-body a { color: #3a7d44; text-decoration: none; font-weight: 600; border-bottom: 1px solid #d4ecd7; transition: border-color .15s; }
.bp-body a:hover { border-color: #3a7d44; }
.bp-body strong { font-weight: 700; color: #111827; }
.bp-body blockquote { margin: 32px 0; padding: 20px 24px; border-left: 3px solid #3a7d44; background: #f9fafb; border-radius: 0 10px 10px 0; }
.bp-body blockquote p { margin: 0; font-style: italic; color: #374151; }
.bp-body img { max-width: 100%; height: auto; border-radius: 10px; }
.bp-body table { width: 100%; border-collapse: collapse; margin-bottom: 24px; font-size: 14.5px; }
.bp-body table th { background: #111827; color: white; font-weight: 700; padding: 12px 16px; text-align: left; }
.bp-body table td { padding: 11px 16px; border-bottom: 1px solid #f3f4f6; color: #374151; }
.bp-body table tr:last-child td { border-bottom: none; }
.bp-body table tr:nth-child(even) td { background: #f9fafb; }

/* REFERENCE TABLE (custom HTML block) */
.bp-body .post-ref-table { margin: 36px 0; border: 1.5px solid #e5e7eb; border-radius: 14px; overflow: hidden; }
.bp-body .post-ref-table-header { background: #111827; color: white; font-size: 13.5px; font-weight: 700; padding: 14px 20px; }
.bp-body .post-ref-grid { display: grid; grid-template-columns: 1fr 1fr; }
.bp-body .post-ref-cell { padding: 12px 20px; font-size: 14px; color: #374151; border-bottom: 1px solid #f3f4f6; border-right: 1px solid #f3f4f6; line-height: 1.5; }
.bp-body .post-ref-cell:nth-child(even) { border-right: none; }
.bp-body .post-ref-cell:nth-last-child(-n+2) { border-bottom: none; }
.bp-body .post-ref-cell strong { color: #111827; }

/* CALLOUT BLOCK (custom HTML block) */
.bp-body .post-callout { background: #c8e6cc; border-left: 4px solid #3a7d44; border-radius: 0 12px 12px 0; padding: 20px 24px; margin: 32px 0; }
.bp-body .post-callout-title { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #2d6235; margin-bottom: 8px; }
.bp-body .post-callout p { font-size: 15px; color: #374151; line-height: 1.65; margin: 0; }

/* AUTHOR BIO */
.bp-author-bio { margin-top: 48px; padding-top: 32px; border-top: 1px solid #e5e7eb; display: flex; align-items: flex-start; gap: 20px; }
.bp-author-bio-photo { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; border: 2px solid #e5e7eb; flex-shrink: 0; }
.bp-author-bio-label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #9ca3af; margin-bottom: 4px; }
.bp-author-bio-name { font-size: 16px; font-weight: 700; color: #111827; text-decoration: none; display: block; margin-bottom: 4px; transition: color .15s; }
.bp-author-bio-name:hover { color: #3a7d44; }
.bp-author-bio-role { font-size: 13px; color: #6b7280; margin-bottom: 10px; }
.bp-author-bio-text { font-size: 14px; color: #6b7280; line-height: 1.65; margin: 0; }

/* SIDEBAR */
.bp-sidebar { position: sticky; top: 84px; display: flex; flex-direction: column; gap: 24px; }
.bp-toc { background: white; border: 1.5px solid #e5e7eb; border-radius: 16px; padding: 24px; }
.bp-toc-title { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9ca3af; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.bp-toc-title::after { content: ''; flex: 1; height: 1px; background: #f3f4f6; }
.bp-toc-list { list-style: none; display: flex; flex-direction: column; gap: 2px; }
.bp-toc-list li a { display: block; font-size: 13px; font-weight: 500; color: #6b7280; padding: 7px 10px; border-radius: 8px; text-decoration: none; transition: all .15s; line-height: 1.4; }
.bp-toc-list li a:hover, .bp-toc-list li a.active { background: #c8e6cc; color: #2d6235; font-weight: 600; }
.bp-toc-list li a.active { border-left: 3px solid #3a7d44; border-radius: 0 8px 8px 0; }

.bp-sidebar-cta { background: linear-gradient(135deg, #0f1f14 0%, #2d6235 100%); border-radius: 16px; padding: 24px; }
.bp-sidebar-cta-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 10px; }
.bp-sidebar-cta-title { font-size: 17px; font-weight: 800; color: white; line-height: 1.3; margin-bottom: 10px; }
.bp-sidebar-cta-text { font-size: 13px; color: rgba(255,255,255,.65); line-height: 1.65; margin-bottom: 18px; }
.bp-sidebar-cta-btn { display: block; text-align: center; padding: 11px 16px; background: #5aab66; color: white; font-size: 13.5px; font-weight: 700; border-radius: 9px; text-decoration: none; transition: background .18s; margin-bottom: 8px; }
.bp-sidebar-cta-btn:hover { background: #3a7d44; }
.bp-sidebar-cta-btn-outline { display: block; text-align: center; padding: 10px 16px; background: transparent; color: rgba(255,255,255,.7); font-size: 13px; font-weight: 600; border-radius: 9px; text-decoration: none; border: 1.5px solid rgba(255,255,255,.2); transition: all .18s; }
.bp-sidebar-cta-btn-outline:hover { border-color: rgba(255,255,255,.5); color: white; }

/* RELATED POSTS */
.bp-related { background: white; border-top: 1px solid #e5e7eb; padding: 64px 0; }
.bp-related-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.bp-related-title { font-size: 22px; font-weight: 800; color: #111827; margin-bottom: 32px; letter-spacing: -0.01em; }
.bp-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.bp-related-card { border: 1.5px solid #e5e7eb; border-radius: 14px; overflow: hidden; text-decoration: none; transition: all .2s; display: block; }
.bp-related-card:hover { border-color: #3a7d44; box-shadow: 0 6px 24px rgba(58,125,68,.1); transform: translateY(-2px); }
.bp-related-img { height: 160px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.bp-related-img--photo { background: #f3f8f1; }
.bp-related-img--photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.bp-related-img svg { width: 36px; height: 36px; stroke: rgba(255,255,255,.4); fill: none; stroke-width: 1.5; }
.bp-img-green  { background: linear-gradient(135deg, #0f1f14 0%, #3a7d44 100%); }
.bp-img-blue   { background: linear-gradient(135deg, #0c4a6e 0%, #0284c7 100%); }
.bp-img-indigo { background: linear-gradient(135deg, #4c1d95 0%, #7c3aed 100%); }
.bp-img-amber  { background: linear-gradient(135deg, #78350f 0%, #d97706 100%); }
.bp-img-red    { background: linear-gradient(135deg, #7f1d1d 0%, #dc2626 100%); }
.bp-related-body { padding: 18px 20px 20px; }
.bp-related-tag { font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 20px; display: inline-block; margin-bottom: 8px; }
.bp-related-card-title { font-size: 14.5px; font-weight: 700; color: #111827; line-height: 1.4; margin-bottom: 10px; }
.bp-related-meta { font-size: 12px; color: #9ca3af; }

/* ARTICLE CTA */
.bp-article-cta { background: linear-gradient(135deg, #0f1f14 0%, #2d6235 100%); padding: 64px 0; text-align: center; }
.bp-article-cta-inner { max-width: 640px; margin: 0 auto; padding: 0 40px; }
.bp-article-cta h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 30px; font-weight: 900; color: white; letter-spacing: -0.02em; margin-bottom: 12px; }
.bp-article-cta p { font-size: 15px; color: rgba(255,255,255,.65); line-height: 1.65; margin-bottom: 28px; }
.bp-article-cta-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.bp-cta-btn-primary { padding: 13px 28px; background: #5aab66; color: white; font-size: 14.5px; font-weight: 700; border-radius: 9px; text-decoration: none; transition: background .18s; }
.bp-cta-btn-primary:hover { background: #3a7d44; }
.bp-cta-btn-secondary { padding: 13px 28px; background: transparent; color: rgba(255,255,255,.8); font-size: 14.5px; font-weight: 600; border-radius: 9px; text-decoration: none; border: 1.5px solid rgba(255,255,255,.25); transition: all .18s; }
.bp-cta-btn-secondary:hover { border-color: rgba(255,255,255,.6); color: white; }

/* RESPONSIVE */
@media (max-width: 900px) {
  .bp-layout { grid-template-columns: 1fr; gap: 40px; padding: 32px 20px 60px; }
  .bp-sidebar { position: static; }
  .bp-share { margin-left: 0; }
  .bp-related-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .bp-breadcrumb-inner { padding: 12px 20px; }
  .bp-meta { gap: 8px; }
  .bp-related { padding: 48px 0; }
  .bp-related-inner { padding: 0 20px; }
  .bp-article-cta { padding: 48px 0; }
  .bp-article-cta-inner { padding: 0 20px; }
  .bp-article-cta h2 { font-size: 24px; }
  .bp-body .post-ref-grid { grid-template-columns: 1fr; }
  .bp-body .post-ref-cell { border-right: none; }
}

/* ═══════════════════════════════════════════════
   AUTHOR PAGE  (author.php — /author/{slug}/)
   ═══════════════════════════════════════════════ */

/* HERO */
.au-hero { background: linear-gradient(135deg, #0f1f14 0%, #0f1f14 60%, #2d6235 100%); padding: 64px 0; }
.au-hero-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; display: flex; align-items: center; gap: 48px; }
.au-photo-wrap { flex-shrink: 0; }
.au-photo { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; border: 4px solid rgba(90,171,102,.4); display: block; }
.au-photo-placeholder { width: 120px; height: 120px; border-radius: 50%; background: rgba(90,171,102,.2); border: 4px solid rgba(90,171,102,.4); display: flex; align-items: center; justify-content: center; }
.au-photo-placeholder svg { width: 52px; height: 52px; stroke: rgba(90,171,102,.6); fill: none; stroke-width: 1.5; }
.au-hero-body { flex: 1; }
.au-role-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 5px 12px; border-radius: 20px; background: rgba(90,171,102,.2); color: #5aab66; border: 1px solid rgba(90,171,102,.3); margin-bottom: 16px; }
.au-role-badge svg { width: 12px; height: 12px; stroke: currentColor; fill: none; stroke-width: 2; }
.au-hero-name { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(28px, 4vw, 42px); font-weight: 900; color: white; letter-spacing: -0.025em; margin-bottom: 8px; }
.au-hero-title { font-size: 16px; color: rgba(255,255,255,.55); margin-bottom: 20px; }
.au-hero-bio { font-size: 15px; color: rgba(255,255,255,.65); line-height: 1.75; max-width: 640px; margin-bottom: 28px; }
.au-hero-stats { display: flex; gap: 32px; flex-wrap: wrap; margin-bottom: 28px; }
.au-hero-stat-num { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 24px; font-weight: 900; color: #5aab66; letter-spacing: -0.02em; }
.au-hero-stat-label { font-size: 12px; color: rgba(255,255,255,.4); margin-top: 2px; }
.au-hero-socials { display: flex; gap: 10px; flex-wrap: wrap; }
.au-social-btn { display: flex; align-items: center; gap: 7px; padding: 8px 16px; border-radius: 8px; border: 1.5px solid rgba(255,255,255,.15); font-size: 13px; font-weight: 600; color: rgba(255,255,255,.7); text-decoration: none; transition: all .18s; }
.au-social-btn:hover { border-color: rgba(255,255,255,.4); color: white; }
.au-social-btn svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2; flex-shrink: 0; }

/* BREADCRUMB */
.au-breadcrumb { background: white; border-bottom: 1px solid #f3f4f6; }
.au-breadcrumb-inner { max-width: 1200px; margin: 0 auto; padding: 12px 40px; display: flex; align-items: center; gap: 8px; font-size: 13px; color: #9ca3af; }
.au-breadcrumb-inner a { color: #6b7280; text-decoration: none; transition: color .15s; }
.au-breadcrumb-inner a:hover { color: #3a7d44; }
.au-breadcrumb-inner svg { width: 12px; height: 12px; stroke: #d1d5db; fill: none; stroke-width: 2; flex-shrink: 0; }
.au-breadcrumb-inner span { color: #374151; font-weight: 500; }

/* EXPERTISE STRIP */
.au-expertise { background: white; border-bottom: 1px solid #e5e7eb; padding: 20px 0; }
.au-expertise-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.au-expertise-label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #9ca3af; margin-right: 4px; flex-shrink: 0; }
.au-expertise-tag { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; font-weight: 600; padding: 5px 12px; border-radius: 20px; background: #c8e6cc; color: #2d6235; border: 1px solid #c6e6cb; }
.au-expertise-tag svg { width: 12px; height: 12px; stroke: currentColor; fill: none; stroke-width: 2; }

/* PAGE LAYOUT */
.au-layout { max-width: 1200px; margin: 0 auto; padding: 56px 40px 80px; display: grid; grid-template-columns: 1fr 300px; gap: 64px; align-items: start; }

/* SECTION TITLE */
.au-section-title { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9ca3af; margin-bottom: 24px; display: flex; align-items: center; gap: 12px; }
.au-section-title::after { content: ''; flex: 1; height: 1px; background: #e5e7eb; }

/* FILTER BUTTONS */
.au-filter { display: flex; gap: 8px; margin-bottom: 32px; flex-wrap: wrap; }
.au-filter-btn { font-size: 13px; font-weight: 600; padding: 7px 16px; border-radius: 20px; border: 1.5px solid #e5e7eb; background: white; color: #6b7280; cursor: pointer; transition: all .15s; font-family: 'Inter', sans-serif; }
.au-filter-btn:hover, .au-filter-btn.active { background: #c8e6cc; border-color: #3a7d44; color: #2d6235; }

/* ARTICLE CARD */
.au-card { display: flex; gap: 20px; padding: 24px 0; border-bottom: 1px solid #f3f4f6; text-decoration: none; transition: all .15s; }
.au-card:last-child { border-bottom: none; }
.au-card:hover .au-card-title { color: #3a7d44; }
.au-card-img { width: 88px; height: 88px; border-radius: 12px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.au-card-img svg { width: 28px; height: 28px; stroke: rgba(255,255,255,.5); fill: none; stroke-width: 1.5; }
.au-card-body { flex: 1; min-width: 0; }
.au-card-meta { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; flex-wrap: wrap; }
.au-card-tag { font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 20px; display: inline-block; }
.au-card-type { font-size: 11px; font-weight: 600; color: #9ca3af; }
.au-card-date { font-size: 11px; color: #9ca3af; }
.au-card-title { font-size: 16px; font-weight: 700; color: #111827; line-height: 1.4; margin-bottom: 8px; transition: color .15s; }
.au-card-excerpt { font-size: 13.5px; color: #6b7280; line-height: 1.6; }
.au-card-read { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; font-weight: 600; color: #3a7d44; margin-top: 10px; }
.au-card-read svg { width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 2.5; }

/* CARD IMAGE GRADIENTS */
.au-img-green  { background: linear-gradient(135deg, #0f1f14 0%, #3a7d44 100%); }
.au-img-blue   { background: linear-gradient(135deg, #0c4a6e 0%, #0284c7 100%); }
.au-img-indigo { background: linear-gradient(135deg, #4c1d95 0%, #7c3aed 100%); }
.au-img-amber  { background: linear-gradient(135deg, #78350f 0%, #d97706 100%); }
.au-img-red    { background: linear-gradient(135deg, #7f1d1d 0%, #dc2626 100%); }
.au-img-pink   { background: linear-gradient(135deg, #831843 0%, #db2777 100%); }

/* CARD TAG COLOURS */
.au-tag-green  { background: #c8e6cc; color: #2d6235; }
.au-tag-blue   { background: #e0f2fe; color: #0369a1; }
.au-tag-indigo { background: #ede9fe; color: #6d28d9; }
.au-tag-amber  { background: #fef3c7; color: #b45309; }
.au-tag-red    { background: #fee2e2; color: #b91c1c; }

/* SIDEBAR */
.au-sidebar { position: sticky; top: 84px; display: flex; flex-direction: column; gap: 24px; }
.au-sidebar-card { background: white; border: 1.5px solid #e5e7eb; border-radius: 16px; padding: 24px; }
.au-sidebar-card-title { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9ca3af; margin-bottom: 16px; }
.au-topics { display: flex; flex-wrap: wrap; gap: 8px; }
.au-topic { font-size: 12.5px; font-weight: 600; padding: 6px 12px; border-radius: 20px; background: #f3f4f6; color: #374151; text-decoration: none; transition: all .15s; }
.au-topic:hover { background: #c8e6cc; color: #2d6235; }
.au-contact-item { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid #f3f4f6; font-size: 13.5px; color: #374151; text-decoration: none; transition: color .15s; }
.au-contact-item:last-child { border-bottom: none; padding-bottom: 0; }
.au-contact-item:hover { color: #3a7d44; }
.au-contact-icon { width: 32px; height: 32px; border-radius: 8px; background: #c8e6cc; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.au-contact-icon svg { width: 15px; height: 15px; stroke: #3a7d44; fill: none; stroke-width: 2; }
.au-sidebar-cta { background: linear-gradient(135deg, #0f1f14 0%, #2d6235 100%); border-radius: 16px; padding: 24px; }
.au-sidebar-cta-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 10px; }
.au-sidebar-cta-title { font-size: 17px; font-weight: 800; color: white; line-height: 1.3; margin-bottom: 10px; }
.au-sidebar-cta-text { font-size: 13px; color: rgba(255,255,255,.65); line-height: 1.65; margin-bottom: 18px; }
.au-sidebar-cta-btn { display: block; text-align: center; padding: 11px 16px; background: #5aab66; color: white; font-size: 13.5px; font-weight: 700; border-radius: 9px; text-decoration: none; transition: background .18s; }
.au-sidebar-cta-btn:hover { background: #3a7d44; }

/* RESPONSIVE */
@media (max-width: 900px) {
  .au-layout { grid-template-columns: 1fr; gap: 40px; padding: 32px 20px 60px; }
  .au-sidebar { position: static; }
  .au-hero-inner { flex-direction: column; align-items: flex-start; gap: 24px; }
}
@media (max-width: 768px) {
  .au-hero { padding: 40px 0; }
  .au-hero-inner { padding: 0 20px; }
  .au-expertise { padding: 16px 0; }
  .au-expertise-inner { padding: 0 20px; }
  .au-breadcrumb-inner { padding: 12px 20px; }
  .au-card-img { width: 72px; height: 72px; }
}

/* ══════════════════════════════════════════════════════════════
   PRICING PAGE
══════════════════════════════════════════════════════════════ */

/* HERO */
.pricing-hero { background: linear-gradient(160deg, #0f1f14 0%, #2d6235 60%, #3a7d44 100%); padding: 72px 0 56px; text-align: center; position: relative; overflow: hidden; }
.pricing-hero::before { content: ''; position: absolute; top: -80px; right: -80px; width: 400px; height: 400px; border-radius: 50%; background: rgba(255,255,255,.04); pointer-events: none; }
.pricing-hero::after  { content: ''; position: absolute; bottom: -60px; left: -60px; width: 300px; height: 300px; border-radius: 50%; background: rgba(255,255,255,.03); pointer-events: none; }
.pricing-hero-eyebrow { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); border-radius: 20px; padding: 5px 14px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #86efac; margin-bottom: 20px; }
.pricing-hero h1 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(32px, 4.5vw, 52px); font-weight: 800; color: #fff; letter-spacing: -0.03em; line-height: 1.1; margin-bottom: 16px; }
.pricing-hero p { font-size: 17px; color: rgba(255,255,255,.75); max-width: 560px; margin: 0 auto 36px; line-height: 1.65; }
.pricing-trust-row { display: flex; align-items: center; justify-content: center; gap: 32px; flex-wrap: wrap; }
.pricing-trust-item { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: rgba(255,255,255,.75); }
.pricing-trust-item svg { width: 16px; height: 16px; stroke: #86efac; fill: none; stroke-width: 2; flex-shrink: 0; }

/* MAIN WRAPPER */
.pricing-main { padding: 56px 0; background: #ffffff; }
.pricing-main-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }

/* BILLING TOGGLE */
.billing-toggle-wrap { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 48px; flex-wrap: wrap; }
.billing-label { font-size: 15px; font-weight: 600; color: #6b7280; transition: color .2s; }
.billing-label.active { color: #111827; }
.billing-toggle-track { width: 52px; height: 28px; border-radius: 14px; background: #d1d5db; cursor: pointer; position: relative; transition: background .25s; border: none; outline: none; flex-shrink: 0; }
.billing-toggle-track.annual { background: #3a7d44; }
.billing-toggle-thumb { position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.2); transition: transform .25s; pointer-events: none; }
.billing-toggle-track.annual .billing-toggle-thumb { transform: translateX(24px); }
.billing-save-badge { background: #dcfce7; color: #166534; font-size: 11.5px; font-weight: 700; padding: 3px 10px; border-radius: 20px; letter-spacing: .04em; }

/* VOLUME SLIDER CARD */
.volume-slider-card { background: #fff; border-radius: 20px; border: 1px solid #e5e7eb; box-shadow: 0 4px 24px rgba(0,0,0,.06); padding: 40px 48px; margin-bottom: 48px; }
.volume-slider-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 32px; flex-wrap: wrap; }
.volume-slider-heading { font-size: 18px; font-weight: 800; color: #111827; margin-bottom: 4px; }
.volume-slider-sub { font-size: 14px; color: #6b7280; }
.volume-price-display { text-align: right; }
.volume-price-amount { display: flex; align-items: flex-start; justify-content: flex-end; gap: 2px; line-height: 1; }
.volume-price-currency { font-size: 22px; font-weight: 700; color: #111827; margin-top: 6px; }
.volume-price-num { font-size: 56px; font-weight: 800; color: #111827; letter-spacing: -0.04em; line-height: 1; }
.volume-price-period { font-size: 13px; color: #9ca3af; margin-top: 4px; text-align: right; }
.volume-price-saving { font-size: 12px; font-weight: 700; color: #16a34a; background: #dcfce7; padding: 2px 8px; border-radius: 10px; display: inline-block; margin-top: 6px; }
.volume-slider-track { position: relative; margin-bottom: 8px; }
input[type=range].volume-range { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 3px; background: #e5e7eb; outline: none; cursor: pointer; }
input[type=range].volume-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 24px; height: 24px; border-radius: 50%; background: #3a7d44; border: 3px solid #fff; box-shadow: 0 2px 8px rgba(58,125,68,.35); cursor: pointer; transition: transform .15s; }
input[type=range].volume-range::-webkit-slider-thumb:hover { transform: scale(1.15); }
input[type=range].volume-range::-moz-range-thumb { width: 24px; height: 24px; border-radius: 50%; background: #3a7d44; border: 3px solid #fff; box-shadow: 0 2px 8px rgba(58,125,68,.35); cursor: pointer; }
.volume-slider-labels { display: flex; justify-content: space-between; font-size: 11px; color: #9ca3af; margin-top: 8px; }
.volume-plan-name { font-size: 14px; font-weight: 700; color: #3a7d44; margin-top: 20px; }
.volume-features { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.volume-feature-tag { display: flex; align-items: center; gap: 5px; font-size: 12.5px; color: #374151; background: #c8e6cc; border: 1px solid #d1fae5; border-radius: 20px; padding: 4px 10px; }
.volume-feature-tag svg { width: 12px; height: 12px; stroke: #16a34a; fill: none; stroke-width: 2.5; flex-shrink: 0; }
.volume-cta-row { display: flex; align-items: center; gap: 16px; margin-top: 28px; flex-wrap: wrap; }
.volume-cta-btn { display: inline-flex; align-items: center; gap: 8px; background: #3a7d44; color: #fff; font-size: 15px; font-weight: 700; padding: 13px 28px; border-radius: 10px; transition: background .15s; text-decoration: none; }
.volume-cta-btn:hover { background: #2d6235; }
.volume-demo-link { font-size: 14px; font-weight: 600; color: #3a7d44; text-decoration: underline; text-underline-offset: 3px; }

/* PLAN CARDS */
.plan-cards-heading { font-size: 22px; font-weight: 800; color: #111827; margin-bottom: 8px; letter-spacing: -0.02em; }
.plan-cards-sub { font-size: 14px; color: #6b7280; margin-bottom: 28px; }
.plan-cards-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.plan-card { background: #fff; border-radius: 16px; border: 1.5px solid #e5e7eb; padding: 28px 24px; position: relative; transition: box-shadow .2s, border-color .2s; }
.plan-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,.08); border-color: #c6e8cc; }
.plan-card.featured { border-color: #3a7d44; box-shadow: 0 8px 40px rgba(58,125,68,.15); }
.plan-badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: #3a7d44; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 4px 14px; border-radius: 20px; white-space: nowrap; }
.plan-name { font-size: 16px; font-weight: 800; color: #111827; margin-bottom: 4px; }
.plan-volume { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #3a7d44; margin-bottom: 16px; }
.plan-price { font-size: 36px; font-weight: 800; color: #111827; letter-spacing: -0.03em; line-height: 1; margin-bottom: 4px; }
.plan-price span { font-size: 16px; font-weight: 500; color: #6b7280; }
.plan-price-note { font-size: 12px; color: #9ca3af; margin-bottom: 20px; }
.plan-cta { display: block; text-align: center; background: #3a7d44; color: #fff; font-size: 14px; font-weight: 700; padding: 11px 20px; border-radius: 9px; margin-bottom: 20px; transition: background .15s; text-decoration: none; }
.plan-cta:hover { background: #2d6235; }
.plan-divider { height: 1px; background: #f3f4f6; margin-bottom: 16px; }
.plan-features { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 9px; }
.plan-features li { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #374151; }
.plan-features li svg { width: 14px; height: 14px; stroke: #16a34a; fill: none; stroke-width: 2.5; flex-shrink: 0; margin-top: 2px; }
.plan-features li.plan-feat-off { color: #9ca3af; }
.plan-features li.plan-feat-off svg { stroke: #d1d5db; }
.plan-annual-note { font-size: 11.5px; color: #6b7280; text-align: center; margin-top: 24px; }

/* ============================================================
   EIN COMPANY LOOKUP PAGES  (template-ein-company.php)
   ============================================================ */

/* HERO */
.co-hero { background:#c8e6cc; min-height:420px; display:flex; align-items:center; position:relative; overflow:hidden; padding:72px 0; }
.co-hero::before { content:''; position:absolute; top:-120px; left:-120px; width:500px; height:500px; border-radius:50%; background:rgba(58,125,68,.08); pointer-events:none; }
.co-hero::after  { content:''; position:absolute; bottom:-80px; right:-80px; width:400px; height:400px; border-radius:50%; background:rgba(58,125,68,.06); pointer-events:none; }
.co-hero-inner { max-width:1200px; margin:0 auto; padding:0 40px; width:100%; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; position:relative; z-index:1; }
.co-hero-eyebrow { display:inline-flex; align-items:center; gap:8px; background:rgba(58,125,68,.12); color:#2d6235; font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:6px 14px; border-radius:20px; width:fit-content; margin-bottom:16px; }
.co-hero-eyebrow-dot { width:7px; height:7px; border-radius:50%; background:#3a7d44; }
.co-hero-headline { font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(34px,4vw,52px); font-weight:900; line-height:1.1; color:#111827; letter-spacing:-.02em; margin-bottom:20px; }
.co-hero-headline span { color:#2d6235; }
.co-hero-sub { font-size:16px; line-height:1.65; color:#3d5c42; max-width:480px; margin-bottom:32px; }
.co-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.co-hero-right { display:flex; align-items:center; justify-content:center; }

/* Company logo card */
.co-logo-card { background:#fff; border-radius:20px; box-shadow:0 20px 60px rgba(0,0,0,.12),0 4px 16px rgba(0,0,0,.06); padding:36px 40px; width:100%; max-width:420px; display:flex; flex-direction:column; align-items:center; gap:20px; }
.co-logo-placeholder { width:80px; height:80px; border-radius:20px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.co-logo-placeholder span { font-family:'Plus Jakarta Sans',sans-serif; font-size:20px; font-weight:900; color:#fff; letter-spacing:-1px; text-align:center; line-height:1.2; }
.co-logo-img { width:80px; height:80px; border-radius:20px; object-fit:contain; border:1px solid #e5e7eb; padding:8px; background:#fff; }
.co-company-name { font-family:'Plus Jakarta Sans',sans-serif; font-size:22px; font-weight:800; color:#111827; text-align:center; }
.co-ein-display { background:#c8e6cc; border:1.5px solid rgba(58,125,68,.2); border-radius:12px; padding:16px 24px; width:100%; text-align:center; }
.co-ein-label { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#3a7d44; margin-bottom:6px; }
.co-ein-number { font-family:'Plus Jakarta Sans',sans-serif; font-size:24px; font-weight:900; color:#2d6235; letter-spacing:.05em; }
.co-ein-note { font-size:11px; color:#9ca3af; margin-top:4px; }
.co-verified-badge { display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; color:#2d6235; }
.co-verified-badge svg { width:16px; height:16px; stroke:#3a7d44; fill:none; stroke-width:2.5; }

/* MAIN CONTENT LAYOUT */
.co-content-bg { background:#fff; overflow-x:hidden; }
.co-content-wrap { max-width:1200px; margin:0 auto; padding:64px 40px; display:grid; grid-template-columns:1fr 360px; gap:48px; align-items:start; }
.co-profile-section { display:flex; flex-direction:column; gap:40px; min-width:0; }
.co-sidebar { display:flex; flex-direction:column; gap:24px; min-width:0; }
.co-content-body { font-size:15px; color:#6b7280; line-height:1.75; }
.co-content-body p { margin-bottom:14px; }
.co-content-body p:last-child { margin-bottom:0; }

/* DATA TABLE */
.co-data-table-wrap { margin-top:8px; overflow-x:auto; min-width:0; }
.co-data-table { width:100%; border-collapse:collapse; font-size:14px; }
.co-data-table th { background:#3a7d44; color:#fff; padding:12px 18px; text-align:left; font-weight:700; font-size:12.5px; letter-spacing:.04em; }
.co-data-table th:first-child { border-radius:10px 0 0 0; }
.co-data-table th:last-child  { border-radius:0 10px 0 0; }
.co-data-table td { padding:12px 18px; border-bottom:1px solid #f3f4f6; color:#374151; vertical-align:top; }
.co-data-table tr:last-child td { border-bottom:none; }
.co-data-table tr:nth-child(even) td { background:#f9fafb; }
.co-data-table td:first-child { font-weight:600; color:#6b7280; width:44%; }
.co-data-table td:last-child  { color:#111827; font-weight:500; }

/* EIN REVEAL CARD */
.co-ein-reveal-card { background:#fff; border:1.5px solid #e5e7eb; border-radius:16px; padding:28px 24px; margin-top:8px; }
.co-ein-reveal-row { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.co-ein-reveal-num { font-family:'Plus Jakarta Sans',sans-serif; font-size:32px; font-weight:900; color:#111827; letter-spacing:.06em; word-break:break-all; }
.co-ein-reveal-num .redacted { color:#d1d5db; }
.co-ein-reveal-badge { display:inline-flex; align-items:center; gap:6px; background:#c8e6cc; color:#2d6235; font-size:12px; font-weight:700; padding:6px 14px; border-radius:20px; white-space:nowrap; }
.co-ein-reveal-badge svg { width:13px; height:13px; stroke:#3a7d44; fill:none; stroke-width:2.5; }
.co-ein-reveal-note { font-size:12.5px; color:#9ca3af; margin-top:10px; }
.co-ein-cta-row { margin-top:20px; display:flex; gap:10px; flex-wrap:wrap; }

/* ASSISTANCE CARD */
.co-assist-card { background:#c8e6cc; border:1.5px solid rgba(58,125,68,.2); border-radius:16px; padding:28px 32px; }
.co-assist-card-title { font-size:15px; font-weight:700; color:#2d6235; margin-bottom:10px; }
.co-assist-card p { font-size:14px; color:#3d5c42; line-height:1.7; margin-bottom:16px; }
.co-assist-card a.phone-link { color:#2d6235; font-weight:600; }

/* SIDEBAR */
.co-sidebar-card { background:#fff; border-radius:16px; padding:24px; border:1.5px solid #e5e7eb; box-shadow:0 2px 12px rgba(0,0,0,.04); }
.co-sidebar-card-title { font-size:13px; font-weight:700; color:#111827; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid #f3f4f6; }
.co-sidebar-stat-list { display:flex; flex-direction:column; gap:14px; }
.co-sidebar-stat-row { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.co-sidebar-stat-label { font-size:13px; color:#6b7280; }
.co-sidebar-stat-value { font-size:13px; font-weight:700; color:#111827; text-align:right; }
.co-sidebar-stat-value.verified { color:#3a7d44; display:flex; align-items:center; gap:5px; }
.co-sidebar-stat-value.verified svg { width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2.5; flex-shrink:0; }
.co-sidebar-cta { background:#3a7d44; border-radius:16px; padding:24px; }
.co-sidebar-cta h3 { font-family:'Plus Jakarta Sans',sans-serif; font-size:18px; font-weight:800; color:#fff; margin-bottom:10px; line-height:1.25; }
.co-sidebar-cta p { font-size:13px; color:rgba(255,255,255,.8); line-height:1.65; margin-bottom:20px; }
.co-sidebar-cta .btn-white { display:block; text-align:center; }
.co-sidebar-trust-list { display:flex; flex-direction:column; gap:10px; margin-top:14px; }
.co-sidebar-trust-item { display:flex; align-items:center; gap:8px; font-size:12px; color:rgba(255,255,255,.75); }
.co-sidebar-trust-item svg { width:14px; height:14px; stroke:rgba(255,255,255,.7); fill:none; stroke-width:2; flex-shrink:0; }
.co-related-link { display:flex; align-items:center; justify-content:space-between; padding:10px 12px; background:#f9fafb; border-radius:8px; text-decoration:none; font-size:13px; font-weight:600; color:#374151; transition:background .15s; }
.co-related-link:hover { background:#c8e6cc; color:#2d6235; }
.co-related-link svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2.5; flex-shrink:0; }
.co-related-list { display:flex; flex-direction:column; gap:8px; }

/* MID CTA — 2-col (company pages) */
.co-mid-cta { background:#3a7d44; padding:72px 0; }
.co-mid-cta-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1fr auto; gap:48px; align-items:center; }
.co-mid-cta h2 { font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(28px,3vw,40px); font-weight:900; color:#fff; line-height:1.15; letter-spacing:-.02em; margin-bottom:12px; }
.co-mid-cta p { font-size:16px; color:rgba(255,255,255,.8); line-height:1.65; max-width:560px; }
.co-mid-cta-btns { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.co-mid-cta-right { display:flex; flex-direction:column; gap:12px; }
.co-mid-cta-trust { display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.1); border-radius:12px; padding:14px 18px; }
.co-mid-cta-trust svg { width:20px; height:20px; stroke:rgba(255,255,255,.8); fill:none; stroke-width:1.8; flex-shrink:0; }
.co-mid-cta-trust span { font-size:13px; color:rgba(255,255,255,.85); font-weight:500; }

/* RESPONSIVE */
@media (max-width:900px) {
  .co-hero { padding:56px 0 64px; }
  .co-hero-inner { padding:0 28px; }
  .co-content-wrap { padding:48px 28px; grid-template-columns:1fr 300px; }
  .co-mid-cta { padding:56px 0; }
  .co-mid-cta-inner { padding:0 28px; }
}
@media (max-width:768px) {
  .co-hero { padding:48px 0 56px; min-height:auto; }
  .co-hero-inner { grid-template-columns:1fr; gap:40px; padding:0 20px; }
  .co-hero-right { display:none; }
  .co-content-wrap { padding:40px 20px; grid-template-columns:1fr; }
  .co-sidebar { order:-1; }
  .co-mid-cta { padding:48px 0; }
  .co-mid-cta-inner { grid-template-columns:1fr; padding:0 20px; }
  .co-mid-cta-right { display:none; }
}
@media (max-width:480px) {
  .co-hero { padding:36px 0 44px; }
  .co-hero-inner { padding:0 16px; }
  .co-logo-card { padding:24px 20px; }
  .co-company-name { font-size:22px; }
  .co-ein-display { flex-direction:column; align-items:flex-start; gap:12px; }
  .co-ein-reveal-card { padding:20px 16px; }
  .co-ein-reveal-num { font-size:26px; }
  .co-ein-cta-row { flex-direction:column; }
  .co-ein-cta-row .btn-primary, .co-ein-cta-row .btn-outline { width:100%; justify-content:center; }
  .co-data-table td, .co-data-table th { padding:10px 12px; font-size:13px; }
  .co-assist-card { padding:24px 20px; }
  .co-mid-cta { padding:36px 0; }
  .co-mid-cta-inner { padding:0 16px; }
  .co-mid-cta h2 { font-size:26px; }
}

/* ============================================================
   EIN STATE LOOKUP PAGES  (template-ein-state.php)
   ============================================================ */

/* HERO */
.loc-hero { background:#c8e6cc; display:flex; align-items:center; position:relative; overflow:hidden; padding:72px 0; }
.loc-hero::before { content:''; position:absolute; top:-120px; left:-120px; width:500px; height:500px; border-radius:50%; background:rgba(58,125,68,.08); pointer-events:none; }
.loc-hero::after  { content:''; position:absolute; bottom:-80px; right:-80px; width:400px; height:400px; border-radius:50%; background:rgba(58,125,68,.06); pointer-events:none; }
.loc-hero-inner { max-width:1200px; margin:0 auto; padding:0 40px; width:100%; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; position:relative; z-index:1; }
.loc-hero-eyebrow { display:inline-flex; align-items:center; gap:8px; background:rgba(58,125,68,.12); color:#2d6235; font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:6px 14px; border-radius:20px; width:fit-content; margin-bottom:16px; }
.loc-hero-eyebrow-dot { width:7px; height:7px; border-radius:50%; background:#3a7d44; }
.loc-hero-headline { font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(34px,4vw,52px); font-weight:900; line-height:1.1; color:#111827; letter-spacing:-.02em; margin-bottom:20px; }
.loc-hero-headline span { color:#2d6235; }
.loc-hero-sub { font-size:16px; line-height:1.65; color:#3d5c42; max-width:480px; margin-bottom:32px; }
.loc-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.loc-hero-map { display:flex; align-items:center; justify-content:center; }
.loc-map-wrap { position:relative; width:100%; max-width:460px; }
.loc-map-wrap svg { width:100%; height:auto; filter:drop-shadow(0 12px 40px rgba(58,125,68,.18)); }

/* CONTENT SECTIONS */
.state-section { background:#fff; padding:72px 0; }
.state-section.alt { background:#f9fafb; }
.state-section-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.state-section-sub { font-size:16px; color:#6b7280; line-height:1.7; max-width:720px; margin-bottom:40px; }

/* TWO-COLUMN */
.state-two-col { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.state-two-col > * { min-width:0; }
.state-body { font-size:15px; color:#6b7280; line-height:1.75; }
.state-body p { margin-bottom:16px; }
.state-body p:last-child { margin-bottom:0; }
.state-body strong { color:#374151; }

/* BULLET LIST */
.state-bullets { list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; margin-top:20px; }
.state-bullets li { display:flex; align-items:flex-start; gap:10px; font-size:14px; color:#374151; line-height:1.55; }
.state-bullet-dot { width:8px; height:8px; border-radius:50%; background:#3a7d44; flex-shrink:0; margin-top:5px; }
.state-bullet-dot.muted { background:#d1d5db; }

/* INFO CARD */
.state-info-card { background:#c8e6cc; border:1.5px solid rgba(58,125,68,.2); border-radius:16px; padding:28px 32px; margin-top:28px; }
.state-info-card-title { font-size:15px; font-weight:700; color:#2d6235; margin-bottom:12px; display:flex; align-items:center; gap:10px; }
.state-info-card-title svg { width:18px; height:18px; stroke:#3a7d44; fill:none; stroke-width:2; flex-shrink:0; }
.state-info-card p { font-size:14px; color:#3d5c42; line-height:1.7; }

/* SIDE CARD */
.state-side-card {
    background: #fff;
    border-radius: 20px;
    padding: 32px 28px;
    box-shadow: 0 20px 60px rgba(0,0,0,.08);
    border: 1px solid #e5e7eb;
    position: sticky;
    top: 80px;
}
.state-side-card-label { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#9ca3af; margin-bottom:20px; }
.state-side-card-list { display:flex; flex-direction:column; gap:22px; }
.state-side-card-item { display:flex; align-items:flex-start; gap:12px; }
.state-side-card-icon { width:36px; height:36px; border-radius:10px; background:#c8e6cc; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.state-side-card-icon svg { width:18px; height:18px; stroke:#3a7d44; fill:none; stroke-width:1.8; }
.state-side-card-item-title { font-size:13px; font-weight:700; color:#111827; margin-bottom:2px; }
.state-side-card-item-desc  { font-size:12px; color:#6b7280; line-height:1.5; }

/* COMPARE TABLE (state-flavour — green header, simple rows) */
.state-compare-wrap { overflow-x:auto; margin-top:32px; }
.state-compare-table { width:100%; border-collapse:collapse; font-size:14px; }
.state-compare-table th { background:#3a7d44; color:#fff; padding:14px 20px; text-align:left; font-weight:700; font-size:13px; letter-spacing:.03em; }
.state-compare-table th:first-child { border-radius:10px 0 0 0; }
.state-compare-table th:last-child  { border-radius:0 10px 0 0; }
.state-compare-table td { padding:13px 20px; border-bottom:1px solid #f3f4f6; color:#374151; vertical-align:top; }
.state-compare-table tr:last-child td { border-bottom:none; }
.state-compare-table tr:nth-child(even) td { background:#f9fafb; }
.state-compare-table td:first-child { font-weight:600; color:#111827; }

/* STEPS */
.state-steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:40px; }
.state-step-card { background:#fff; border-radius:16px; padding:28px 24px; border:1.5px solid #e5e7eb; }
.state-step-num { font-family:'Plus Jakarta Sans',sans-serif; font-size:48px; font-weight:900; color:#c8e6cc; line-height:1; margin-bottom:12px; }
.state-step-title { font-size:16px; font-weight:700; color:#111827; margin-bottom:8px; }
.state-step-desc { font-size:13.5px; color:#6b7280; line-height:1.65; }

/* WHO NEEDS */
.state-who-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:32px; }
.state-who-card { background:#fff; border-radius:16px; padding:28px 24px; border:1.5px solid #e5e7eb; }
.state-who-card-title { font-size:15px; font-weight:700; color:#111827; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid #f3f4f6; }
.state-who-card-title.required { color:#2d6235; }
.state-who-card-title.optional { color:#6b7280; }
.state-who-note { margin-top:24px; padding:20px; background:#f9fafb; border-radius:12px; border:1px solid #e5e7eb; }
.state-who-note-title { font-size:13px; font-weight:700; color:#374151; margin-bottom:8px; }
.state-who-note p { font-size:13px; color:#6b7280; line-height:1.65; }

/* MID CTA — 2-column split (distinct from the centred .mid-cta in main.css) */
.state-mid-cta { background:#3a7d44; padding:72px 0; }
.state-mid-cta-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1fr auto; gap:48px; align-items:center; }
.state-mid-cta h2 { font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(28px,3vw,40px); font-weight:900; color:#fff; line-height:1.15; letter-spacing:-.02em; margin-bottom:12px; }
.state-mid-cta p { font-size:16px; color:rgba(255,255,255,.8); line-height:1.65; max-width:560px; }
.state-mid-cta-btns { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.btn-white { display:inline-flex; align-items:center; gap:8px; background:#fff; color:#2d6235; font-size:14px; font-weight:700; padding:13px 24px; border-radius:8px; text-decoration:none; transition:background .18s; }
.btn-white:hover { background:#c8e6cc; }
.btn-ghost { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.12); color:#fff; font-size:14px; font-weight:600; padding:13px 24px; border-radius:8px; text-decoration:none; border:1.5px solid rgba(255,255,255,.3); transition:background .18s; }
.btn-ghost:hover { background:rgba(255,255,255,.22); }
.state-mid-cta-right { display:flex; flex-direction:column; gap:12px; }
.state-mid-cta-trust { display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.1); border-radius:12px; padding:14px 18px; }
.state-mid-cta-trust svg { width:20px; height:20px; stroke:rgba(255,255,255,.8); fill:none; stroke-width:1.8; flex-shrink:0; }
.state-mid-cta-trust span { font-size:13px; color:rgba(255,255,255,.85); font-weight:500; }

/* RESPONSIVE */
@media (max-width:900px) {
  .loc-hero { padding:56px 0 64px; }
  .loc-hero-inner { padding:0 28px; }
  .loc-hero-inner { gap:40px; }
  .state-section { padding:56px 0; }
  .state-section-inner { padding:0 28px; }
  .state-two-col { gap:40px; }
  .state-steps-grid { grid-template-columns:repeat(2,1fr); }
  .state-mid-cta { padding:56px 0; }
  .state-mid-cta-inner { padding:0 28px; }
}
@media (max-width:768px) {
  .loc-hero { padding:48px 0 56px; min-height:auto; }
  .loc-hero-inner { grid-template-columns:1fr; gap:40px; padding:0 20px; }
/*   .loc-hero-map { display:none; } */
  .state-section { padding:48px 0; }
  .state-section-inner { padding:0 20px; }
  .state-two-col { grid-template-columns:1fr; gap:40px; }
  .state-steps-grid { grid-template-columns:1fr; gap:16px; }
  .state-who-grid { grid-template-columns:1fr; gap:16px; }
  .state-mid-cta { padding:48px 0; }
  .state-mid-cta-inner { grid-template-columns:1fr; padding:0 20px; }
  .state-mid-cta-right { display:none; }
}
@media (max-width:480px) {
  .loc-hero { padding:36px 0 44px; }
  .loc-hero-inner { padding:0 16px; }
  .loc-hero-headline { font-size:30px; }
  .loc-hero-sub { font-size:14px; }
  .state-section { padding:36px 0; }
  .state-section-inner { padding:0 16px; }
  .state-step-num { font-size:36px; }
  .state-step-card { padding:20px 18px; }
  .state-compare-wrap { -webkit-overflow-scrolling:touch; }
  .state-compare-table { font-size:12px; min-width:500px; }
  .state-compare-table td, .state-compare-table th { padding:10px 12px; }
  .state-who-card { padding:20px 18px; }
  .state-info-card { padding:20px 24px; }
  .state-mid-cta { padding:36px 0; }
  .state-mid-cta-inner { padding:0 16px; }
  .state-mid-cta h2 { font-size:26px; }
}
.plan-annual-note strong { color: #16a34a; }
.plan-annual-note a { color: #3a7d44; }

/* FEATURE COMPARISON TABLE */
.compare-section { padding: 64px 0; background: #fff; }
.compare-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.compare-heading { font-size: clamp(24px, 3vw, 34px); font-weight: 800; color: #111827; letter-spacing: -0.02em; margin-bottom: 8px; text-align: center; }
.compare-sub { font-size: 15px; color: #6b7280; text-align: center; margin-bottom: 40px; }
.compare-table { width: 100%; border-collapse: collapse; }
.compare-table th { font-size: 13px; font-weight: 700; color: #374151; padding: 14px 16px; text-align: center; border-bottom: 2px solid #e5e7eb; }
.compare-table th:first-child { text-align: left; }
.compare-table th.featured-col { color: #3a7d44; background: #c8e6cc; border-radius: 8px 8px 0 0; }
.compare-table td { font-size: 13.5px; color: #374151; padding: 13px 16px; border-bottom: 1px solid #f3f4f6; text-align: center; }
.compare-table td:first-child { text-align: left; font-weight: 500; color: #111827; }
.compare-table td.featured-col { background: #fafff9; }
.compare-table tr:hover td { background: #f9fafb; }
.compare-table tr:hover td.featured-col { background: #c8e6cc; }
.compare-table .section-row td { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #9ca3af; background: #f9fafb; padding: 10px 16px; }
.compare-table .section-row td.featured-col { background: #c8e6cc; }
.check-yes { color: #16a34a; font-size: 16px; }
.check-no  { color: #d1d5db; font-size: 16px; }
.check-partial { font-size: 12px; font-weight: 600; color: #f59e0b; }

/* PRICING FAQ */
.pricing-faq { padding: 72px 0; background: #ffffff; }
.pricing-faq-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; display: grid; grid-template-columns: 1fr 2fr; gap: 64px; align-items: start; }
.pricing-faq-left { position: sticky; top: 88px; }
.pricing-faq-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #3a7d44; margin-bottom: 12px; }
.pricing-faq-heading { font-size: clamp(24px, 2.8vw, 34px); font-weight: 800; color: #111827; letter-spacing: -0.02em; line-height: 1.2; margin-bottom: 16px; }
.pricing-faq-sub { font-size: 14px; color: #6b7280; line-height: 1.7; margin-bottom: 24px; }
.pricing-faq-contact { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: #3a7d44; text-decoration: none; }
.pricing-faq-contact svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; }
.pricing-faq-list { display: flex; flex-direction: column; gap: 12px; }
.pricing-faq-item { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; transition: box-shadow .2s; }
.pricing-faq-item:hover { box-shadow: 0 4px 16px rgba(0,0,0,.06); }
.pricing-faq-q { width: 100%; background: none; border: none; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; font-size: 14.5px; font-weight: 700; color: #111827; text-align: left; font-family: 'Inter', sans-serif; }
.pricing-faq-q svg { width: 18px; height: 18px; stroke: #6b7280; fill: none; stroke-width: 2; flex-shrink: 0; transition: transform .25s; }
.pricing-faq-item.open .pricing-faq-q svg { transform: rotate(45deg); stroke: #3a7d44; }
.pricing-faq-a { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.pricing-faq-item.open .pricing-faq-a { max-height: 400px; }
.pricing-faq-a-inner { padding: 0 20px 18px; font-size: 14px; color: #4b5563; line-height: 1.75; }

/* BOTTOM CTA */
.pricing-bottom-cta { background: linear-gradient(135deg, #0f1f14 0%, #2d6235 100%); padding: 72px 0; text-align: center; }
.pricing-bottom-cta-inner { max-width: 680px; margin: 0 auto; padding: 0 40px; }
.pricing-bottom-cta-eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #86efac; margin-bottom: 14px; }
.pricing-bottom-cta h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(26px, 3.5vw, 40px); font-weight: 800; color: #fff; letter-spacing: -0.03em; margin-bottom: 14px; }
.pricing-bottom-cta-sub { font-size: 16px; color: rgba(255,255,255,.7); margin-bottom: 32px; line-height: 1.65; }
.pricing-bottom-cta-btns { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; }
.pricing-cta-btn-primary { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: #0f1f14; font-size: 15px; font-weight: 800; padding: 14px 28px; border-radius: 10px; transition: background .15s; text-decoration: none; }
.pricing-cta-btn-primary:hover { background: #c8e6cc; }
.pricing-cta-btn-secondary { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.12); color: #fff; font-size: 15px; font-weight: 700; padding: 14px 28px; border-radius: 10px; border: 1.5px solid rgba(255,255,255,.25); transition: all .15s; text-decoration: none; }
.pricing-cta-btn-secondary:hover { background: rgba(255,255,255,.2); }

/* RESPONSIVE */
@media (max-width: 900px) {
  .pricing-hero { padding: 48px 20px 40px; }
  .pricing-trust-row { padding: 0; }
  .pricing-main { padding: 40px 0; }
  .pricing-main-inner { padding: 0 20px; }
  .volume-slider-card { padding: 28px 24px; }
  .volume-slider-top { flex-direction: column; }
  .volume-price-display { text-align: left; }
  .volume-price-amount { justify-content: flex-start; }
  .plan-cards-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .compare-section { padding: 48px 0; }
  .compare-inner { overflow-x: auto; padding: 0 20px; }
  .compare-table { min-width: 600px; }
  .pricing-faq { padding: 48px 0; }
  .pricing-faq-inner { grid-template-columns: 1fr; gap: 32px; padding: 0 20px; }
  .pricing-faq-left { position: static; }
  .pricing-bottom-cta { padding: 48px 0; }
  .pricing-bottom-cta-inner { padding: 0 20px; }
}
@media (max-width: 600px) {
  .plan-cards-grid { grid-template-columns: 1fr; }
  .pricing-trust-row { gap: 16px; }
}

/* ══════════════════════════════════════════════════════════════
   GET STARTED PAGE  (gs-*)
══════════════════════════════════════════════════════════════ */

/* Body background override */
.page-template-page-templates-template-get-started { background: #c8e6cc; }

/* SPLIT LAYOUT */
.gs-body { min-height: calc(100vh - 66px); display: flex; align-items: stretch; }

/* LEFT PANEL */
.gs-left { width: 420px; flex-shrink: 0; background: #2d6235; padding: 56px 48px; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.gs-left::before { content: ''; position: absolute; top: -100px; left: -100px; width: 380px; height: 380px; border-radius: 50%; background: rgba(255,255,255,.04); pointer-events: none; }
.gs-left::after  { content: ''; position: absolute; bottom: -80px; right: -80px; width: 280px; height: 280px; border-radius: 50%; background: rgba(255,255,255,.04); pointer-events: none; }
.gs-left-content { position: relative; z-index: 1; }
.gs-headline { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 28px; font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 16px; letter-spacing: -0.02em; }
.gs-subtext  { font-size: 14.5px; color: rgba(255,255,255,.70); line-height: 1.65; margin-bottom: 40px; }

/* Features list */
.gs-features { display: flex; flex-direction: column; gap: 16px; }
.gs-feature  { display: flex; align-items: flex-start; gap: 12px; }
.gs-feature-icon { width: 32px; height: 32px; border-radius: 8px; background: rgba(255,255,255,.10); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }
.gs-feature-icon svg { width: 15px; height: 15px; stroke: rgba(255,255,255,.85); fill: none; }
.gs-feature-text strong { display: block; font-size: 13.5px; font-weight: 600; color: #fff; margin-bottom: 2px; }
.gs-feature-text span   { font-size: 12.5px; color: rgba(255,255,255,.55); line-height: 1.5; }

/* Trust strip */
.gs-trust { position: relative; z-index: 1; margin-top: 48px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.12); }
.gs-trust-stars { color: #fbbf24; font-size: 16px; letter-spacing: 2px; margin-bottom: 6px; }
.gs-trust-text  { font-size: 12.5px; color: rgba(255,255,255,.55); }
.gs-trust-text strong { color: rgba(255,255,255,.85); }

/* RIGHT PANEL */
.gs-right { flex: 1; background: #c8e6cc; display: flex; align-items: center; justify-content: center; padding: 56px 40px; }

/* FORM CARD */
.gs-card { background: #fff; border-radius: 20px; padding: 36px 48px; width: 100%; max-width: 520px; box-shadow: 0 8px 40px rgba(0,0,0,.10); }
.gs-card-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 26px; font-weight: 800; color: #111827; margin-bottom: 6px; letter-spacing: -0.02em; }
.gs-card-sub   { font-size: 14px; color: #6b7280; margin-bottom: 28px; line-height: 1.55; }

/* STEP INDICATOR */
.gs-steps { display: flex; align-items: center; gap: 8px; margin-bottom: 28px; }
.gs-step  { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; }
.gs-step-num { width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; flex-shrink: 0; }
.gs-step--done    .gs-step-num  { background: #3a7d44; color: #fff; }
.gs-step--active  .gs-step-num  { background: #3a7d44; color: #fff; }
.gs-step--pending .gs-step-num  { background: #f3f4f6; color: #9ca3af; }
.gs-step--done    .gs-step-label { color: #3a7d44; }
.gs-step--active  .gs-step-label { color: #111827; }
.gs-step--pending .gs-step-label { color: #9ca3af; }
.gs-step-div { flex: 1; height: 1.5px; background: #e5e7eb; border-radius: 2px; }
.gs-step-div--done { background: #3a7d44; }

/* FORM FIELDS */
.gs-fgroup { margin-bottom: 16px; }
.gs-frow { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 16px; }
.gs-frow .gs-fgroup { margin-bottom: 0; }

.gs-fgroup label { display: block; font-size: 12.5px; font-weight: 600; color: #374151; margin-bottom: 6px; letter-spacing: .01em; }
.gs-req { color: #ef4444; }

.gs-field { width: 100%; border: 1.5px solid #e5e7eb; border-radius: 8px; padding: 12px 14px; font-size: 14px; font-family: 'Inter', sans-serif; color: #111827; background: #fff; outline: none; transition: border-color .18s, box-shadow .18s; appearance: none; -webkit-appearance: none; }
.gs-field:focus { border-color: #3a7d44; box-shadow: 0 0 0 3px rgba(58,125,68,.10); }
.gs-field::placeholder { color: #9ca3af; }
.gs-field--error { border-color: #ef4444; box-shadow: 0 0 0 3px rgba(239,68,68,.10); }

/* Select wrapper (custom arrow) */
.gs-select-wrap { position: relative; }
.gs-select-wrap::after { content: ''; position: absolute; right: 14px; top: 50%; transform: translateY(-50%); width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 6px solid #9ca3af; pointer-events: none; }
.gs-select-wrap .gs-field { padding-right: 36px; cursor: pointer; }

/* Phone row */
.gs-phone-row { display: flex; border: 1.5px solid #e5e7eb; border-radius: 8px; overflow: hidden; transition: border-color .18s, box-shadow .18s; }
.gs-phone-row:focus-within { border-color: #3a7d44; box-shadow: 0 0 0 3px rgba(58,125,68,.10); }
.gs-phone-code-wrap { position: relative; flex-shrink: 0; }
.gs-phone-code-wrap::after { content: ''; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid #9ca3af; pointer-events: none; }
.gs-phone-code { border: none; outline: none; padding: 12px 28px 12px 14px; font-size: 14px; font-family: 'Inter', sans-serif; color: #111827; background: #f9fafb; border-right: 1.5px solid #e5e7eb; cursor: pointer; appearance: none; -webkit-appearance: none; width: 90px; }
.gs-phone-input { flex: 1; border: none; outline: none; padding: 12px 14px; font-size: 14px; font-family: 'Inter', sans-serif; color: #111827; background: #fff; min-width: 0; }
.gs-phone-input::placeholder { color: #9ca3af; }

/* Error message */
.gs-error { background: #fef2f2; border: 1px solid #fecaca; border-radius: 8px; padding: 11px 14px; font-size: 13px; color: #b91c1c; margin-bottom: 14px; }

/* Submit button */
.gs-submit { width: 100%; padding: 15px; border-radius: 9px; border: none; background: #3a7d44; color: #fff; font-size: 15px; font-weight: 700; font-family: 'Inter', sans-serif; cursor: pointer; transition: background .18s, transform .15s; margin-top: 8px; letter-spacing: .01em; }
.gs-submit:hover:not(:disabled) { background: #2d6235; transform: translateY(-1px); }
.gs-submit:active { transform: translateY(0); }
.gs-submit:disabled { cursor: not-allowed; }

/* Form note */
.gs-note { font-size: 11.5px; color: #9ca3af; text-align: center; margin-top: 14px; line-height: 1.6; }
.gs-note a { color: #2d6235; text-decoration: underline; }

/* SUCCESS STATE */
.gs-success { text-align: center; padding: 24px 0; }
.gs-success-icon { width: 64px; height: 64px; background: #c8e6cc; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; }
.gs-success-icon svg { width: 28px; height: 28px; stroke: #3a7d44; fill: none; stroke-width: 2.5; }
.gs-success-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 24px; font-weight: 800; color: #111827; margin-bottom: 10px; }
.gs-success-text  { font-size: 14px; color: #6b7280; line-height: 1.65; }


.cst-mpare-table {
    overflow-x: auto;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .gs-body { flex-direction: column; }
  .gs-left { width: 100%; padding: 40px 28px; }
  .gs-left::before, .gs-left::after { display: none; }
  .gs-trust { margin-top: 32px; padding-top: 24px; }
  .gs-right { padding: 32px 20px 48px; }
  .gs-card { padding: 28px 24px; }
}
@media (max-width: 480px) {
  .gs-frow { grid-template-columns: 1fr; }
  .gs-card-title { font-size: 22px; }
  .gs-steps { gap: 4px; }
  .gs-step-label { display: none; }
}

/* ═══════════════════════════════════════════════
   EIN STATES PAGE (.page-template-template-ein-states)
   ═══════════════════════════════════════════════ */
.page-template-template-ein-states { background: #f9fafb; }
.states-hero { background: linear-gradient(135deg, #0f1f14 0%, #2d6235 50%, #0f1f14 100%); padding: 72px 40px 80px; position: relative; overflow: hidden; }
.states-hero::before { content: ''; position: absolute; top: -100px; right: -100px; width: 400px; height: 400px; border-radius: 50%; background: rgba(255,255,255,0.03); pointer-events: none; }
.states-hero::after { content: ''; position: absolute; bottom: -60px; left: -60px; width: 300px; height: 300px; border-radius: 50%; background: rgba(255,255,255,0.03); pointer-events: none; }
.states-hero-inner { max-width: 760px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
.states-hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.9); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 6px 16px; border-radius: 20px; margin-bottom: 20px; border: 1px solid rgba(255,255,255,0.15); }
.states-hero-eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: #5aab66; }
.states-hero-headline { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(32px, 4.5vw, 48px); font-weight: 900; color: white; line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 16px; }
.states-hero-sub { font-size: 16px; color: rgba(255,255,255,0.72); line-height: 1.7; margin-bottom: 36px; }
.states-hero-search { max-width: 520px; margin: 0 auto; position: relative; }
.states-hero-search-input { width: 100%; padding: 15px 52px 15px 20px; border-radius: 12px; border: none; font-size: 15px; color: #111827; background: white; outline: none; box-shadow: 0 4px 20px rgba(0,0,0,0.2); }
.states-hero-search-input::placeholder { color: #9ca3af; }
.states-hero-search-icon { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.states-hero-search-icon svg { width: 20px; height: 20px; stroke: #9ca3af; fill: none; stroke-width: 2; }
.states-main { max-width: 1200px; margin: 0 auto; padding: 64px 40px 80px; }
.states-alpha-nav { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 48px; justify-content: center; }
.states-alpha-btn { width: 36px; height: 36px; border-radius: 8px; border: 1.5px solid #e5e7eb; background: white; font-size: 13px; font-weight: 700; color: #6b7280; transition: all 0.15s; display: flex; align-items: center; justify-content: center; text-decoration: none; }
.states-alpha-btn:hover { background: #3a7d44; border-color: #3a7d44; color: white; }
.states-alpha-btn.disabled { opacity: 0.3; pointer-events: none; }
.states-group { margin-bottom: 40px; scroll-margin-top: 90px; }
.states-group-letter { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 13px; font-weight: 800; color: #3a7d44; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 14px; padding-bottom: 8px; border-bottom: 2px solid #c8e6cc; display: flex; align-items: center; gap: 10px; }
.states-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.states-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px; background: white; border: 1.5px solid #e5e7eb; border-radius: 10px; text-decoration: none; color: #374151; font-size: 14px; font-weight: 600; transition: all 0.18s; }
.states-link:hover { border-color: #3a7d44; color: #2d6235; background: #c8e6cc; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(58,125,68,0.1); }
.states-link svg { width: 14px; height: 14px; stroke: #5aab66; fill: none; stroke-width: 2; flex-shrink: 0; opacity: 0; transition: opacity 0.18s; }
.states-link:hover svg { opacity: 1; }
.states-no-results { text-align: center; padding: 64px 32px; display: none; }
.states-no-results svg { width: 48px; height: 48px; stroke: #d1d5db; fill: none; stroke-width: 1.5; margin: 0 auto 16px; display: block; }
.states-no-results h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 18px; font-weight: 800; color: #374151; margin-bottom: 8px; }
.states-no-results p { font-size: 14px; color: #9ca3af; }
.states-mid-cta { background: linear-gradient(135deg, #0f1f14, #2d6235); border-radius: 20px; padding: 56px 48px; text-align: center; margin: 0 0 80px; }
.states-mid-cta-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #5aab66; margin-bottom: 14px; }
.states-mid-cta h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(24px, 3vw, 34px); font-weight: 900; color: white; letter-spacing: -0.02em; margin-bottom: 14px; }
.states-mid-cta p { font-size: 16px; color: rgba(255,255,255,0.7); line-height: 1.65; max-width: 520px; margin: 0 auto 32px; }
.states-mid-cta-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.states-mid-cta-btn-primary { display: inline-flex; align-items: center; gap: 8px; background: white; color: #2d6235; font-size: 14.5px; font-weight: 700; padding: 13px 26px; border-radius: 10px; text-decoration: none; transition: all 0.18s; }
.states-mid-cta-btn-primary:hover { background: #c8e6cc; }
.states-mid-cta-btn-secondary { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.1); color: white; font-size: 14.5px; font-weight: 600; padding: 13px 26px; border-radius: 10px; text-decoration: none; border: 1.5px solid rgba(255,255,255,0.2); transition: all 0.18s; }
.states-mid-cta-btn-secondary:hover { background: rgba(255,255,255,0.18); color: white; }
@media (max-width: 768px) {
  .states-hero { padding: 48px 20px 56px; }
  .states-main { padding: 40px 20px 60px; }
  .states-alpha-nav { gap: 4px; }
  .states-alpha-btn { width: 32px; height: 32px; font-size: 12px; }
  .states-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
  .states-mid-cta { padding: 40px 24px; margin-bottom: 56px; }
}

/* EIN COMPANIES PAGE (.page-template-template-ein-companies) */
.page-template-template-ein-companies {
  background: #f9fafb;
}

.companies-hero {
  background: linear-gradient(135deg, #0f1f14 0%, #2d6235 50%, #0f1f14 100%);
  padding: 72px 40px 80px;
  position: relative;
  overflow: hidden;
}

.companies-hero::before,
.companies-hero::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.03);
  pointer-events: none;
}

.companies-hero::before {
  top: -100px;
  right: -100px;
  width: 400px;
  height: 400px;
}

.companies-hero::after {
  bottom: -60px;
  left: -60px;
  width: 300px;
  height: 300px;
}

.companies-hero-inner {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 1;
}

.companies-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 20px;
  margin-bottom: 20px;
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.companies-hero-eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #5aab66;
}

.companies-hero-headline {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(32px, 4.5vw, 48px);
  font-weight: 900;
  color: #fff;
  line-height: 1.1;
  letter-spacing: 0;
  margin: 0 0 16px;
}

.companies-hero-sub {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.7;
  margin: 0 0 36px;
}

.companies-hero-search {
  max-width: 520px;
  margin: 0 auto;
  position: relative;
}

.companies-hero-search-input {
  width: 100%;
  padding: 15px 52px 15px 20px;
  border-radius: 12px;
  border: none;
  font-size: 15px;
  font-family: 'Inter', sans-serif;
  color: #111827;
  background: #fff;
  outline: none;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.companies-hero-search-input::placeholder {
  color: #9ca3af;
}

.companies-hero-search-icon {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.companies-hero-search-icon svg {
  width: 20px;
  height: 20px;
  stroke: #9ca3af;
  fill: none;
  stroke-width: 2;
}

.companies-main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 40px 80px;
}

.companies-alpha-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 48px;
  justify-content: center;
}

.companies-alpha-btn {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1.5px solid #e5e7eb;
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  color: #6b7280;
  cursor: pointer;
  transition: all 0.15s;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.companies-alpha-btn:hover,
.companies-alpha-btn.active {
  background: #3a7d44;
  border-color: #3a7d44;
  color: #fff;
}

.companies-alpha-btn.disabled {
  opacity: 0.3;
  pointer-events: none;
}

.companies-group {
  margin-bottom: 40px;
}

.companies-group-letter {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 800;
  color: #3a7d44;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 2px solid #c8e6cc;
}

.companies-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px;
}

.companies-link {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 62px;
  padding: 14px 16px;
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 10px;
  text-decoration: none;
  color: #374151;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.18s;
}

.companies-link:hover {
  border-color: #3a7d44;
  color: #2d6235;
  background: #c8e6cc;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(58, 125, 68, 0.1);
}

.companies-link-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 800;
  color: #3a7d44;
  transition: background 0.18s;
}

.companies-link:hover .companies-link-icon {
  background: #fff;
}

.companies-link-name {
  min-width: 0;
  overflow-wrap: anywhere;
}

.companies-link-arrow {
  margin-left: auto;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 0.18s;
}

.companies-link-arrow svg {
  width: 14px;
  height: 14px;
  stroke: #5aab66;
  fill: none;
  stroke-width: 2;
}

.companies-link:hover .companies-link-arrow {
  opacity: 1;
}

.companies-no-results {
  text-align: center;
  padding: 64px 32px;
  display: none;
}

.companies-no-results svg {
  width: 48px;
  height: 48px;
  stroke: #d1d5db;
  fill: none;
  stroke-width: 1.5;
  margin: 0 auto 16px;
  display: block;
}

.companies-no-results h3 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: #374151;
  margin: 0 0 8px;
}

.companies-no-results p {
  font-size: 14px;
  color: #9ca3af;
  margin: 0;
}

.companies-mid-cta {
  background: linear-gradient(135deg, #0f1f14, #2d6235);
  border-radius: 20px;
  padding: 56px 48px;
  text-align: center;
  margin: 0 0 80px;
}

.companies-mid-cta-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #5aab66;
  margin-bottom: 14px;
}

.companies-mid-cta h2 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 900;
  color: #fff;
  letter-spacing: 0;
  margin: 0 0 14px;
}

.companies-mid-cta p {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.65;
  max-width: 560px;
  margin: 0 auto 32px;
}

.companies-mid-cta-btns {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.companies-mid-cta-btn-primary,
.companies-mid-cta-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14.5px;
  padding: 13px 26px;
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.18s;
}

.companies-mid-cta-btn-primary {
  background: #fff;
  color: #2d6235;
  font-weight: 700;
}

.companies-mid-cta-btn-primary:hover {
  background: #c8e6cc;
}

.companies-mid-cta-btn-secondary {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-weight: 600;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
}

.companies-mid-cta-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.18);
}


.cstm-table-sec-cl {
    display: none;
}

.cstm-sec-borer-ttp {
    border-top: 1px solid  rgb(229, 231, 235);
}
@media (max-width: 768px) {
  .companies-hero {
    padding: 48px 20px 56px;
  }

  .companies-main {
    padding: 40px 20px 60px;
  }

  .companies-alpha-nav {
    gap: 4px;
  }

  .companies-alpha-btn {
    width: 32px;
    height: 32px;
    font-size: 12px;
  }

  .companies-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  }

  .companies-mid-cta {
    padding: 40px 24px;
  }
}

/* LEGAL PAGES (.page-template-template-legal) */
.page-template-template-legal {
  background: #f9fafb;
}

.legal-hero {
  background: linear-gradient(135deg, #0f1f14 0%, #0f1f14 50%, #0f1f14 100%);
  padding: 72px 32px 64px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.legal-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 70% 50%, rgba(58, 125, 68, 0.18) 0%, transparent 60%);
  pointer-events: none;
}

.legal-hero-inner {
  max-width: 760px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.legal-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(58, 125, 68, 0.25);
  border: 1px solid rgba(90, 170, 102, 0.35);
  color: #7dd98a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 100px;
  margin-bottom: 20px;
}

.legal-hero h1 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(34px, 5vw, 48px);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  margin: 0 0 16px;
}

.legal-hero-meta {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
}

.legal-body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 56px 32px 80px;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 56px;
  align-items: start;
}

.legal-toc {
  position: sticky;
  top: 88px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 24px;
}

.legal-toc-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #9ca3af;
  margin-bottom: 16px;
}

.legal-toc-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
}

.legal-toc-list a {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
  padding: 7px 10px;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
  line-height: 1.4;
}

.legal-toc-list a:hover,
.legal-toc-list a.active {
  background: #c8e6cc;
  color: #2d6235;
}

.legal-content {
  min-width: 0;
}

.legal-content h2 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: #111827;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid #c8e6cc;
  scroll-margin-top: 96px;
}

.legal-content p {
  font-size: 15px;
  line-height: 1.8;
  color: #374151;
  margin: 0 0 16px;
}

.legal-content a {
  color: #3a7d44;
  text-decoration: none;
  font-weight: 600;
}

.legal-content a:hover {
  text-decoration: underline;
}

.legal-notice {
  background: #c8e6cc;
  border: 1.5px solid rgba(58, 125, 68, 0.25);
  border-radius: 12px;
  padding: 16px 20px;
  font-size: 14px;
  color: #2d5c38;
  line-height: 1.7;
  margin-bottom: 32px;
}

.legal-category-list {
  display: grid;
  gap: 12px;
  margin: 24px 0 6px;
}

.legal-category-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 86px;
  gap: 16px;
  align-items: start;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 16px;
}

.legal-category-id {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: #c8e6cc;
  color: #2d6235;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
}

.legal-category-card p {
  margin: 0;
}

.legal-status {
  justify-self: end;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 6px 10px;
}

.legal-status.yes {
  background: #dcfce7;
  color: #166534;
}

.legal-status.no {
  background: #f3f4f6;
  color: #6b7280;
}

.legal-address {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px 24px;
  font-size: 14px;
  line-height: 1.9;
  color: #374151;
  margin-top: 16px;
}

.legal-caps {
  text-transform: uppercase;
  font-size: 13.5px;
  font-weight: 700;
  color: #374151;
  line-height: 1.7;
}

.legal-mid-cta {
  background: linear-gradient(135deg, #0f1f14 0%, #0f1f14 60%, #0f1f14 100%);
  padding: 64px 32px;
}

.legal-mid-cta-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 48px;
  align-items: center;
}

.legal-mid-cta h2 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 32px;
  font-weight: 800;
  color: #fff;
  margin: 0 0 12px;
}

.legal-mid-cta p {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.7;
  margin: 0 0 28px;
}

.legal-mid-cta-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.legal-btn-white,
.legal-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 24px;
  border-radius: 10px;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.legal-btn-white {
  background: #fff;
  color: #2d6235;
}

.legal-btn-white:hover {
  background: #c8e6cc;
}

.legal-btn-ghost {
  background: transparent;
  color: rgba(255, 255, 255, 0.85);
  border: 1.5px solid rgba(255, 255, 255, 0.3);
}

.legal-btn-ghost:hover {
  border-color: rgba(255, 255, 255, 0.7);
  color: #fff;
}

.legal-mid-cta-right {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.legal-mid-cta-trust {
  color: rgba(255, 255, 255, 0.88);
  font-size: 14px;
  font-weight: 600;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.legal-trust-icon {
  width: 22px;
  height: 22px;
  color: #7dd98a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.legal-trust-icon svg {
  width: 20px;
  height: 20px;
  display: block;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 1024px) {
  .legal-body {
    grid-template-columns: 1fr;
  }

  .legal-toc {
    position: static;
  }
}

@media (max-width: 768px) {
  .legal-body {
    padding: 40px 20px 60px;
  }

  .legal-category-card {
    grid-template-columns: 36px minmax(0, 1fr);
  }

  .legal-status {
    grid-column: 2;
    justify-self: start;
  }

  .legal-mid-cta-inner {
    grid-template-columns: 1fr;
  }

  .legal-mid-cta-right {
    display: none;
  }
}
/* END LEGAL PAGES */

/* EIN State Basics extra editable content */
.state-basics-extra-list {
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin-top: 34px;
}

.state-basics-extra {
  padding-top: 4px;
}

.state-basics-extra h3 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.3;
  color: #152033;
  margin: 0 0 12px;
}

.state-basics-extra-body p {
  font-size: 16px;
  line-height: 1.75;
  color: #6b7280;
  margin: 0 0 14px;
}

.state-basics-extra-body p:last-child {
  margin-bottom: 0;
}

.state-basics-extra-body a {
  color: #2d6235;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (min-width: 1025px) {
  .state-side-card {
    position: sticky;
    top: 112px;
  }
}

.state-basics-extra-body ul,
.state-basics-extra-body ol {
  padding-left: 20px;
}

.state-basics-extra-body li {
  font-size: 16px;
  color: #6b7280;
  margin: 0 0 5px;
  line-height: 1.75;
}

.state-step-desc ul {
  padding-left: 20px;
}

.state-step-desc ol {
  padding-left: 20px;
}

.state-info-card-body li {
  font-size: 14px;
  color: #3d5c42;
  line-height: 1.7;
}

.state-info-card-body ul {
  padding-left: 20px;
  margin: 5px 0px;
}

.state-body ul {
  padding-left: 20px;
}

.state-info-card-body ul, .state-info-card-body ol {
    padding-left: 20px;
    margin: 5px 0px;
}
/* State info card list spacing */
.state-info-card-body ul,
.state-info-card-body ol,
.state-info-card-body > ul,
.state-info-card-body > ol {
  padding-left: 20px !important;
  margin: 5px 0 !important;
}

.state-info-card-body ol {
  list-style-position: outside;
}

/* Related article thumbnails: keep featured artwork visible and override stale cover rules. */
.bp-related-img--photo {
  height: 160px !important;
  background: #f3f8f1;
}
.bp-related-img--photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}
.gs-success-actions { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 24px; flex-wrap: wrap; }
.gs-success-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 150px; min-height: 46px; padding: 12px 20px; border-radius: 9px; font-size: 14px; font-weight: 700; text-decoration: none; transition: background .18s, border-color .18s, transform .15s; }
.gs-success-btn:hover { transform: translateY(-1px); }
.gs-success-btn--primary { background: #3a7d44; color: #fff; border: 1.5px solid #3a7d44; }
.gs-success-btn--primary:hover { background: #2d6235; border-color: #2d6235; }
.gs-success-btn--secondary { background: #fff; color: #2d6235; border: 1.5px solid #3a7d44; }
.gs-success-btn--secondary:hover { background: #c8e6cc; }
@media (max-width: 480px) { .gs-success-actions { align-items: stretch; } .gs-success-btn { width: 100%; } }
/* Blog search/newsletter behaviour */
.blg-search-submit { position:absolute; right:14px; top:50%; transform:translateY(-50%); width:28px; height:28px; padding:0; border:0; background:transparent; color:#9ca3af; cursor:pointer; }
.blg-search-submit .blg-search-icon { position:static; width:20px; height:20px; transform:none; pointer-events:none; }
.blg-newsletter-message { margin:8px 0 0; color:rgba(255,255,255,.78); font-size:13px; font-weight:600; }
.nav-register-cta { background:#3a7d44; color:#fff; border:0; }
.nav-register-cta:hover { background:#2f6738; color:#fff; }
/* Batch analysis request form */
.svc-batch-analysis-callout { scroll-margin-top: 96px; }
.svc-batch-analysis-inner { align-items: center; }
.batch-analysis-form { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 12px; padding: 28px; display: flex; flex-direction: column; gap: 12px; color: #fff; }
.batch-analysis-form h3 { margin: 0 0 6px; color: #fff; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 800; }
.batch-analysis-form label { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 600; color: rgba(255,255,255,.85); }
.batch-analysis-form input,
.batch-analysis-form textarea { width: 100%; border: 1px solid rgba(255,255,255,.25); border-radius: 6px; background: rgba(255,255,255,.12); color: #fff; padding: 10px 12px; font: inherit; }
.batch-analysis-form textarea { min-height: 112px; resize: vertical; }
.batch-analysis-form input:focus,
.batch-analysis-form textarea:focus { outline: none; border-color: rgba(255,255,255,.6); box-shadow: 0 0 0 3px rgba(255,255,255,.12); }
.batch-analysis-form .btn-white {
    width: fit-content;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: #2d6235;
    font-size: 14px;
    font-weight: 700;
    padding: 13px 24px;
    border-radius: 8px;
    text-decoration: none;
    transition: background .18s;
}
.batch-analysis-notice { border-radius: 8px; padding: 10px 12px; font-size: 13px; font-weight: 700; }
.batch-analysis-notice.success { background: rgba(90,171,102,.18); color: #d9fbe0; }
.batch-analysis-notice.error { background: rgba(239,68,68,.18); color: #fee2e2; }
.svc-chat-open { cursor: pointer; }
@media (max-width: 820px) { .svc-batch-analysis-inner { grid-template-columns: 1fr; gap: 32px; } .batch-analysis-form { padding: 22px; } }
/* Homepage hero rotating visual headline */
.hero-headline-seo {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.hero-headline-rotating {
  display: block;
}

.hero-rotating-line {
  display: block;
}

.hero-rotating-slot {
  position: relative;
  display: inline-block;
  min-width: 8.8em;
  height: 1.1em;
  vertical-align: bottom;
}

.hero-rotating-word {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  white-space: nowrap;
  animation: heroRotatingWord 9s infinite;
  will-change: opacity, transform;
}

.hero-rotating-word:nth-child(1) { animation-delay: 0s; }
.hero-rotating-word:nth-child(2) { animation-delay: 3s; }
.hero-rotating-word:nth-child(3) { animation-delay: 6s; }

@keyframes heroRotatingWord {
  0%, 3% { opacity: 0; transform: translateY(0.08em); }
  8%, 29% { opacity: 1; transform: translateY(0); }
  34%, 100% { opacity: 0; transform: translateY(-0.08em); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-rotating-word { animation: none; }
  .hero-rotating-word:first-child { opacity: 1; transform: none; }
}

@media (max-width: 767px) {
  .hero-rotating-slot {
    display: block;
    min-width: 0;
    width: 100%;
  }
}


/* CF7 compatibility: neutralize the auto-inserted <p> wrapper so existing flex/gap layouts still apply directly to label/input */
.wp-form-group p, .form-group p, .gs-form-group p, .dnsp-form-group p, .batch-analysis-form p { margin: 0; display: contents; }
.wp-form-group br, .form-group br, .gs-form-group br, .dnsp-form-group br, .batch-analysis-form br { display: none; }
.wpcf7-form-control-wrap { display: contents; }
.wpcf7 .wpcf7-not-valid-tip { font-size: 12px; color: #dc2626; margin-top: 4px; display: block; }
.wpcf7-response-output { display: none !important; }

/* ============================================================
   HOMEPAGE COLOR NORMALIZATION (scoped to body.is-front-page)
   ============================================================ */
body.is-front-page { background:#ffffff; }
body.is-front-page .top-banner { background:#c8e6cc; }
body.is-front-page .nav-a:hover,
body.is-front-page .nav-dropdown-item:hover,
body.is-front-page .nav-dropdown-icon,
body.is-front-page .nav-login:hover,
body.is-front-page .mobile-nav-drawer a:hover,
body.is-front-page .btn-search:hover,
body.is-front-page .t-nav-btn:hover { background:#c8e6cc; }
body.is-front-page .nav-a:hover,
body.is-front-page .nav-dropdown-item:hover { color:#3a7d44; }
body.is-front-page .nav-cta:hover { background:#2d6235; }
body.is-front-page .nav-cta:active,
body.is-front-page .hero-email-btn:active,
body.is-front-page .btn-demo:active,
body.is-front-page .btn-search:active,
body.is-front-page .cta-search-btn:active,
body.is-front-page .cta-blur-btn:active,
body.is-front-page .cta-chip:active { background:#122517; }
body.is-front-page .mobile-nav-drawer .mobile-nav-cta { background:#3a7d44; }
body.is-front-page .mobile-nav-drawer .mobile-nav-cta:hover { background:#2d6235; }
body.is-front-page .hero { background:#c8e6cc; }
body.is-front-page .btn-demo { background:#3a7d44; }
body.is-front-page .btn-demo:hover { background:#2d6235; }
body.is-front-page .stats-strip { background:#0f1f14; }
body.is-front-page .stat-num span { color:#5aab66; }
body.is-front-page .product-card-icon,
body.is-front-page .db-diff-point-icon,
body.is-front-page .persona-icon,
body.is-front-page .persona-tag,
body.is-front-page .cta-result-badge,
body.is-front-page .cta-nomatch-cta,
body.is-front-page .pill { background:#c8e6cc; }
body.is-front-page .use-cases,
body.is-front-page .testimonials,
body.is-front-page .how-it-works { background:#ffffff; }
body.is-front-page .hiw-steps::before { background:linear-gradient(90deg,#3a7d44,#5aab66); }
body.is-front-page .hiw-step-dot { box-shadow:0 0 0 8px #c8e6cc; }
body.is-front-page .hiw-step-tag { background:#c8e6cc; }
body.is-front-page .legend-dot { background:#3a7d44; }
body.is-front-page .stat-value { background:transparent; color:#3a7d44; }
body.is-front-page .mid-cta { background:#0f1f14; }
body.is-front-page .mid-cta::before { background:radial-gradient(circle,rgba(90,171,102,0.08) 0%,transparent 70%); }
body.is-front-page .mid-cta-eyebrow { color:#5aab66; }
body.is-front-page .cta-chip.is-active { color:#3a7d44; }
body.is-front-page .footer-col-title { color:#5aab66; }
body.is-front-page .site-footer::before { background:linear-gradient(90deg,#3a7d44,#5aab66,#3a7d44); }

/* Homepage mock UI text and decorative token normalization */
body.is-front-page { --ein-green-light:#5aab66; }
body.is-front-page .title { color:#111827; }

body.is-front-page .t-logo-carousel::before,
body.is-front-page .t-logo-carousel::after { background:linear-gradient(to right,#ffffff,transparent); }
body.is-front-page .t-logo-carousel::after { background:linear-gradient(to left,#ffffff,transparent); }

/* SITE-WIDE COLOR NORMALIZATION */
.nav-a:hover,
.nav-dropdown-item:hover { background:#c8e6cc; color:#3a7d44; }
.nav-dropdown-icon,
.nav-login:hover,
.mobile-nav-drawer a:hover,
.btn-search:hover,
.t-nav-btn:hover { background:#c8e6cc; }
.nav-cta,
.mobile-nav-drawer .mobile-nav-cta,
.hero-email-btn,
.btn-demo,
.footer-cta-btn,
.acct-hero-btn-primary,
.acct-final-cta-btn-primary,
.blg-newsletter-btn,
.blg-newsletter-ctct .ctct-submit,
.research-wp-btn,
.research-newsletter-btn,
.sidebar-cta-btn,
.post-article-cta-btn-primary,
.rp-sidebar-cta-btn,
.rp-cta-btn-primary,
.bp-sidebar-cta-btn,
.bp-cta-btn-primary,
.au-sidebar-cta-btn { background:#3a7d44; }
.nav-cta:hover,
.mobile-nav-drawer .mobile-nav-cta:hover,
.hero-email-btn:hover,
.btn-demo:hover,
.footer-cta-btn:hover,
.acct-hero-btn-primary:hover,
.acct-final-cta-btn-primary:hover,
.blg-newsletter-btn:hover,
.blg-newsletter-ctct .ctct-submit:hover,
.research-wp-btn:hover,
.research-newsletter-btn:hover,
.sidebar-cta-btn:hover,
.post-article-cta-btn-primary:hover,
.rp-sidebar-cta-btn:hover,
.rp-cta-btn-primary:hover,
.bp-sidebar-cta-btn:hover,
.bp-cta-btn-primary:hover,
.au-sidebar-cta-btn:hover,
.states-alpha-btn:hover { background:#2d6235; }
.nav-cta:active,
.mobile-nav-drawer .mobile-nav-cta:active,
.hero-email-btn:active,
.btn-demo:active,
.footer-cta-btn:active,
.acct-hero-btn-primary:active,
.acct-final-cta-btn-primary:active,
.blg-newsletter-btn:active,
.research-wp-btn:active,
.research-newsletter-btn:active,
.sidebar-cta-btn:active,
.post-article-cta-btn-primary:active,
.rp-sidebar-cta-btn:active,
.rp-cta-btn-primary:active,
.bp-sidebar-cta-btn:active,
.bp-cta-btn-primary:active,
.au-sidebar-cta-btn:active { background:#122517; }
/* OUTLINE CTA PRESSED TEXT */
.btn-search:active,
.btn-search:focus-visible { color:#ffffff; background:#122517; border-color:#122517; }

