/* Questions, comparator, legislature explorer and media pages share the Atlas paper. */
.questions-page, .question-page, .legislature-page, .media-page { max-width: 1480px; margin: auto; padding: 35px 42px 65px; }
.questions-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; padding-bottom: 32px; }
.questions-heading h1, .question-heading h1 { font: 46px/1.06 var(--serif); letter-spacing: -.035em; margin-top: 16px; }
.questions-heading h1 em, .question-heading h1 em { color: #757d6b; }
.questions-intro { max-width: 520px; font: 15px/1.65 var(--serif); color: #666f5f; }
.question-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.question-card { display: flex; flex-direction: column; gap: 12px; padding: 22px 22px 18px; background: #fffdf7; border: 1px solid #dedfd4; border-radius: 4px; color: var(--ink); min-height: 250px; transition: border-color .2s, box-shadow .2s; }
.question-card:hover { border-color: #b9bda9; box-shadow: 0 10px 28px -20px rgba(40, 48, 36, .5); color: inherit; }
.question-card.is-pilot { border-color: #c9b58d; background: #fffcf1; }
.question-kicker { display: flex; align-items: center; gap: 7px; font: 10px/1.4 var(--mono); letter-spacing: .08em; color: #6d7465; text-transform: uppercase; }
.question-kicker .icon { width: 14px; height: 14px; }
.question-kicker em { margin-left: auto; font-style: normal; background: #f0e5c9; color: #7a5e26; padding: 3px 7px; border-radius: 2px; letter-spacing: .04em; }
.question-card h2 { font: 24px/1.15 var(--serif); letter-spacing: -.02em; }
.question-card > p { font-size: 12px; line-height: 1.6; color: #74796e; flex: 1; }
.question-counts { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; border-top: 1px solid #e6e7dd; padding-top: 12px; margin: 0; }
.question-counts div { display: flex; flex-direction: column; gap: 3px; }
.question-counts dt { font: 8px/1.3 var(--mono); letter-spacing: .05em; color: #7a8071; text-transform: uppercase; }
.question-counts dd { margin: 0; font: 17px var(--serif); color: #3c4a38; }
.questions-foot { margin-top: 38px; border-top: 1px solid var(--line); padding-top: 22px; max-width: 760px; }
.questions-foot p { margin-top: 14px; font-size: 12px; line-height: 1.7; color: #747c6a; }
.question-heading { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 40px; align-items: end; padding: 18px 0 30px; border-bottom: 1px solid var(--line); }
.question-heading h1 { font-size: 42px; }
.question-heading > div > p { margin-top: 14px; max-width: 640px; font: 15px/1.65 var(--serif); color: #666f5f; }
.question-levers { display: flex; flex-wrap: wrap; gap: 8px; align-content: start; }
.question-levers .eyebrow { width: 100%; margin-bottom: 4px; }
.question-levers span:not(.eyebrow) { font-size: 11px; padding: 6px 10px; border: 1px solid #cfd3c4; border-radius: 20px; color: #4d574a; background: #fbfaf4; }
.actor-picker { padding: 26px 0 10px; }
.actor-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.actor-chip { display: flex; align-items: center; gap: 10px; padding: 6px 14px 6px 6px; border: 1px solid #d2d5c8; border-radius: 40px; background: #fffef9; text-align: left; font-size: 12px; transition: background .15s, border-color .15s; }
.actor-chip img { width: 34px; height: 42px; object-fit: cover; border-radius: 30px; filter: grayscale(1); }
.actor-chip span { display: flex; flex-direction: column; line-height: 1.2; }
.actor-chip small { font: 9px var(--mono); color: #767d6e; }
.actor-chip[aria-pressed="true"] { background: #30362f; color: #fffdf5; border-color: #30362f; }
.actor-chip[aria-pressed="true"] img { filter: none; box-shadow: 0 0 0 2px var(--party); }
.actor-chip[aria-pressed="true"] small { color: #d4d8c8; }
.compare-section { margin-top: 44px; }
.compare-section .section-line h2 { font: 30px/1.1 var(--serif); letter-spacing: -.025em; }
.compare-columns { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 16px; align-items: start; }
.compare-column { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.compare-actor { display: flex; gap: 12px; align-items: center; padding: 0 0 12px; border-bottom: 2px solid var(--party); }
.compare-actor img { width: 54px; height: 66px; object-fit: cover; filter: grayscale(1); }
.compare-actor div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.compare-actor strong { font: 20px/1.1 var(--serif); }
.compare-actor span { font-size: 11px; color: #5e665a; }
.compare-actor small { font: 9px/1.5 var(--mono); color: #7a8071; }
.compare-card { padding: 18px 18px 14px; background: #fffdf7; border: 1px solid #dedfd4; border-radius: 4px; display: flex; flex-direction: column; gap: 10px; }
.compare-lever { align-self: start; font: 9px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: #5f6c54; background: #e8ecde; padding: 4px 8px; border-radius: 2px; }
.compare-card h3 { font: 19px/1.2 var(--serif); letter-spacing: -.015em; }
.compare-card h3 a { color: inherit; }
.compare-card h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.compare-metric { display: flex; flex-direction: column; gap: 3px; padding: 10px 0; border-block: 1px solid #e6e7dd; }
.compare-metric strong { font: 30px/1 var(--serif); color: #3c4a38; letter-spacing: -.03em; }
.compare-metric span { font: 10px/1.5 var(--mono); color: #6f766a; }
.compare-metric.is-muted span { font: 11px/1.5 Arial, sans-serif; color: #7b8172; }
.compare-card > p { font-size: 12px; line-height: 1.65; color: #5f665a; }
.compare-source { display: flex; align-items: start; gap: 7px; font-size: 10px; line-height: 1.5; color: #6b7265; }
.compare-source > .icon { width: 13px; height: 13px; flex-shrink: 0; margin-top: 2px; }
.compare-source span { flex: 1; }
.compare-source a { white-space: nowrap; display: inline-flex; align-items: center; gap: 3px; color: #657e54; }
.compare-source a .icon { width: 11px; height: 11px; }
.compare-archive { font: 9px/1.4 var(--mono); color: #8a6a3a; }
.compare-watch { font-size: 11px; color: #747b6b; }
.compare-watch summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
.compare-watch summary .icon { width: 12px; height: 12px; }
.compare-watch p { margin-top: 8px; line-height: 1.6; }
.compare-state { padding: 18px; border: 1px dashed #c8ccbc; border-radius: 4px; display: flex; flex-direction: column; gap: 8px; background: #faf9f2; color: #5e665a; }
.compare-state .state-mark { font: 22px/1 var(--serif); color: #8a9080; }
.compare-state strong { font-size: 13px; }
.compare-state p { font-size: 11px; line-height: 1.65; }
.compare-state small { font: 9px var(--mono); color: #7f8676; }
.compare-state.state-not-applicable { border-style: solid; background: #f3f2ea; }
.compare-state.state-in-review { border-color: #d6c59a; background: #fdf8ea; }
.compare-loading { font: 12px var(--mono); color: #747c6a; padding: 20px 0; }
.vote-summaries { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; margin-bottom: 18px; }
.vote-summary { display: flex; gap: 12px; align-items: start; padding: 12px 14px; background: #fbfaf4; border: 1px solid var(--line); border-left: 3px solid var(--party); }
.vote-summary img { width: 34px; height: 42px; object-fit: cover; filter: grayscale(1); }
.vote-summary strong { font: 15px var(--serif); display: block; margin-bottom: 4px; }
.vote-summary p { font-size: 11px; line-height: 1.6; color: #5e665a; }
.vote-summary p strong { display: inline; font: 15px var(--serif); }
.vote-scope { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; font: 10px/1.6 var(--mono); color: #6f766a; padding: 10px 0; border-top: 1px solid var(--line); }
.vote-matrix-wrap { overflow-x: auto; border: 1px solid var(--line); background: #fffef9; }
.vote-matrix { border-collapse: collapse; width: 100%; font-size: 11px; min-width: 640px; }
.vote-matrix thead th { text-align: left; padding: 12px 10px; background: #eaece1; font-weight: normal; position: sticky; top: 0; vertical-align: bottom; }
.vote-matrix thead th img { display: block; width: 28px; height: 34px; object-fit: cover; filter: grayscale(1); margin-bottom: 5px; }
.vote-matrix thead th span { font: 10px var(--mono); }
.vote-matrix td { padding: 12px 10px; border-top: 1px solid var(--line); vertical-align: top; }
.vote-matrix-title { min-width: 280px; max-width: 460px; }
.vote-matrix-title a { color: inherit; font: 13px/1.4 var(--serif); }
.vote-matrix-title a:hover { text-decoration: underline; text-underline-offset: 4px; }
.vote-matrix-title small { display: block; margin-top: 4px; font: 9px/1.5 var(--mono); color: #767d6e; }
.pos { display: inline-block; font: 11px/1.3 Arial, sans-serif; padding: 4px 8px; border-radius: 2px; white-space: nowrap; }
.pos small { font-size: 9px; }
.pos-pour { background: #dfeee6; color: #2e6a56; }
.pos-contre { background: #f3e0dc; color: #96483b; }
.pos-abstention { background: #f3eadb; color: #8b6a2d; }
.pos-nonVotant { background: #ecece6; color: #6a6c63; }
.pos-none { background: #f1f1ea; color: #80857a; font-style: italic; white-space: normal; }
.pos-na { background: none; color: #a3a79c; font: 16px/1 var(--serif); padding: 2px 8px; }
.group-line { display: block; margin-top: 6px; font: 9px/1.5 var(--mono); color: #7a8071; }
.group-line span { color: #9a9f92; }
.study-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.study-card, .concept-card { padding: 20px 22px 16px; background: #fffdf7; border: 1px solid #dedfd4; border-radius: 4px; display: flex; flex-direction: column; gap: 10px; }
.study-meta { display: flex; justify-content: space-between; align-items: center; gap: 10px; font: 10px/1.4 var(--mono); color: #6f766a; }
.study-card h3, .concept-card h3 { font: 20px/1.2 var(--serif); letter-spacing: -.015em; }
.study-authors { font-size: 11px; color: #5e665a; }
.study-place { font: 10px/1.5 var(--mono); color: #767d6e; }
.study-card dl, .concept-card dl { display: grid; gap: 6px; margin: 4px 0 0; }
.study-card dt, .concept-card dt { font: 9px/1.4 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: #7a8071; }
.study-card dd, .concept-card dd { margin: 0 0 6px; font-size: 12px; line-height: 1.6; color: #4d554a; }
.concept-card dd ul { margin: 0; padding-left: 18px; }
.concept-card dd li { margin-bottom: 4px; }
.study-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; border-top: 1px solid #e6e7dd; padding-top: 10px; }
.study-foot small { font: 9px/1.5 var(--mono); color: #7a8071; }
.concept-discipline { background: #ece7f1; color: #5f4c73; padding: 3px 7px; border-radius: 2px; }
.concept-thesis { font: 14px/1.6 var(--serif); color: #3f473c; }
.concept-card details summary { cursor: pointer; font-size: 11px; color: #657e54; display: flex; align-items: center; gap: 6px; }
.concept-card details summary .icon { width: 12px; height: 12px; }
.prism-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.prism-list li { padding: 16px; background: #fbfaf4; border-top: 2px solid #a4543f; font: 13px/1.5 var(--serif); }
.prism-list li span { display: block; font: 9px/1.5 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: #7a8071; margin-bottom: 8px; }
.coverage-table, .coverage-matrix { border-collapse: collapse; width: 100%; font-size: 11px; background: #fffef9; }
.coverage-table th, .coverage-matrix th { text-align: left; font-weight: normal; padding: 10px 10px; background: #eaece1; font: 10px var(--mono); }
.coverage-table td, .coverage-matrix td { padding: 10px; border-top: 1px solid var(--line); vertical-align: top; }
.coverage-table tbody th, .coverage-matrix tbody th { background: none; font: 13px var(--serif); border-top: 1px solid var(--line); }
.coverage-matrix tbody th small { display: block; font: 8px var(--mono); color: #8a6a3a; letter-spacing: .08em; text-transform: uppercase; }
.coverage-table td span:not(.state-mark) { display: block; font-size: 10px; line-height: 1.5; color: #5e665a; margin-top: 4px; }
.coverage-matrix-wrap { overflow-x: auto; border: 1px solid var(--line); }
.coverage-matrix thead th img { display: block; width: 28px; height: 34px; object-fit: cover; filter: grayscale(1); margin-bottom: 5px; }
.coverage-matrix td { text-align: center; }
.coverage-matrix td small { display: block; font: 8px/1.5 var(--mono); color: #767d6e; }
.state-mark { font: 18px/1 var(--serif); color: #8a9080; }
.cov-documented .state-mark { color: #377e69; }
.cov-not-found .state-mark { color: #b07d3a; }
.cov-not-applicable .state-mark { color: #a3a79c; }
.cov-in-review .state-mark { color: #c49a4c; }
.coverage-legend { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; font: 10px/1.5 var(--mono); color: #6f766a; }
.coverage-legend i { font: 14px var(--serif); margin-right: 5px; }
/* Legislature explorer */
.legislature-layout { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 36px; align-items: start; }
.legislature-filters { display: grid; gap: 14px; padding-right: 24px; border-right: 1px solid var(--line); position: sticky; top: 20px; }
.legislature-filters label { display: grid; gap: 6px; font-size: 11px; color: #626b5c; }
.legislature-filters input, .legislature-filters select { width: 100%; border: 1px solid #ced2c5; border-radius: 3px; min-height: 40px; padding: 9px; background: #fffef8; color: var(--ink); font: 12px Arial, sans-serif; }
.legislature-filters .toggle { display: flex; align-items: center; gap: 8px; }
.legislature-filters .toggle input { width: auto; min-height: 0; }
.legislature-count { font: 10px var(--mono); color: #6f766a; }
.scrutin-list { display: grid; gap: 10px; }
.scrutin-item { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 16px; padding: 14px 16px; background: #fffdf7; border: 1px solid #dedfd4; border-radius: 4px; color: inherit; }
.scrutin-item:hover { border-color: #b9bda9; color: inherit; }
.scrutin-item strong { font: 15px/1.35 var(--serif); display: block; }
.scrutin-item small { display: block; margin-top: 5px; font: 9px/1.5 var(--mono); color: #767d6e; }
.scrutin-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.scrutin-tags span { font: 8px/1.4 var(--mono); letter-spacing: .05em; text-transform: uppercase; background: #e8ecde; color: #5f6c54; padding: 2px 6px; border-radius: 2px; }
.scrutin-result { display: flex; flex-direction: column; gap: 6px; font-size: 10px; color: #6f766a; }
.scrutin-result .result-bar { display: flex; height: 7px; gap: 1px; overflow: hidden; border-radius: 1px; }
.scrutin-result .result-bar i { display: block; height: 100%; }
.scrutin-result b { font: 13px var(--serif); color: #3c4c3a; font-weight: normal; }
.scrutin-detail-head { display: flex; justify-content: space-between; gap: 20px; align-items: start; flex-wrap: wrap; }
.tracked-positions { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin: 22px 0; }
.tracked-position { display: flex; gap: 12px; align-items: center; padding: 12px 14px; background: #fbfaf4; border: 1px solid var(--line); border-left: 3px solid var(--party); }
.tracked-position img { width: 34px; height: 42px; object-fit: cover; filter: grayscale(1); }
.tracked-position strong { font: 14px var(--serif); display: block; margin-bottom: 4px; }
.pager { display: flex; justify-content: center; gap: 10px; margin-top: 18px; }
/* Media & money */
.media-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.media-card { padding: 18px 20px; background: #fffdf7; border: 1px solid #dedfd4; border-radius: 4px; }
.media-card h3 { font: 20px/1.2 var(--serif); margin-bottom: 6px; }
.media-card .media-total { font: 34px/1 var(--serif); color: #3c4a38; letter-spacing: -.03em; }
.media-card .media-sub { font: 10px/1.5 var(--mono); color: #6f766a; margin: 6px 0 12px; }
.spark { display: flex; align-items: end; gap: 3px; height: 54px; }
.spark i { flex: 1; background: var(--party, #526148); min-height: 2px; opacity: .85; }
.spark-labels { display: flex; justify-content: space-between; font: 8px var(--mono); color: #8a8f82; margin-top: 4px; }
.media-channels { margin-top: 12px; font-size: 11px; color: #5e665a; line-height: 1.7; }
.accounts-table { border-collapse: collapse; width: 100%; font-size: 11px; background: #fffef9; }
.accounts-table th { text-align: left; font-weight: normal; padding: 10px; background: #eaece1; font: 10px var(--mono); }
.accounts-table td { padding: 10px; border-top: 1px solid var(--line); text-align: right; font: 11px var(--mono); }
.accounts-table td:first-child, .accounts-table td:nth-child(2) { text-align: left; font: 12px Arial, sans-serif; }
.accounts-table .neg { color: #96483b; }
@media (max-width: 1150px) {
  .questions-page, .question-page, .legislature-page, .media-page { padding: 30px 28px 50px; }
  .question-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .compare-columns { grid-template-columns: repeat(min(var(--cols, 3), 2), minmax(0, 1fr)); }
  .study-grid { grid-template-columns: 1fr; }
  .prism-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .legislature-layout { grid-template-columns: 260px minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 820px) {
  .questions-heading, .question-heading { grid-template-columns: 1fr; display: grid; gap: 18px; }
  .questions-heading h1, .question-heading h1 { font-size: 36px; }
  .question-grid { grid-template-columns: 1fr; }
  .compare-columns { grid-template-columns: 1fr; }
  .prism-list { grid-template-columns: 1fr; }
  .legislature-layout { grid-template-columns: 1fr; }
  .legislature-filters { position: static; border-right: 0; padding-right: 0; }
  .scrutin-item { grid-template-columns: 1fr; }
  .question-counts { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 520px) {
  .questions-page, .question-page, .legislature-page, .media-page { padding: 25px 20px 45px; }
  .questions-heading h1, .question-heading h1 { font-size: 32px; }
  .actor-chip { padding-right: 10px; }
  .actor-chip span { font-size: 11px; }
}
/* Lens extras inside a proposal dossier */
.lens-extra { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); display: grid; gap: 12px; }
.lens-study { padding: 12px 14px; background: #fbfaf4; border: 1px solid var(--line); display: grid; gap: 6px; }
.lens-study strong { font: 15px/1.3 var(--serif); }
.lens-study small { font: 9px/1.5 var(--mono); color: #767d6e; }
.lens-study p { font-size: 11px; line-height: 1.6; color: #5e665a; }
.lens-votes { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.lens-votes li { padding: 10px 12px; background: #fbfaf4; border: 1px solid var(--line); display: grid; gap: 5px; }
.lens-votes a { font: 13px/1.4 var(--serif); color: inherit; }
.lens-votes a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lens-votes small { font: 9px/1.5 var(--mono); color: #767d6e; }
.lens-votes li > div { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
