/* E-waste and data disposal laws by state (/e-waste-laws-by-state/). Scoped under .tblm so
   nothing leaks into the captured Elementor shell. Same voice as the service-city pages
   (Instrument Sans, brand green for e-waste, brand blue for data), one idea carrying the
   page: the atlas. Every state is a tile; a tile carries two laws, and the "Both" view
   splits it corner to corner so the gap between them is visible at a glance. */
.tblm{--ink:#16202b;--ink-2:#34404c;--mute:#5d6873;--line:#e3e7ea;--paper:#f6f8f5;--card:#fff;
  --green:#7cc644;--green-ink:#3b7a17;--green-soft:#ecf6e3;--teal:#3fbfa8;--teal-ink:#17806e;
  --blue:#5271ff;--blue-ink:#2f4fd8;--blue-soft:#eaeefe;--blue-lit:#8fa2ff;
  --night:#0f1a14;--night-2:#16241c;--night-line:rgba(255,255,255,.12);--night-mute:#a9b8ad;--tile-off:#22322a;
  font-family:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
.tblm *,.tblm *:before,.tblm *:after{box-sizing:border-box}
.tblm p{margin:0}
.tblm a{color:var(--blue-ink);text-decoration:none!important}
.tblm p a:hover,.tblm td a:hover,.tblm li a:hover{text-decoration:underline!important}
.tblm a:focus-visible,.tblm button:focus-visible,.tblm summary:focus-visible,.tblm input:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}
.tblm-wrap{max-width:1240px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.tblm h1,.tblm h2,.tblm h3{font-family:inherit;margin:0;text-wrap:balance;color:inherit}
.tblm h2{font-size:clamp(28px,3.4vw,40px);font-weight:600;line-height:1.12;letter-spacing:-.01em}
.tblm h3{font-size:19px;font-weight:600;line-height:1.25}
.tblm-kicker{font-size:13px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--green-ink)}
.tblm-sec{padding-block:clamp(56px,7vw,96px)}
.tblm-head{display:grid;gap:12px;max-width:780px;margin-bottom:36px}
.tblm-head p{color:var(--mute);font-size:18px}
.tblm button{font:inherit;cursor:pointer}

/* hero: the atlas is the hero */
.tblm-hero{background:var(--night);color:#fff;position:relative;isolation:isolate;overflow:hidden}
.tblm-hero:before{content:"";position:absolute;inset:-20% -10% auto auto;width:70%;height:90%;z-index:-1;
  background:radial-gradient(closest-side,rgba(124,198,68,.16),transparent),radial-gradient(closest-side at 30% 70%,rgba(82,113,255,.14),transparent);filter:blur(40px)}
.tblm-hero .tblm-wrap{padding-block:clamp(56px,8vw,104px) clamp(48px,6vw,80px);display:grid;gap:28px}
.tblm-hero .tblm-kicker{color:var(--green)}
.tblm-hero h1{font-size:clamp(36px,5.2vw,64px);font-weight:600;line-height:1.03;letter-spacing:-.025em;max-width:18ch}
.tblm-hero h1 em{font-style:normal;color:var(--green)}
.tblm-hero h1 i{font-style:normal;color:var(--blue-lit)}
.tblm-lede{font-size:clamp(17px,1.6vw,20px);max-width:62ch;color:#dfe7e1}
.tblm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--night-line);border-bottom:1px solid var(--night-line)}
.tblm-stat{padding:18px 18px 18px 0;display:grid;gap:4px;min-width:0}
.tblm-stat+.tblm-stat{padding-left:18px;border-left:1px solid var(--night-line)}
.tblm-stat b{font-size:clamp(30px,3.6vw,46px);font-weight:600;line-height:1;letter-spacing:-.02em}
.tblm-stat span{font-size:14px;color:var(--night-mute);line-height:1.35}
.tblm-stat.e b{color:var(--green)} .tblm-stat.d b{color:var(--blue-lit)}

