    :root {
      --ink:       #0D1117;
      --ink-mid:   #1C2430;
      --ink-soft:  #2B3547;
      --rule:      rgba(255,255,255,0.07);
      --accent:    #3B82F6;      /* electric blue */
      --accent-2:  #06B6D4;      /* cyan */
      --accent-glow: rgba(59,130,246,0.18);
      --text-dim:  rgba(255,255,255,0.45);
      --text-mid:  rgba(255,255,255,0.72);
      --text-hi:   #ffffff;
      --tag-bg:    rgba(59,130,246,0.12);
      --tag-border:rgba(59,130,246,0.30);
    }

    body { background: #f0f2f5; }

    /* ─── FOOTER SHELL ─────────────────────────────────────── */
    .site-footer {
      background: var(--ink);
      color: var(--text-mid);
      font-family: 'Inter', sans-serif;
      font-size: .875rem;
      line-height: 1.7;
      position: relative;
      overflow: hidden;
    }

    /* Subtle radial glow top-left */
    .site-footer::before {
      content: '';
      position: absolute;
      top: -120px; left: -120px;
      width: 480px; height: 480px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(59,130,246,.12) 0%, transparent 70%);
      pointer-events: none;
    }
    /* Subtle radial glow bottom-right */
    .site-footer::after {
      content: '';
      position: absolute;
      bottom: -80px; right: -80px;
      width: 360px; height: 360px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(6,182,212,.09) 0%, transparent 70%);
      pointer-events: none;
    }

    /* ─── TOP COMPLIANCE BAND ──────────────────────────────── */
    .compliance-band {
      background: var(--ink-mid);
      border-bottom: 1px solid var(--rule);
      padding: 14px 7px;
    }
    .compliance-band .badge-pill {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: var(--tag-bg);
      border: 1px solid var(--tag-border);
      color: var(--accent);
      border-radius: 999px;
      padding: 4px 12px;
      font-size: .75rem;
      font-weight: 500;
      white-space: nowrap;
      margin-bottom:10px;
    }
    .compliance-band .badge-pill i { font-size: .85rem; }

    /* ─── BRAND BLOCK ──────────────────────────────────────── */
    .brand-col .wordmark {
      font-family: 'Syne', sans-serif;
      font-weight: 800;
      font-size: 1.55rem;
      color: var(--text-hi);
      letter-spacing: -.5px;
      line-height: 1;
    }
    .brand-col .wordmark span {
      background: linear-gradient(90deg, var(--accent), var(--accent-2));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .brand-col .tagline {
      font-size: .8rem;
      color: var(--text-dim);
      margin-top: 4px;
      letter-spacing: .3px;
    }
    .brand-col p {
      font-size: .84rem;
      color: var(--text-mid);
      max-width: 300px;
    }

    /* Compliance score widget */
    .score-widget {
      background: var(--ink-soft);
      border: 1px solid var(--rule);
      border-radius: 12px;
      padding: 16px 20px;
      display: inline-block;
      margin-top: 20px;
    }
    .score-widget .score-label {
      font-size: .72rem;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: var(--text-dim);
    }
    .score-widget .score-value {
      font-family: 'Syne', sans-serif;
      font-size: 2rem;
      font-weight: 700;
      color: var(--text-hi);
      line-height: 1;
    }
    .score-widget .score-value small {
      font-size: .9rem;
      font-weight: 400;
      color: var(--text-dim);
    }
    .score-bar {
      height: 4px;
      background: rgba(255,255,255,0.08);
      border-radius: 99px;
      margin-top: 8px;
      overflow: hidden;
      width: 140px;
    }
    .score-bar-fill {
      height: 100%;
      width: 78%;
      background: linear-gradient(90deg, var(--accent), var(--accent-2));
      border-radius: 99px;
    }
    .score-status {
      font-size: .72rem;
      color: #34d399;
      margin-top: 4px;
    }
    .score-status i { font-size: .7rem; }

    /* ─── NAV COLUMNS ──────────────────────────────────────── */
    .footer-heading {
      font-family: 'Syne', sans-serif;
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      color: var(--text-hi);
      margin-bottom: 16px;
    }
    .footer-links { list-style: none; padding: 0; margin: 0; }
    .footer-links li { margin-bottom: 10px; }
    .footer-links a {
      color: var(--text-mid);
      text-decoration: none;
      transition: color .18s, padding-left .18s;
      display: inline-flex;
      align-items: center;
      gap: 7px;
    }
    .footer-links a:hover {
      color: var(--accent);
      padding-left: 4px;
    }
    .footer-links .new-badge {
      font-size: .65rem;
      background: var(--accent);
      color: #fff;
      border-radius: 4px;
      padding: 1px 6px;
      font-weight: 600;
      letter-spacing: .3px;
    }

    /* ─── NEWSLETTER / CTA ─────────────────────────────────── */
    .newsletter-col .nl-box {
      background: var(--ink-soft);
      border: 1px solid var(--rule);
      border-radius: 14px;
      padding: 24px;
    }
    .nl-box h6 {
      font-family: 'Syne', sans-serif;
      font-size: 1rem;
      font-weight: 700;
      color: var(--text-hi);
      margin-bottom: 6px;
    }
    .nl-box p {
      font-size: .8rem;
      color: var(--text-dim);
      margin-bottom: 16px;
    }
    .nl-input-group {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .nl-input-group input {
      flex: 1;
      min-width: 160px;
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 8px;
      padding: 9px 14px;
      color: var(--text-hi);
      font-size: .84rem;
      outline: none;
      transition: border-color .18s;
    }
    .nl-input-group input::placeholder { color: var(--text-dim); }
    .nl-input-group input:focus { border-color: var(--accent); }
    .nl-input-group button {
      background: linear-gradient(135deg, var(--accent), var(--accent-2));
      border: none;
      border-radius: 8px;
      padding: 9px 20px;
      color: #fff;
      font-size: .84rem;
      font-weight: 600;
      cursor: pointer;
      transition: opacity .18s;
      white-space: nowrap;
    }
    .nl-input-group button:hover { opacity: .85; }

    /* Social icons */
    .social-icons { margin-top: 20px; }
    .social-icons a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 36px; height: 36px;
      border-radius: 8px;
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.10);
      color: var(--text-mid);
      text-decoration: none;
      font-size: 1rem;
      transition: background .18s, color .18s, border-color .18s;
      margin-right: 8px;
    }
    .social-icons a:hover {
      background: var(--accent-glow);
      border-color: var(--accent);
      color: var(--accent);
    }

    /* ─── DIVIDER ──────────────────────────────────────────── */
    .footer-divider {
      border: none;
      border-top: 1px solid var(--rule);
      margin: 0;
    }

    /* ─── ACT HIGHLIGHT BAND ───────────────────────────────── */
    .act-band {
      background: #0D1117;
      border-top: 1px solid var(--rule);
      border-bottom: 1px solid var(--rule);
      padding: 18px 0;
    }
    .act-card {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      padding: 0 8px;
    }
    .act-card-icon {
      width: 36px; height: 36px;
      border-radius: 8px;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.1rem;
      flex-shrink: 0;
    }
    .act-card-icon.blue  { background: rgba(59,130,246,.15); color: #60a5fa; }
    .act-card-icon.cyan  { background: rgba(6,182,212,.15);  color: #22d3ee; }
    .act-card-icon.green { background: rgba(52,211,153,.15); color: #34d399; }
    .act-card-icon.amber { background: rgba(251,191,36,.15); color: #fbbf24; }
    .act-card h6 {
      font-size: .78rem;
      font-weight: 600;
      color: var(--text-hi);
      margin: 0 0 2px;
    }
    .act-card p {
      font-size: .73rem;
      color: var(--text-dim);
      margin: 0;
      line-height: 1.5;
    }
    .act-divider {
      width: 1px;
      background: var(--rule);
      align-self: stretch;
      margin: 0 4px;
    }

    /* ─── BOTTOM BAR ───────────────────────────────────────── */
    .footer-bottom {
      padding: 20px 0;
    }
    .footer-bottom .copy {
      font-size: .78rem;
      color: var(--text-dim);
    }
    .footer-bottom .copy a {
      color: var(--accent);
      text-decoration: none;
    }
    .footer-bottom .copy a:hover { text-decoration: underline; }
    .legal-links { list-style: none; padding: 0; margin: 0; display: flex; gap: 20px; flex-wrap: wrap; }
    .legal-links a {
      font-size: .78rem;
      color: var(--text-dim);
      text-decoration: none;
      transition: color .18s;
    }
    .legal-links a:hover { color: var(--accent); }
    .cert-badges { display: flex; align-items: center; gap: 10px; }
    .cert-badge {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 6px;
      padding: 4px 10px;
      font-size: .7rem;
      color: var(--text-dim);
    }
    .cert-badge i { color: #34d399; font-size: .75rem; }

    @media (max-width: 767px) {
      .act-divider { display: none; }
      .act-card { border-bottom: 1px solid var(--rule); padding-bottom: 14px; }
      .act-card:last-child { border-bottom: none; }
      .footer-bottom .d-flex { flex-direction: column; gap: 12px; }
      .legal-links { justify-content: center; }
      .cert-badges { justify-content: center; }
    }