@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

/*
 * Voto em Contexto — sistema visual civico-editorial.
 * Esta camada altera somente apresentacao. Estrutura, conteudo e interacoes
 * continuam sob responsabilidade dos estilos e scripts originais.
 */
:root{
  --navy:#123b5d;
  --navy2:#0d304c;
  --blue:#123b5d;
  --green:#087443;
  --yellow:#f4c542;
  --paper:#f7f7f3;
  --white:#fff;
  --ink:#17211d;
  --muted:#66716c;
  --line:#dde3df;
  --cyan:#398c75;
  --orange:#9b5b3d;
  --radius:10px;
  --shadow:0 8px 24px rgba(18,59,93,.06);
  --green-deep:#063b2a;
  --green-soft:#edf5f0;
  --blue-soft:#edf2f6;
  --yellow-soft:#fff8dc;
}

*{scrollbar-color:#aebdb5 #eef1ee}
html{background:var(--paper)}
body{
  background:linear-gradient(180deg,#f7f7f3 0%,#f2f6f2 48%,#f7f7f3 100%);
  color:var(--ink);
  font-family:'Inter',Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,strong,.candidate-number{
  font-family:'Manrope','Inter',sans-serif;
}
h1,h2,h3{color:var(--ink);letter-spacing:-.035em}
p{letter-spacing:-.005em}

/* Navegacao: identidade presente, sem aparencia institucional. */
.topbar{
  height:76px;
  background:rgba(255,255,255,.98);
  color:var(--ink);
  border-bottom:1px solid var(--line);
  box-shadow:0 2px 10px rgba(6,59,42,.045);
  backdrop-filter:blur(12px);
}
.topbar:after{content:'';position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--green)}
.topbar .brand{gap:11px;color:var(--ink);font-weight:600}
.topbar .brand:after{display:none}
.topbar .brand-mark{
  width:40px;
  height:40px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:none;
}
.topbar nav{gap:4px}
.topbar nav a,.topbar nav .priority{
  position:relative;
  padding:10px 10px;
  border-radius:8px;
  color:#52615a;
  font-size:12px;
  font-weight:650;
}
.topbar nav .priority:before{display:none}
.topbar nav a:after{
  content:'';
  position:absolute;
  right:10px;
  bottom:4px;
  left:10px;
  height:2px;
  border-radius:2px;
  background:transparent;
  transform:scaleX(.35);
  transition:background .18s ease,transform .18s ease;
}
.topbar nav a:hover,.topbar nav a[aria-current=page],.topbar nav .priority:hover,.topbar nav .priority[aria-current=page]{background:var(--green-soft);color:var(--green-deep)}
.topbar nav a:hover:after,.topbar nav a[aria-current=page]:after{background:var(--green);transform:scaleX(1)}
.topbar nav .colinha-link{
  margin-left:6px;
  border:1px solid var(--green);
  background:var(--green);
  color:#fff;
  box-shadow:none;
}
.topbar nav .colinha-link:hover,.topbar nav .colinha-link[aria-current=page]{border-color:var(--green-deep);background:var(--green-deep);color:#fff}
.topbar nav .colinha-link:after{display:none}
.menu-button{border:1px solid #9cadA4;border-radius:8px;background:#fff;color:var(--green-deep);font-size:12px;font-weight:700}

/* Home: o caminho do voto aparece como linha, pontos e conexoes. */
.home-view{overflow-x:clip;background:var(--paper)}
.home-view .hero{
  position:relative;
  isolation:isolate;
  min-height:520px;
  padding:78px 0 72px;
  color:var(--ink);
}
.home-view .hero:before{
  content:'';
  position:absolute;
  z-index:-2;
  inset:0 calc(50% - 50vw);
  background:linear-gradient(135deg,#fff 0%,#f2f7f3 68%,#edf3f6 100%);
  border-bottom:1px solid var(--line);
}
.home-view .hero:after{
  content:'';
  position:absolute;
  z-index:-1;
  right:max(28px,calc((100vw - 1160px)/2 + 30px));
  top:142px;
  width:320px;
  height:118px;
  border-top:2px solid #a9c8b7;
  border-right:2px solid #a9c8b7;
  border-radius:0 70px 0 0;
  box-shadow:40px -42px 0 -34px var(--green),128px -42px 0 -34px var(--blue),216px -42px 0 -34px var(--yellow),312px 110px 0 -34px var(--green);
  opacity:.9;
}
.home-view .hero-copy{position:relative}
.home-view .hero-copy:before{
  content:'';
  display:block;
  width:54px;
  height:4px;
  margin-bottom:24px;
  border-radius:3px;
  background:var(--yellow);
}
.home-view .hero-copy>.eyebrow{display:block;margin-bottom:13px;color:var(--green)}
.home-view .hero-copy h1{max-width:730px;font-size:clamp(48px,6vw,76px);line-height:1;letter-spacing:-.055em}
.home-view .hero-copy h1 em{position:relative;color:var(--green);font-style:normal}
.home-view .hero-copy h1 em:after{content:'';position:absolute;right:0;bottom:-4px;left:0;height:4px;border-radius:3px;background:var(--yellow)}
.home-view .lede{max-width:610px;margin-top:24px;color:#53615b;font-size:18px;line-height:1.65}
.candidate-search>label{color:#56645e;font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.search-row-input{
  gap:7px;
  padding:6px;
  border:1px solid #cbd6d0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 22px rgba(18,59,93,.075);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.search-row-input:focus-within{border-color:#7aa58e;box-shadow:0 0 0 3px rgba(8,116,67,.09),0 8px 22px rgba(18,59,93,.075)}
.search-row-input input{background:transparent}
.search-row-input button,.filters button,.load-actions button,.share-actions button{
  border-radius:8px;
  background:var(--green);
  box-shadow:none;
  transition:background .18s ease,transform .18s ease;
}
.search-row-input button:hover,.filters button:hover,.load-actions button:hover,.share-actions button:hover{background:var(--green-deep);transform:translateY(-1px)}
.hero-meta{color:var(--muted)}
.hero-meta strong{color:var(--ink)}
.hero-meta a,.hero-secondary a{color:var(--green)}

/* Aberturas internas: menos intensas do que a home. */
.page-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(135deg,#fff 0%,#f3f7f4 65%,#edf3f7 100%);
  color:var(--ink);
  border-bottom:1px solid var(--line);
}
.page-hero:before{
  content:'';
  position:absolute;
  z-index:-1;
  top:50%;
  right:max(32px,calc((100vw - 1160px)/2));
  width:250px;
  height:1px;
  background:#a8c7b5;
  box-shadow:60px -38px 0 0 #fff,60px -38px 0 6px var(--green),138px -38px 0 0 #fff,138px -38px 0 6px var(--blue),216px -38px 0 0 #fff,216px -38px 0 6px var(--yellow);
}
.page-hero:after{content:'';position:absolute;z-index:-1;right:0;bottom:0;width:22%;height:5px;background:var(--blue)}
.page-hero.compact{padding-top:72px;padding-bottom:72px}
.page-hero h1{max-width:800px;color:var(--ink);font-size:clamp(40px,4.7vw,60px);line-height:1.04}
.page-hero>p:not(.eyebrow){position:relative;max-width:650px;color:#596760;font-size:1rem}
.eyebrow,.eyebrow.dark,.page-hero .eyebrow{color:var(--green);font-size:10px;letter-spacing:.15em}
.page-hero .candidate-search>label,.candidates-hero .page-search>label{color:#52605a}
.candidates-hero .page-search>small{color:var(--muted)}
.page-hero .compare-entry{color:var(--green);font-weight:700}

/* Hierarquia editorial: secoes abertas e superficies apenas quando uteis. */
.journey-section{border-bottom:1px solid var(--line)}
.journey-grid{position:relative}
.journey-card{position:relative;border-color:var(--line);transition:border-color .18s ease,background .18s ease}
.journey-card>span{border:0;border-radius:50%;background:var(--green-soft);color:var(--green);font-family:'Inter',sans-serif;font-weight:700}
.journey-card strong{font-family:'Manrope',sans-serif;font-size:1.25rem}
.journey-card b{color:var(--green);transition:transform .18s ease}
.journey-card:hover,.journey-card:focus-visible{border-color:#91b4a0;background:#fff}
.journey-card:hover b{transform:translateX(3px)}
.home-election-paths{border-color:var(--line)}
.home-election-paths article{position:relative;background:transparent}
.home-election-paths article:before{content:'';position:absolute;right:28px;top:30px;width:12px;height:12px;border:2px solid var(--blue);border-radius:50%;background:#fff}
.home-election-paths article+article:before{border-radius:2px;border-color:var(--green);transform:rotate(45deg)}
.home-election-paths h3{font-size:1.55rem}
.journey-section+.home-context{margin-top:4.5rem}
.home-context+.home-chapter{padding-top:5rem}
.home-context{
  position:relative;
  overflow:hidden;
  border:0;
  border-left:5px solid var(--yellow);
  border-radius:12px;
  background:linear-gradient(120deg,var(--green-deep) 0%,#0a5138 42%,var(--blue) 100%);
  box-shadow:var(--shadow);
}
.home-context:after{content:'';position:absolute;right:42px;bottom:38px;width:150px;height:70px;border-top:1px solid rgba(255,255,255,.28);border-right:1px solid rgba(255,255,255,.28);border-radius:0 50px 0 0}
.home-context h2{color:#fff}
.home-context .eyebrow{color:#b8ddca}
.home-context .editorial-link{border-color:var(--yellow)}
.home-utility-links a,.editorial-link,.office-link{color:var(--green)}

/* Controles: interface clara, estados reconheciveis. */
.filter-panel,.comparison-panel,.technical-method{border-color:var(--line)}
.filter-panel>summary,.comparison-panel>summary,.technical-method>summary{color:var(--ink)}
.filter-panel>summary:after,.comparison-panel>summary:after,.technical-method>summary:after{color:var(--green)}
.filters,.context-bar,.party-control,.data-control,.compare-builder{
  border:1px solid var(--line);
  border-radius:12px;
  background:linear-gradient(145deg,#fff 0%,#f9fbf9 100%);
  box-shadow:0 5px 16px rgba(18,59,93,.035);
}
.compare-builder{padding:2rem}
.compare-builder-heading{margin-bottom:1.25rem}
.compare-slots{overflow:hidden;border:1px solid var(--line);border-radius:10px}
.compare-slot{padding:1.25rem 1.35rem}
input,select{border-radius:8px;border-color:#cbd5d0}
select:focus,input:focus{border-color:#72a087}
.filters button.secondary,#clearCandidateFilters,.secondary{border-color:#cbd5d0;background:#fff;color:#40554b}

/* Candidaturas: fichas editoriais, nao blocos de dashboard. */
.candidate-grid{gap:16px}
.candidates-view .candidate-card,.result-button{
  border:1px solid var(--line);
  border-radius:10px;
  background:linear-gradient(180deg,#fff 0%,#fbfdfb 100%);
  box-shadow:0 4px 14px rgba(18,59,93,.035);
}
.candidates-view .candidate-card:before{content:'';height:3px;background:var(--green)}
.candidates-view .candidate-card:hover,.result-button:hover{border-color:#9bb9aa;box-shadow:0 8px 22px rgba(18,59,93,.075);transform:translateY(-2px)}
.candidates-view .candidate-card .avatar{border:1px solid var(--line);border-radius:8px;background:#eef3f0}
.candidate-card-office{color:var(--muted);letter-spacing:.08em}
.candidates-view .candidate-card .candidate-number{color:var(--green)}
.candidate-card-affiliation{display:flex!important;align-items:center;gap:.45rem;min-width:0}
.candidate-card-affiliation>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.candidate-card-party-logo{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--blue);font:800 7px Inter,sans-serif}
.candidate-card-party-logo img{width:100%;height:100%;object-fit:contain;padding:2px}
.candidate-card-status{border-color:var(--line)}
.candidate-card-action{color:var(--green)}
.candidate-compare-toggle{
  position:relative;
  border-color:#cad6d0;
  border-radius:8px;
  background:#f7f9f7;
  color:#3d5047;
  padding-left:42px;
  text-align:left;
}
.candidate-compare-toggle:before{content:'';position:absolute;left:15px;top:12px;width:14px;height:14px;border:1.5px solid #879b91;border-radius:3px;background:#fff}
.candidate-compare-toggle:hover{border-color:#8fb09f;background:var(--green-soft)}
.candidate-compare-toggle.is-selected{border-color:var(--green);background:var(--green-soft);color:var(--green-deep)}
.candidate-compare-toggle.is-selected:before{border-color:var(--green);background:var(--green);box-shadow:inset 0 0 0 3px #fff}
.candidate-compare-tray{border-color:#a6bdb1;border-radius:12px;background:rgba(255,255,255,.98);box-shadow:0 12px 28px rgba(18,59,93,.1)}
.candidate-compare-chips button,.active-candidate-filters button{border-radius:7px;background:#fff}
.candidate-compare-tray-actions .open-explorer-comparison{border-radius:8px;background:var(--green)}
.candidate-stats-section{border-color:var(--line)}
.candidate-stats-summary>div,.candidate-stats-grid>article,.chart-grid article{
  border:1px solid var(--line);
  border-radius:10px;
  background:linear-gradient(150deg,#fff 0%,#f8fbf9 100%);
  box-shadow:0 4px 14px rgba(18,59,93,.03);
}
.candidate-stat-bars i{height:6px;border-radius:6px;background:#edf0ed}
.candidate-stat-bars em{border-radius:6px;background:var(--green)}
.candidate-stats-summary>div:nth-child(even){background:linear-gradient(150deg,#fff 0%,var(--blue-soft) 100%)}

/* Perfis e narrativa: editorial, com decoracao minima. */
.tag,.source-status,.member-pills span,.data-context-badge,.party-context-badge,.office-type{border-radius:6px}
.tag-data{background:var(--blue-soft);color:var(--blue)}
.tag-rule{background:var(--yellow-soft);color:#6b5310}
.tag-explanation,.tag-calculation{background:var(--green-soft);color:var(--green-deep)}
.tag-history{background:var(--blue-soft);color:var(--blue)}
.loading,.empty,.error{border-radius:10px;background:#fff}
.avatar{border-radius:8px}
.candidate-identity{border-color:var(--line)}
.candidate-identity .avatar{border:1px solid var(--line);border-radius:10px;box-shadow:none}
.candidate-primary-actions{border-color:var(--line);border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(18,59,93,.045)}
.candidate-primary-actions button,.candidate-primary-actions>a{border-radius:8px}
.candidate-primary-actions .candidate-ballot-control button{background:var(--green);color:#fff}
.candidate-primary-actions .candidate-ballot-control button:hover{background:var(--green-deep)}
.candidate-primary-actions .candidate-compare-action{border:1px solid #c7d5dd;background:var(--blue-soft);color:var(--blue)}
.candidate-primary-actions .candidate-share-action{border-color:#cad5d0;background:#fff;color:var(--ink)}
.candidate-profile-header a,.candidate-profile a,.comparison-overview article>a{color:var(--green)}
.vote-answer{border:0;border-left:4px solid var(--green);border-radius:10px;background:var(--green-soft)}
.vote-map-steps article{border-radius:10px;box-shadow:none}
.vote-map-steps article:nth-of-type(2){border-color:var(--blue);background:var(--blue-soft)}
.vote-map-steps article:nth-of-type(3){border-color:#849791;background:#f2f4f2}
.vote-map-steps article:nth-of-type(4){border-color:#b79731;background:var(--yellow-soft)}
.history-heading{border-color:var(--blue)}
.story-card,.party-summary,.rule-columns article,.data-card,.contest-comparison,.history-context{border-radius:10px}
.deep-section,.candidate-more,.current-contest,.office-group,.historical-explorer,.charts-section,.state-data-section{border-color:var(--line)}
.proportional-group{border-radius:12px;background:var(--green-soft)}
.senate-note{border-color:var(--yellow)}

/* Comparacao, tabelas e dados: decoracao recua para a leitura dominar. */
.compare-builder-heading>button{border-color:#c7d5dd;border-radius:8px;background:var(--blue-soft);color:var(--blue)}
.compare-slot-index{background:var(--green-soft);color:var(--green)}
.comparison-overview{border-color:var(--line)}
.comparison-overview-person img,.comparison-overview-person>span,.comparison-person img,.comparison-person>span{border:1px solid var(--line);border-radius:8px}
.comparison-toolbar,.comparison-table-scroll,.comparison-mobile-row{border-color:var(--line);border-radius:10px;background:#fff}
.comparison-filters button,.comparison-toolbar>#comparisonDifferencesOnly,#comparisonTableToggle{border-radius:7px}
.comparison-filters button.is-active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}
.comparison-toolbar>#comparisonDifferencesOnly[aria-pressed=true]{border-color:var(--green);background:var(--green-soft);color:var(--green-deep)}
.comparison-mobile-category>h3,.comparison-category th{background:var(--green-soft)!important;color:var(--green-deep)}
.comparison-mobile-row>div>div{border-radius:8px;background:#f5f7f5}
.comparison-mobile-row>div strong{color:var(--blue)}
.candidate-comparison{padding-top:2rem}
.table-scroll table{background:#fff}
.table-scroll th{border-bottom:2px solid #bdcbc4;color:#34473e;font-size:.72rem;letter-spacing:.055em;text-transform:uppercase}
.chart-grid canvas{filter:none}
.candidate-stat-bars em{background:var(--green)}
.candidate-stat-bars>div:nth-child(3n+2) em{background:var(--yellow)}
.candidate-stat-bars>div:nth-child(3n) em{background:var(--blue)}
.data-view .charts-section+.data-overview{margin-top:0;margin-bottom:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}

/* Eleicoes, partidos, metodologia e colinha compartilham o mesmo vocabulario. */
.office-grid article,.source-card{border-color:var(--line)}
.elections-view .office-grid article,.elections-view .office-grid article+article{border-color:var(--line);border-radius:10px;box-shadow:0 4px 14px rgba(18,59,93,.025)}
.elections-view .proportional-office{border-top-color:var(--green)!important}
.elections-view .senate-office{border-top-color:var(--yellow)!important}
.election-type-switch button{border-radius:8px}
.election-type-switch button.is-active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}
.elections-view .office-link{border-radius:8px;background:var(--blue-soft);color:var(--blue)}
.election-overview-card{
  border:1px solid #cbdcd2;
  border-left:4px solid var(--green);
  border-radius:12px;
  background:linear-gradient(125deg,#e8f4ed 0%,#eff5f1 45%,#eaf1f6 100%);
  color:var(--ink);
  box-shadow:0 8px 24px rgba(18,59,93,.06);
}
.election-overview-copy h2{color:var(--ink)}
.election-overview-copy>p{color:#4d6258}
.election-overview-copy .share-actions a{border:1px solid #c5d5ce;background:#fff;color:var(--blue)}
.election-overview-copy .share-actions a:first-child{border-color:var(--green);background:var(--green);color:#fff}
.election-ballot-order li{border-color:#d3dfd8;background:rgba(255,255,255,.78);color:var(--ink)}
.election-ballot-order li:before{background:var(--blue);color:#fff}
.election-ballot-order small{color:var(--muted)}
.office-card-top b{color:var(--green-deep)}
.party-summary,.technical-method .method-grid article{background:#fff}
.party-profile{grid-template-columns:minmax(0,1fr)}
.party-profile>*{min-width:0}
.member-pills span{background:var(--blue-soft);color:var(--blue)}
.source-catalog{gap:12px;padding-top:3.5rem}
.source-card{
  padding:1.6rem;
  border:1px solid var(--line);
  border-radius:10px;
  background:linear-gradient(145deg,#fff 0%,#f8fbf9 100%);
}
.source-card:last-child{border-bottom:1px solid var(--line)}
.technical-method{padding-inline:1.25rem;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.45)}
.data-view .data-overview .data-card,.data-view .data-overview .data-card:nth-child(even),.data-view .data-overview .data-card:last-child:nth-child(odd){border-radius:10px}
.data-reading-key span:last-child{border-color:#8b9992}
.data-context-badge{border-radius:7px}
.data-comparison-empty,.temporal-comparison,.data-next-actions{border-radius:10px}
.colinha-layout>*{min-width:0}
.ballot-slots{gap:10px;border-top:0}
.ballot-slot{padding:1.05rem 1.15rem;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(239,246,241,.72));box-shadow:0 3px 12px rgba(18,59,93,.03)}
.slot-head h2:before{border-radius:50%;background:var(--blue)}
.slot-choice{border-radius:8px;background:var(--green-soft)}
.sticky-preview .preview-card{border:1px solid var(--line);border-top:4px solid var(--green);border-radius:12px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}
.sticky-preview .preview-card h2,.sticky-preview .preview-card strong,.sticky-preview .preview-progress b{color:var(--ink)}
.sticky-preview .preview-card>p,.sticky-preview .preview-progress span,.sticky-preview .share-note{color:var(--muted)!important}
.sticky-preview .preview-progress i{background:#e4e9e6}
.sticky-preview .preview-progress em{background:var(--green)}
.colinha-intro,.ballot-mobile-status{border-radius:10px}

footer{border-top:4px solid var(--green);background:linear-gradient(115deg,var(--green-deep) 0%,#064832 52%,var(--blue) 100%);color:#d7e3dc}
footer .brand-mark{border-radius:8px;background:#fff}

/* Microinteracoes e acessibilidade. */
a,button,.candidate-card,.result-button{transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(244,197,66,.9);outline-offset:3px}

@media(max-width:900px){
  .topbar nav{top:75px;padding:12px 18px 18px;border-bottom:2px solid var(--green);background:#fff;box-shadow:0 16px 30px rgba(18,59,93,.1)}
  .topbar nav a{padding:12px 9px;border-bottom:1px solid var(--line);color:#43534b}
  .topbar nav a:after{display:none}
  .topbar nav .colinha-link{margin-top:8px;text-align:center}
  .home-view .hero:after{right:30px;width:230px;opacity:.5}
  .page-hero:before{right:22px;width:180px;opacity:.6}
}

@media(max-width:600px){
  .shell{width:min(100% - 40px,1160px)}
  .topbar{height:68px}
  .topbar .brand-mark{width:36px;height:36px;border-radius:8px}
  .topbar nav{top:67px}
  .home-view .hero{min-height:0;padding:52px 0 54px}
  .home-view .hero:after{right:-128px;top:112px;width:230px;height:90px;opacity:.38}
  .home-view .hero-copy:before{width:42px;height:3px;margin-bottom:18px}
  .home-view .hero-copy h1{max-width:350px;font-size:43px;line-height:1.02}
  .home-view .lede{font-size:16px;line-height:1.58}
  .home-view .candidate-search{margin-top:25px}
  .search-row-input{box-shadow:0 6px 18px rgba(18,59,93,.07)}
  .search-row-input button{width:100%}
  .hero-meta{gap:8px;margin-top:17px}
  .page-hero.compact{padding:48px 20px}
  .page-hero:before{right:-115px;top:32%;opacity:.45}
  .page-hero:after{width:32%;height:3px}
  .page-hero h1{max-width:350px;font-size:38px}
  .page-hero>p:not(.eyebrow){font-size:.94rem;line-height:1.58}
  .journey-section{padding-top:3.5rem}
  .journey-card strong{font-size:1.16rem}
  .home-context{border-left-width:4px;box-shadow:none}
  .home-context:after{right:-70px;opacity:.45}
  .journey-section+.home-context{margin-top:3rem}
  .home-context+.home-chapter{padding-top:4rem}
  .candidate-grid{gap:12px}
  .candidates-view .candidate-card-profile{grid-template-columns:58px minmax(0,1fr)}
  .candidates-view .candidate-card .avatar{width:58px;height:58px;flex-basis:58px}
  .candidate-compare-tray{top:76px;box-shadow:0 10px 24px rgba(18,59,93,.1)}
  .candidate-stats-summary>div,.candidate-stats-grid>article{padding:.9rem}
  .proportional-group{margin-right:0;margin-left:0;border-radius:10px}
  .data-control,.party-control{width:calc(100% - 40px)}
  .preview-card{margin-inline:0}
  .election-overview-card{gap:1rem;padding:1.25rem}
  .election-ballot-order{gap:.65rem}
  .election-ballot-order li{padding:.75rem}
  .compare-builder{padding:1.25rem}
  .compare-builder-heading{gap:1rem;margin-bottom:1rem}
  .compare-slot{padding:1rem}
  .candidate-comparison{padding-top:1.5rem}
  .comparison-filters{flex-wrap:wrap;overflow:visible;padding-bottom:0}
  .comparison-filters button{flex:1 1 auto}
  .source-catalog{gap:10px;padding-top:2.5rem}
  .source-card{padding:1.25rem}
  .technical-method{padding-inline:1rem}
  .ballot-slot{padding:1rem}
}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}