.tblm-atlas{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:28px;align-items:start}
.tblm-mapcol{display:grid;gap:16px;min-width:0}
.tblm-seg{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px var(--night-line);justify-self:start;flex-wrap:wrap}
.tblm-seg button{border:0;background:transparent;color:#dfe7e1;padding:9px 16px;border-radius:999px;font-size:15px;font-weight:600}
.tblm-seg button[aria-pressed="true"]{background:#fff;color:var(--night)}
.tblm-map{position:relative;display:grid;grid-template-columns:repeat(11,minmax(0,1fr));grid-template-rows:repeat(8,auto);gap:clamp(3px,.5vw,6px);margin:0;padding:0;list-style:none}
.tblm-map li{display:block;min-width:0}
.tblm-tile{position:relative;aspect-ratio:1;width:100%;border:0;border-radius:clamp(4px,.6vw,8px);padding:0;display:grid;place-items:center;
  font-size:clamp(10px,1.15vw,14px);font-weight:600;letter-spacing:.02em;color:#0d1a08;background:var(--tile-off);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s}
.tblm-tile span{position:relative;z-index:1}
@media (pointer:fine){.tblm-tile:hover{transform:translateY(-2px);box-shadow:0 0 0 2px rgba(255,255,255,.7)}}
.tblm-tile[aria-pressed="true"]{box-shadow:0 0 0 2px #fff,0 0 0 5px rgba(124,198,68,.55);z-index:2}
.tblm-tile.hq:after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:1.5px dashed rgba(255,255,255,.65);pointer-events:none}
.tblm-tile i{position:absolute;top:14%;right:14%;width:clamp(4px,.55vw,7px);height:clamp(4px,.55vw,7px);border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px var(--night);display:none;z-index:1}

/* layer encodings: the container's data-layer decides what a tile shows */
.tblm-map .t-none{color:#7f9285}
[data-layer="e"] .e-EPR{background:var(--green)}
[data-layer="e"] .e-ARF{background:var(--teal)}
[data-layer="e"] .e-ban{background:var(--tile-off);box-shadow:inset 0 0 0 2px var(--green);color:var(--green)}
[data-layer="e"] .e-none{background:var(--tile-off);color:#7f9285}
[data-layer="e"] .ban i{display:block}
[data-layer="d"] .d-yes{background:var(--blue-lit);color:#0b1440}
[data-layer="d"] .d-no{background:var(--tile-off);color:#7f9285}
[data-layer="b"] .tblm-tile{background:linear-gradient(135deg,var(--e) 0 50%,var(--d) 50% 100%);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.55)}
[data-layer="b"] .e-EPR{--e:var(--green)} [data-layer="b"] .e-ARF{--e:var(--teal)} [data-layer="b"] .e-ban{--e:#4c6f37} [data-layer="b"] .e-none{--e:var(--tile-off)}
[data-layer="b"] .d-yes{--d:var(--blue-lit)} [data-layer="b"] .d-no{--d:#2b3a32}

.tblm-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none;font-size:14px;color:#dfe7e1}
.tblm-legend li{display:none;align-items:center;gap:8px}
.tblm-legend b{font-weight:600;color:#fff;margin-left:2px}
.tblm-legend s{display:inline-block;width:14px;height:14px;border-radius:4px;text-decoration:none;flex:none}
[data-layer="e"] .tblm-legend .l-e,[data-layer="d"] .tblm-legend .l-d,[data-layer="b"] .tblm-legend .l-b{display:inline-flex}
.tblm-legend .k-epr{background:var(--green)} .tblm-legend .k-arf{background:var(--teal)} .tblm-legend .k-ban{box-shadow:inset 0 0 0 2px var(--green)}
.tblm-legend .k-none{background:var(--tile-off);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)} .tblm-legend .k-dot{width:8px;height:8px;border-radius:50%;background:#fff}
.tblm-legend .k-yes{background:var(--blue-lit)} .tblm-legend .k-both{background:linear-gradient(135deg,var(--green) 0 50%,var(--blue-lit) 50%)}
.tblm-legend .k-other{background:#4c6f37}
.tblm-legend .k-hq{border:1.5px dashed rgba(255,255,255,.65);background:transparent}
.tblm-note{font-size:13.5px;color:var(--night-mute)}

/* the dossier: the selected state's two laws side by side with their sources */
.tblm-dossier{background:var(--night-2);border-radius:16px;box-shadow:inset 0 0 0 1px var(--night-line);padding:22px;display:grid;gap:16px;min-width:0;position:sticky;top:96px;max-height:calc(100vh - 120px);overflow-y:auto;overscroll-behavior:contain}
.tblm-dossier header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.tblm-dossier h2{font-size:clamp(26px,2.6vw,34px);letter-spacing:-.015em}
.tblm-dossier .ab{font-size:13px;font-weight:600;letter-spacing:.09em;color:var(--night-mute)}
.tblm-law{display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--night-line)}
.tblm-law h3{font-size:13px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.tblm-law.e h3{color:var(--green)} .tblm-law.d h3{color:var(--blue-lit)}
.tblm-law .verdict{font-size:19px;font-weight:600;line-height:1.3}
.tblm-law dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;margin:0;font-size:15px}
.tblm-law dt{color:var(--night-mute)}
.tblm-law dd{margin:0;color:#eef3ef;overflow-wrap:anywhere}
.tblm-src{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:14px}
.tblm-src a{color:var(--blue-lit)}
.tblm-src a:hover{text-decoration:underline!important}
.tblm-pill{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.04em;padding:3px 9px;border-radius:999px}
.tblm-pill.yes{background:rgba(124,198,68,.18);color:var(--green)} .tblm-pill.no{background:rgba(255,255,255,.08);color:var(--night-mute)}
.tblm-pill.dy{background:rgba(143,162,255,.18);color:var(--blue-lit)}

/* findings */
.tblm-finds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tblm-find{background:var(--card);border-radius:16px;box-shadow:inset 0 0 0 1px var(--line);padding:24px;display:grid;gap:12px;align-content:start;min-width:0}
.tblm-find b{font-size:clamp(40px,4.4vw,56px);font-weight:600;line-height:1;letter-spacing:-.03em}
.tblm-find.e b{color:var(--green-ink)} .tblm-find.d b{color:var(--blue-ink)} .tblm-find.x b{color:var(--ink)}
.tblm-find p{color:var(--ink-2)}
.tblm-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--line)}
.tblm-bar span{display:block;height:100%}

/* timeline: one dot per state, stacked by year enacted */
.tblm-time{background:var(--card);border-radius:16px;box-shadow:inset 0 0 0 1px var(--line);padding:24px;overflow-x:auto}
.tblm-cols{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(44px,1fr);align-items:end;gap:6px;min-width:640px}
.tblm-col{display:grid;gap:4px;justify-items:center}
.tblm-col .dots{display:flex;flex-direction:column-reverse;gap:4px;align-items:center;min-height:20px}
.tblm-col .dots a{display:grid;place-items:center;width:38px;height:24px;border-radius:6px;background:var(--green);color:#0d1a08;font-size:12px;font-weight:600}
.tblm-col .dots a.ARF{background:var(--teal)} .tblm-col .dots a.ban{background:var(--card);box-shadow:inset 0 0 0 2px var(--green);color:var(--green-ink)}
.tblm-col .dots a:hover{text-decoration:none!important;outline:2px solid var(--ink);outline-offset:1px}
.tblm-col .yr{font-size:13px;color:var(--mute);border-top:1px solid var(--line);width:100%;text-align:center;padding-top:6px}
.tblm-col.empty .yr{color:#b5bdc4}

/* the full table */
.tblm-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.tblm-chip{border:0;border-radius:999px;padding:9px 15px;font-size:15px;font-weight:600;background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.tblm-chip[aria-pressed="true"]{background:var(--ink);color:#fff;box-shadow:none}
.tblm-tools input{flex:1 1 220px;min-width:0;border:0;border-radius:999px;padding:10px 16px;font:inherit;font-size:15px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink)}
.tblm-tablebox{overflow-x:auto;background:var(--card);border-radius:16px;box-shadow:inset 0 0 0 1px var(--line)}
.tblm table{border-collapse:collapse;width:100%;min-width:900px;font-size:15px}
.tblm th,.tblm td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.tblm thead th{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);position:sticky;top:0;background:var(--card)}
.tblm thead button{border:0;background:none;padding:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;display:inline-flex;gap:6px;align-items:center}
.tblm thead button[aria-sort="ascending"]:after{content:"↑"} .tblm thead button[aria-sort="descending"]:after{content:"↓"}
.tblm tbody th{font-weight:600;white-space:nowrap}
.tblm td small{display:block;color:var(--mute);font-size:13px;margin-top:2px}
.tblm .tag{display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}
.tblm .tag.EPR{background:var(--green-soft);color:var(--green-ink)} .tblm .tag.ARF{background:#e2f5f1;color:var(--teal-ink)}
.tblm .tag.ban{background:#fff;color:var(--green-ink);box-shadow:inset 0 0 0 1.5px var(--green)} .tblm .tag.none,.tblm .tag.no{background:#eef0f2;color:var(--mute)}
.tblm .tag.yes{background:var(--blue-soft);color:var(--blue-ink)}
.tblm tbody tr[hidden]{display:none}
.tblm tbody tr.hl{background:#fbfdf8}

/* what a business does about it */
.tblm-two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:start}
.tblm-steps{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:s}
.tblm-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-items:start;background:var(--card);border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);padding:16px 18px}
.tblm-steps li:before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--night);color:var(--green);font-weight:600}
.tblm-steps h3{margin-bottom:4px}
.tblm-steps p{color:var(--ink-2);font-size:16px}
.tblm-panel{background:var(--night);color:#fff;border-radius:16px;padding:28px;display:grid;gap:14px;position:sticky;top:96px}
.tblm-panel p{color:#dfe7e1}
.tblm-btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;font-weight:600;font-size:17px;text-decoration:none;transition:transform .15s ease}
.tblm-btn:hover{transform:translateY(-1px)}
.tblm-btn.primary{background:var(--green);color:#0d1a08!important}
.tblm-btn.secondary{background:rgba(255,255,255,.1);color:#fff!important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.tblm-cta{display:flex;flex-wrap:wrap;gap:12px}

/* cite and link */
.tblm-cite{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tblm-copy{background:var(--card);border-radius:16px;box-shadow:inset 0 0 0 1px var(--line);padding:20px;display:grid;gap:10px;min-width:0}
.tblm-copy pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.5 ui-monospace,Menlo,monospace;background:var(--paper);border-radius:10px;padding:12px 14px;color:var(--ink-2)}
.tblm-copy button{justify-self:start;border:0;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:600;background:var(--ink);color:#fff}

/* method, sources, faq */
.tblm-method{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
.tblm-method ul{margin:0;padding-left:20px;display:grid;gap:8px;color:var(--ink-2)}
.tblm-disclaim{font-size:15px;color:var(--mute);border-left:3px solid var(--line);padding-left:14px}
.tblm-faq{display:grid;gap:10px;max-width:880px}
.tblm-faq details{background:var(--card);border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);padding:16px 20px}
.tblm-faq summary{font-weight:600;cursor:pointer}
.tblm-faq details p{margin-top:10px;color:var(--ink-2)}
.tblm-close{background:var(--night);color:#fff}
.tblm-close .tblm-wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}
.tblm-close p{color:#dfe7e1}

@media (max-width:1024px){.tblm-atlas{grid-template-columns:1fr}.tblm-dossier{position:static;max-height:none}.tblm-panel{position:static}.tblm-finds{grid-template-columns:1fr}.tblm-two,.tblm-method,.tblm-cite{grid-template-columns:1fr}}
@media (max-width:640px){.tblm-seg button{padding:8px 11px;font-size:14px}.tblm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tblm-stat:nth-child(3){padding-left:0;border-left:0}.tblm-stat:nth-child(n+3){border-top:1px solid var(--night-line)}.tblm-map{gap:3px}.tblm-tile{border-radius:4px}}
@media (prefers-reduced-motion:reduce){.tblm *{transition:none!important}}

/* The site theme paints every button #c36 on :hover/:focus (Hello Elementor). Each button
   here states its own hover and focus, and a quick transition instead of the theme's .3s. */
.tblm button{transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .2s cubic-bezier(.16,1,.3,1)}
.tblm-seg button:hover,.tblm-seg button:focus{background:rgba(255,255,255,.12);color:#fff}
.tblm-seg button[aria-pressed="true"],.tblm-seg button[aria-pressed="true"]:hover,.tblm-seg button[aria-pressed="true"]:focus{background:#fff;color:var(--night)}
.tblm-chip:hover,.tblm-chip:focus{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.tblm-chip[aria-pressed="true"],.tblm-chip[aria-pressed="true"]:hover,.tblm-chip[aria-pressed="true"]:focus{background:var(--ink);color:#fff;box-shadow:none}
.tblm thead button:hover,.tblm thead button:focus{background:none;color:var(--ink)}
.tblm-copy button:hover,.tblm-copy button:focus{background:var(--blue-ink);color:#fff}
