/* Shared elections hub, domain landings and policy questions. */
.election-page .detail-hero{padding-bottom:48px}
.election-page .detail-hero h1{font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.27}
.election-page .detail-hero-copy>p{max-width:640px}
.election-section{padding-block:52px}
.election-section>h2{font-size:clamp(1.75rem,3vw,2.7rem);line-height:1.3;margin:12px 0 30px}
.elections-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.election-domain{display:flex;flex-direction:column;color:inherit;border:1px solid #dfd0bd;background:#fffaf4;text-decoration:none;transition:box-shadow .2s,transform .2s}
.election-domain:hover{box-shadow:0 12px 24px #57352718;transform:translateY(-3px)}
.election-domain>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.election-domain-copy{display:flex;flex-direction:column;align-items:start;padding:23px;flex:1}
.election-domain h3{font-size:25px;color:#782d23;line-height:1.35;margin:10px 0}
.election-domain p{line-height:1.85;color:#62574f;margin:0 0 22px}
.election-domain .view-all{margin-top:auto}
.election-questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.election-question{display:flex!important;align-items:start;gap:20px;border:1px solid #dfd0bd;background:#fffaf4;padding:26px;color:inherit;text-decoration:none;min-width:0}
.election-question:hover{border-color:#a96143;background:#f8f0e6}
.election-question h3{font-size:21px;line-height:1.6;color:#572b23;margin:10px 0 18px}
.election-question[hidden]{display:none!important}
.question-number{font-size:30px;line-height:1.3;color:#ac7454;font-variant-numeric:tabular-nums;font-weight:600}
.election-source-link{margin-top:30px}
.election-library{max-width:1000px}.election-library .source-cards{display:grid;gap:18px}
.election-page .source-ref{overflow-wrap:anywhere}
.election-page .source-ref strong{line-height:1.7}
.election-page .source-ref span{line-height:1.75}
.followup-list{padding-inline-start:25px}.followup-list li{padding:14px 8px;line-height:1.9;border-bottom:1px solid #e5d9cb}
.election-page .proposal p{margin-top:0;line-height:1.9}
.all-questions{border-top:2px solid #ad7957;border-bottom:1px solid #dac9b5;padding:22px 0}
.all-questions>summary{cursor:pointer;font-size:24px;font-weight:700;color:#782d23}
.all-questions>.election-question{margin-top:14px}
.question-search{margin:25px 0;display:flex;flex-direction:column;gap:9px}
.question-search input{width:100%;max-width:600px;padding:15px;border:1px solid #af927b;background:white;font:inherit;border-radius:2px}
.election-about{padding:55px 0;background:#f0e4d4;border-top:1px solid #deccb6}
.election-about h2{font-size:32px;line-height:1.3;margin-bottom:30px}
.election-about b{font-size:21px;color:#782d23}.election-about p{line-height:1.9;max-width:330px}
.election-page :focus-visible{outline:3px solid #9e5738;outline-offset:5px}
@media(max-width:1050px){.elections-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.election-page .top-nav{gap:12px}.election-page .brand-type strong{font-size:14px}}
@media(max-width:760px){.elections-grid,.election-questions{grid-template-columns:minmax(0,1fr)}.election-section{padding-block:34px}.election-question{padding:22px;gap:14px}.election-domain-copy{padding:22px}.election-page .detail-hero{padding-bottom:30px}.election-about h2{font-size:27px}.election-page .brand-type strong{font-size:12px}.election-page .brand-divider{display:none}.election-page .detail-hero h1{font-size:2rem}.election-page .source-ref{padding:18px;gap:12px}}
@media(prefers-reduced-motion:reduce){.election-domain{transition:none}.election-domain:hover{transform:none}}
@media print{.site-header,.site-footer,.detail-aside,.detail-actions,.related-section,.toast{display:none!important}.content-grid{display:block!important}.editorial-figure{max-width:300px}.detail-hero-grid{display:block}.detail-hero{padding:0}.shell{width:100%;max-width:none}.campaign-quote,.caution-section{break-inside:avoid}.election-page a{color:inherit}}
/* Research-led reading: diagnosis, mechanism and concrete recommendations. */
.diagnosis-section{margin:42px 0 48px}.diagnosis-section h2,.research-evidence h2,.candidate-section h2{font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.5;margin:10px 0 24px}
.diagnosis-item{padding:20px 0 22px;border-top:1px solid #ddccba}.diagnosis-item h3{color:#742e23;font-size:21px;line-height:1.5;margin:0 0 10px}.diagnosis-item p{line-height:1.9;margin:0 0 10px}
.analysis-cite{display:inline-block;font-size:13px;line-height:1.7;font-weight:600;color:#8b422e;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.research-evidence{background:#f3ebdf;border-inline-start:3px solid #b38962;padding:25px 28px;margin:42px 0}.evidence-point+.evidence-point{border-top:1px solid #d9c7b3;margin-top:20px;padding-top:16px}.evidence-point p{line-height:1.9;margin:0 0 10px}
.candidate-section{margin-top:50px;padding-top:30px;border-top:3px solid #853b2d}.candidate-section>p{line-height:1.9}
.source-scope{margin:28px 0 38px;padding:17px 20px;background:#f7f2eb;border:1px solid #dfd0bd;color:#60554b}.source-scope summary{cursor:pointer;font-weight:700}.source-scope p{line-height:1.85;margin:16px 0 0}
.application-label{display:inline-block;font-size:12px;background:#efe4d3;color:#6d4b34;padding:3px 9px;border-radius:3px;margin-bottom:10px}
.policy-thesis{margin-top:0}.election-page .proposals-section .proposal h3{font-size:21px;line-height:1.55;margin-top:0}
@media(max-width:760px){.research-evidence{padding:22px 20px}.diagnosis-item h3,.election-page .proposals-section .proposal h3{font-size:20px}}
/* Concrete questions are visible at the top of the election hub. */
.hero-questions{margin:25px 0 28px;border-top:1px solid #d7bfa7;padding-top:19px}
.hero-questions h2{font-size:18px;line-height:1.5;color:#782d23;margin:0 0 10px}
.hero-questions ul{list-style:none;padding:0;margin:0}
.hero-questions li+li{border-top:1px solid #e5d6c5}
.hero-questions a{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;color:#572b23;font-size:clamp(18px,1.7vw,23px);font-weight:700;line-height:1.55;text-decoration:none}
.hero-questions a:hover{text-decoration:underline;text-underline-offset:4px}.hero-questions a span{flex-shrink:0;color:#9c6548}
@media(max-width:760px){.hero-questions{margin-block:22px}.hero-questions a{font-size:19px;padding-block:11px}}
/* Candidate questions lead each page; research supports the conversation. */
.candidate-first{margin:0 0 38px;padding:25px 27px;background:#f7eddf;border:1px solid #d9bda1;border-top:4px solid #853b2d}
.candidate-first h3{font-size:18px;color:#782d23;margin:24px 0 4px}.candidate-first .followup-list{margin-bottom:0}
.candidate-first .followup-list li:last-child{border-bottom:0}.election-question .question-context{font-size:15px;line-height:1.8;color:#66574b;margin:-5px 0 20px}
.campaign-quote .policy-prompt{font-size:17px;line-height:1.9;font-weight:400;margin:18px 0;color:#5d483a}
@media(max-width:760px){.candidate-first{padding:22px 20px}.candidate-first h2{font-size:23px}}
