/* Economy section. Tokens only (tokens.css): Jost, ink/red/line, radius 0.
   Charts are inline SVG styled here; fixed design width inside .ec-fig__scroll
   so small screens scroll the chart instead of shrinking its type. */

/* --- hero: verdict + nine tiles --- */
.ec-hero{margin:0 0 clamp(36px,6vw,64px)}
.ec-verdict{
  font-size:clamp(20px,3.4vw,32px);font-weight:800;text-transform:uppercase;
  letter-spacing:-.5px;line-height:1.15;border-left:6px solid var(--red);
  padding-left:18px;margin-bottom:28px;max-width:900px}
.ec-hero__heading{margin-bottom:14px}
.ec-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.ec-tile{background:var(--bg);padding:16px 16px 14px;display:flex;flex-direction:column;gap:6px;min-height:150px}
.ec-tile--honest{background:var(--dark);color:#fff}
.ec-tile--honest .ec-tile__name,.ec-tile--honest .ec-tile__sub,.ec-tile--honest .ec-tile__src{color:#b5b5b5}
.ec-tile--absent{opacity:.45}
.ec-tile__head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.ec-tile__name{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--muted)}
.ec-tile__rank{font-size:11px;font-weight:700;color:var(--red);border:1px solid var(--red);padding:2px 6px;white-space:nowrap}
.ec-tile--honest .ec-tile__rank{color:#ff6b6b;border-color:#ff6b6b}
.ec-tile__value{font-size:clamp(26px,3vw,34px);font-weight:800;letter-spacing:-.5px;line-height:1}
.ec-tile__arrow{font-size:.6em;vertical-align:.25em;color:var(--red)}
.ec-tile--honest .ec-tile__arrow{color:#ff6b6b}
.ec-tile__sub{font-size:13px;color:#555}
.ec-tile__spark{margin-top:auto}
.ec-tile__flag{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#8a6d00;background:#fdf6dd;padding:3px 6px;align-self:flex-start}
.ec-tile__flag--honest{color:#ffd7d7;background:#3a0d0d}
.ec-tile__src{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:auto}
.ec-tile__spark + .ec-tile__src{margin-top:4px}

/* --- question sections --- */
.ec-q{margin:0 0 clamp(36px,6vw,60px);max-width:900px}
.ec-q__q{font-size:clamp(22px,3vw,30px);margin-bottom:10px}
.ec-q__a{font-size:16px;color:#333;max-width:680px;margin-bottom:20px}

/* --- figures --- */
.ec-fig{margin:0 0 8px;border:1px solid var(--line);background:#fff;padding:16px}
.ec-fig__cap{margin-bottom:8px}
.ec-fig__title{font-weight:700;font-size:15px}
.ec-fig__unit,.ec-fig__year{font-weight:400;color:var(--muted);font-size:13px}
.ec-fig__scroll{overflow-x:auto}
.ec-fig__scroll svg{min-width:640px;width:100%;height:auto;display:block}
.ec-fig__note{font-size:12px;color:#777;margin-top:8px;max-width:640px}
.ec-fig__foot{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline;margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.ec-src{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--muted)}
a.ec-src:hover{color:var(--ink)}
.ec-fig__data summary{font-size:12px;color:var(--muted);cursor:pointer}
.ec-fig__tablewrap{overflow-x:auto;margin-top:8px}
.ec-fig__data table{border-collapse:collapse;font-size:12px;min-width:420px}
.ec-fig__data th,.ec-fig__data td{border:1px solid var(--line);padding:4px 8px;text-align:right}
.ec-fig__data th:first-child,.ec-fig__data td:first-child{text-align:left}

/* --- svg charts --- */
.ec-line__path{stroke:#888;stroke-width:1.2}
.ec-line__path.ec-focal{stroke:var(--red);stroke-width:2.2}
.ec-line__lbl{font-size:11px;fill:#555}
.ec-line__lbl.ec-focal{fill:var(--red);font-weight:700}
.ec-line__tick{font-size:10px;fill:#999}
.ec-line__zero{stroke:#ccc;stroke-width:1}
.ec-line__ann{stroke:#bbb;stroke-width:1;stroke-dasharray:2 3}
.ec-line__ann-lbl{font-size:9px;fill:#999}
.ec-line__fcst{font-size:9px;fill:var(--muted);letter-spacing:.06em}
.ec-spark__line{stroke:#999;stroke-width:1.4}
.ec-tile--honest .ec-spark__line{stroke:#777}
.ec-spark__dot{fill:#999}
.ec-dots__axis,.ec-bars__axis{stroke:#ddd;stroke-width:1}
.ec-dots__rail{stroke:#f0f0f0;stroke-width:1}
.ec-dots__dot{fill:#888}
.ec-dots__dot.ec-focal{fill:var(--red)}
.ec-dots__name{font-size:11px;fill:#555}
.ec-dots__name.ec-focal{fill:var(--red);font-weight:700}
.ec-dots__val{font-size:11px;fill:#333}
.ec-bars__bar{fill:#c9c9c9}
.ec-bars__bar.ec-focal{fill:var(--red)}
.ec-bars__val{font-size:11px;fill:#333}
.ec-bars__lbl{font-size:10px;fill:#777}
.ec-stack__band{stroke:var(--bg);stroke-width:1.5}
.ec-stack__band[data-band="0"]{fill:#2f2f2f}
.ec-stack__band[data-band="1"]{fill:#8c8c8c}
.ec-stack__band[data-band="2"]{fill:#cfcfcf}
.ec-stack__band[data-band="3"]{fill:#e10000}
.ec-stack__lbl{font-size:11px;fill:#555}

/* --- sectors teaser on overview --- */
.ec-teaser{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.ec-teaser__card{border:1px solid var(--line);background:#fff;padding:14px 16px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s}
.ec-teaser__card:hover{border-color:var(--ink)}
.ec-teaser__name{font-weight:700;font-size:15px}
.ec-status--flagged{color:#fff;background:var(--red)}
.ec-status--watchlist{color:var(--ink);background:#eee}
.ec-status--nodata{color:var(--muted);background:#f4f4f4}
.ec-teaser__status,.ec-card__status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;align-self:flex-start}

/* --- by the numbers --- */
.ec-numbers{margin:0 0 40px}
.ec-numbers__band{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:12px}
.ec-numbers__item{background:#fff;padding:14px;display:flex;flex-direction:column;gap:4px}
.ec-numbers__value{font-weight:800;font-size:20px;letter-spacing:-.3px}
.ec-numbers__unit{font-weight:400;font-size:12px;color:var(--muted)}
.ec-numbers__year{font-weight:400;font-size:12px;color:var(--muted)}
.ec-numbers__name{font-size:12px;color:#555}

.ec-methlink{margin:24px 0 0}

/* --- sector cards (sectors tab) --- */
.ec-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.ec-card{border:1px solid var(--line);background:#fff;padding:18px;display:flex;flex-direction:column;gap:10px}
.ec-card__name{font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:-.3px}
.ec-card__methods{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.ec-card__methods li{font-size:13px;color:#333;padding-left:14px;position:relative}
.ec-card__methods li::before{content:'';position:absolute;left:0;top:.5em;width:6px;height:6px;background:var(--red)}
.ec-card__opp{font-size:14px;color:#222}
.ec-card__counter{font-size:13px;color:#666;border-left:3px solid var(--line);padding-left:10px}
.ec-card__counter b{text-transform:uppercase;font-size:10px;letter-spacing:.05em;color:var(--muted);display:block;margin-bottom:2px}
.ec-card__kpis{display:flex;flex-wrap:wrap;gap:8px 18px}
.ec-card__kpi{font-size:13px}
.ec-card__kpi b{font-size:16px}

/* --- pulse tiles --- */
.ec-pulse{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.ec-intro{font-size:16px;color:#333;max-width:720px;margin-bottom:24px;border-left:6px solid var(--red);padding-left:16px}

/* --- WGI panel --- */
.ec-wgi{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.ec-wgi__cell{background:#fff;padding:14px;display:flex;flex-direction:column;gap:6px}
.ec-wgi__name{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--muted)}
.ec-wgi__value{font-size:24px;font-weight:800}

/* --- peers matrix --- */
.ec-matrixwrap{overflow-x:auto;border:1px solid var(--line);background:#fff}
.ec-matrix{border-collapse:collapse;font-size:13px;min-width:860px;width:100%}
.ec-matrix th,.ec-matrix td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:right;white-space:nowrap}
.ec-matrix thead th{font-size:11px;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--muted);border-bottom:2px solid var(--ink)}
.ec-matrix th:first-child,.ec-matrix td:first-child{
  text-align:left;position:sticky;left:0;background:#fff;max-width:230px;white-space:normal}
.ec-matrix .ec-matrix__focal{background:rgba(225,0,0,.045)}
.ec-matrix td.ec-matrix__best{font-weight:800}
.ec-matrix__meta{font-size:11px;color:var(--muted)}
.ec-matrix__srccol{font-size:10px;text-transform:uppercase;color:var(--muted)}

/* --- fact badges --- */
.ec-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:16px 0 8px}
.ec-badge{border:1px solid var(--ink);padding:14px 16px;display:flex;flex-direction:column;gap:6px;background:#fff}
.ec-badge__name{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--muted)}
.ec-badge__value{font-size:22px;font-weight:800;letter-spacing:-.3px}
.ec-badge__sub{font-size:13px;color:#555}

/* --- wages table & generic small tables --- */
.ec-table{border-collapse:collapse;font-size:14px}
.ec-table th,.ec-table td{border:1px solid var(--line);padding:6px 12px;text-align:right}
.ec-table th:first-child,.ec-table td:first-child{text-align:left}
.ec-table .ec-focalrow{background:rgba(225,0,0,.045);font-weight:700}

/* --- methodology --- */
.ec-meth{max-width:820px}
.ec-meth h2{font-size:clamp(20px,2.6vw,26px);margin:32px 0 12px}
.ec-meth p,.ec-meth li{font-size:15px;color:#333}
.ec-meth ul{padding-left:20px;display:flex;flex-direction:column;gap:6px}
.ec-meth table{border-collapse:collapse;font-size:13px;width:100%}
.ec-meth th,.ec-meth td{border:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top}

/* --- responsive --- */
@media (max-width:640px){
  .ec-verdict{font-size:19px;padding-left:12px;border-left-width:4px}
  .ec-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .ec-tile{min-height:130px;padding:12px}
  .ec-tile__value{font-size:24px}
}
@media print{
  .ec-fig__data{display:none}
  .hdr,.foot{display:none}
}
