/* ==========================================================================
   eil-core — BASE
   Primitives every eil module shares: the shell reset, the wrap, the eyebrow,
   the mark, filter chips, buttons, badges and the closing CTA. No brand
   values — every declaration reads a token from tokens.css.
   ========================================================================== */

[data-eil-root]{background:var(--eil-bg);color:var(--eil-text);font-family:var(--eil-font-body);
  font-size:var(--eil-step0);line-height:1.6;padding:var(--eil-pad) 0}
[data-eil-root] *,[data-eil-root] *::before,[data-eil-root] *::after{box-sizing:border-box}
[data-eil-root] [hidden]{display:none !important}
[data-eil-root] :focus-visible{outline:3px solid var(--eil-focus);outline-offset:3px;border-radius:6px}
[data-eil-root] h2,[data-eil-root] h3{font-family:var(--eil-font-display);color:var(--eil-heading);
  line-height:1.12;text-wrap:balance;margin:0}
[data-eil-root] p{margin:0}
[data-eil-root] img{max-width:100%;display:block}

.eil-wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.eil-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;border:0}
.eil-eyebrow{font-family:var(--eil-font-display);font-weight:600;color:var(--eil-accent-text);
  text-transform:var(--eil-eyebrow-transform);letter-spacing:var(--eil-eyebrow-tracking);font-size:var(--eil-step-1)}
.eil-lede{color:var(--eil-text-dim);max-width:46ch}
.eil-lede b{color:var(--eil-heading);font-weight:600}

/* --- the mark ------------------------------------------------------------- */
.eil-mark{width:1em;height:1em;fill:currentColor;display:inline-block;vertical-align:-.16em}
.eil-mark--air{width:1.9em;height:1.9em;vertical-align:-.62em;margin-right:.5em;color:var(--eil-mark-air)}

/* --- filter chips --------------------------------------------------------- */
.eil-keys{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.eil-key{display:inline-flex;align-items:center;gap:10px;background:none;border:1.5px solid var(--eil-border-strong);
  color:var(--eil-text-dim);font-family:var(--eil-font-display);font-weight:600;font-size:.9rem;
  border-radius:var(--eil-radius-pill);padding:8px 16px 8px 12px;cursor:pointer}
.eil-key:hover{border-color:var(--eil-accent);color:var(--eil-heading)}
.eil-key[aria-pressed="true"]{border-color:var(--eil-accent);color:var(--eil-heading);background:var(--eil-surface-2)}
.eil-key .eil-sw{width:16px;height:16px;border-radius:4px;flex:none;display:block}
.eil-key .eil-n{font-variant-numeric:tabular-nums}
.eil-key[aria-pressed="true"] .eil-n{color:var(--eil-accent-text)}
.eil-sw--law{background:var(--eil-law-fill)}
.eil-sw--law .eil-mark{width:12px;height:12px;color:var(--eil-mark-law);display:block;margin:2px auto 0}
.eil-sw--moving{background:var(--eil-moving-fill);box-shadow:inset 0 0 0 1.5px var(--eil-moving-edge)}
.eil-sw--outreach{background:var(--eil-outreach-fill);box-shadow:inset 0 0 0 1.5px var(--eil-outreach-edge)}
.eil-sw--open{background:var(--eil-open-fill);box-shadow:inset 0 0 0 1.5px var(--eil-open-edge)}

/* --- buttons -------------------------------------------------------------- */
.eil-btn{display:inline-block;font-family:var(--eil-font-display);font-weight:700;text-decoration:none;
  border-radius:var(--eil-radius-sm);padding:13px 24px;font-size:.98rem;border:2px solid transparent;cursor:pointer}
.eil-btn--primary{background:var(--eil-accent);color:var(--eil-accent-ink)}
.eil-btn--primary:hover{filter:brightness(1.08)}
.eil-btn--ghost{border-color:var(--eil-border-strong);color:var(--eil-heading);background:none}
.eil-btn--ghost:hover{background:var(--eil-surface-2);border-color:var(--eil-accent)}

/* --- badges --------------------------------------------------------------- */
.eil-badge{display:inline-block;font-family:var(--eil-font-display);font-weight:700;font-size:.72rem;
  text-transform:uppercase;letter-spacing:.1em;border-radius:var(--eil-radius-pill);padding:4px 11px;white-space:nowrap}
.eil-badge--law{background:var(--eil-law-fill);color:var(--eil-law-ink)}
.eil-badge--moving{background:var(--eil-moving-fill);color:var(--eil-moving-ink)}
.eil-badge--outreach{background:var(--eil-outreach-fill);color:var(--eil-outreach-ink);box-shadow:inset 0 0 0 1.5px var(--eil-outreach-edge)}
.eil-badge--open{background:var(--eil-open-fill);color:var(--eil-open-ink);box-shadow:inset 0 0 0 1.5px var(--eil-open-edge)}

/* --- closing CTA ---------------------------------------------------------- */
.eil-closer{margin-top:44px;border-top:1px solid var(--eil-border);padding-top:34px;
  display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center}
.eil-closer h3{font-size:var(--eil-step2)}
.eil-closer p{color:var(--eil-text-dim);margin:8px 0 0;max-width:52ch}
.eil-cta{display:flex;gap:12px;flex-wrap:wrap}
.eil-stamp{color:var(--eil-text-dim);font-size:.8rem;margin-top:26px}

@media (max-width:980px){
  .eil-closer{grid-template-columns:1fr}
}
