.surveys-page{padding-block:32px 72px}.survey-panel{max-width:820px;margin:32px auto;background:var(--ap-surface, #fff);border:1px solid var(--border,var(--ap-line, #dce4ee));border-radius:20px;padding:clamp(22px,4vw,48px);box-shadow:0 16px 50px #12346408}.survey-eyebrow{color:var(--ap-link, #0966c2);font-size:.95rem;font-weight:800;letter-spacing:.02em}.survey-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.55}.survey-panel h1{font-size:clamp(1.65rem,3vw,2.35rem);margin-block:12px 16px}.survey-description{font-size:1.15rem;line-height:1.9;white-space:pre-line}.survey-deadline,.survey-note{color:var(--ap-muted, #53677d);line-height:1.9;font-size:.95rem}.survey-vote-form{margin-block:28px}.survey-vote-form fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}.survey-vote-form legend{font-weight:800;font-size:1.15rem;margin-block-end:14px}.survey-options{display:grid;gap:12px}.survey-option{display:flex;align-items:center;gap:14px;padding:17px 20px;border:1px solid var(--ap-line, #d8e3ef);background:var(--ap-tint, #f9fbfe);border-radius:12px;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease;font-size:1.1rem;line-height:1.7;overflow-wrap:anywhere}.survey-option input{accent-color:#0966c2;flex-shrink:0;width:20px;height:20px;margin:0}.survey-option:has(input:checked){border-color:#0966c2;background:var(--ap-tint, #edf6ff);box-shadow:inset -3px 0 #0966c2}.survey-option:focus-within{outline:3px solid var(--ap-focus, #8ac0f6);outline-offset:3px}.survey-option:hover{border-color:var(--ap-line, #6ca9e7);transform:translateY(-1px)}.survey-vote-form .cf-turnstile{margin-block:16px;min-height:65px}.survey-vote-form button{margin-block:12px}.survey-vote-form button:disabled{opacity:.6;cursor:wait}.survey-confirmation{background:var(--ap-success-bg, #eef8f3);border-inline-start:3px solid #27875b;padding:16px 20px;border-radius:8px;color:var(--ap-success, #195e40);line-height:1.8}.survey-feedback{padding:14px 18px;background:var(--ap-tint, #eff6ff);border-radius:8px;line-height:1.8}.survey-results{margin-block:30px}.survey-results h2{font-size:1.5rem}.survey-results ol{list-style:none;padding:0;display:grid;gap:24px}.survey-results li{min-width:0}.survey-result-label{display:flex;align-items:baseline;justify-content:space-between;gap:20px;font-size:1.1rem;line-height:1.8}.survey-result-label strong{color:var(--ap-link, #0966c2);white-space:nowrap}.survey-result-label span{overflow-wrap:anywhere}.survey-result-track{height:9px;background:var(--ap-tint, #eaf0f7);border-radius:8px;margin-block:9px;overflow:hidden}.survey-result-track span{display:block;height:100%;width:var(--survey-progress);background:linear-gradient(90deg,#4da6ff,#0966c2);border-radius:inherit;transform-origin:right;animation:survey-fill .5s ease-out both}.survey-results small{color:var(--ap-muted, #53677d)}.survey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-block:30px}.survey-card{padding:28px;border:1px solid var(--ap-line, #dce4ee);border-radius:16px;background:var(--ap-surface, #fff);display:flex;flex-direction:column;align-items:flex-start}.survey-card h2{font-size:1.4rem;margin-block:10px}.survey-card .text-link{margin-block-start:auto}.survey-pagination{display:flex;gap:16px;margin-block:28px}@keyframes survey-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}@media(max-width:650px){.survey-grid{grid-template-columns:1fr}.survey-option{padding:14px}.survey-panel{border-radius:14px}}@media(prefers-reduced-motion:reduce){.survey-option{transition:none}.survey-option:hover{transform:none}.survey-result-track span{animation:none}}

.survey-title,.survey-description,.survey-question-text p{overflow-wrap:anywhere}.survey-question-text{margin-block:12px 20px}.survey-question-text summary{color:var(--ap-link, #0966c2);cursor:pointer;font-size:.95rem}.survey-question-text p{line-height:1.9;font-size:1.15rem}.survey-question-text summary:focus-visible{outline:3px solid var(--ap-focus, #8ac0f6);outline-offset:4px}

/* Homepage cards navigate to voting pages; they never submit a vote. */
.survey-showcase-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr); gap: var(--home-content-gap, 24px); align-items: stretch; }
.survey-showcase-single { grid-template-columns: 1fr; }
.survey-showcase-secondary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--home-content-gap, 24px); min-width: 0; }
.survey-showcase-secondary:has(> :only-child) { grid-template-columns: 1fr; }
.survey-spotlight, .survey-teaser { border-radius: var(--home-card-radius, 12px); padding: 24px; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; border: 1px solid var(--line); background: var(--ap-surface, #fff); }
.survey-spotlight { background: var(--brand-light); border-color: var(--ap-line, #c8daf5); }
.survey-card-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; width: 100%; margin-block-end: 12px; }
.survey-topic { display: inline-flex; align-items: center; gap: 8px; color: var(--brand); font-size: 17px; font-weight: 700; }
.survey-icon { flex-shrink: 0; vertical-align: middle; }
.survey-status { font-size: 15px; display: inline-flex; align-items: center; gap: 7px; color: var(--ap-success, #37644e); }
.survey-status::before { content: ""; height: 6px; width: 6px; border-radius: 50%; background: #2b9764; flex: none; }
.survey-sample-label { border: 1px solid var(--ap-line, #dee7f1); background: var(--ap-tint, #f4f7fb); color: var(--ap-muted, #586b82); font-size: 15px; line-height: 1.6; padding: 3px 10px; border-radius: 6px; display: inline-block; margin-block-end: 10px; }
.survey-spotlight h3, .survey-teaser h3 { color: var(--brand-deep); font-size: 23px; font-weight: 600; line-height: 1.65; margin: 0 0 16px; }
.survey-teaser-note { font-size: 17px; color: var(--muted); line-height: 1.8; margin: 0 0 20px; }
.survey-card-bottom { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-block-start: auto; padding-block-start: 16px; border-block-start: 1px solid var(--line); }
.survey-closes { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 16px; line-height: 1.6; }
.survey-closes svg { width: 17px; height: 17px; }
.survey-primary-link { display: inline-flex; align-items: center; justify-content: center; gap: 12px; border-radius: 9px; background: var(--ap-action, #175cd3); color: #fff; font-size: 18px; font-weight: 600; min-height: 46px; padding: 8px 18px; }
.survey-primary-link:hover { background: var(--ap-action-hover, #1248a6); color: #fff; text-decoration: none; }
.survey-teaser .text-link { min-height: 46px; }
.survey-showcase-note { display: flex; align-items: flex-start; gap: 9px; line-height: 1.8; font-size: 16px; color: var(--muted); margin: 16px 0 0; }
.survey-showcase-note svg { width: 18px; height: 18px; margin-block-start: 5px; }
.survey-detail-sample { background: var(--ap-tint, #f4f7fb); border: 1px solid var(--ap-line, #dce5ef); border-radius: 8px; padding: 12px 16px; color: var(--ap-muted, #53677d); font-size: .95rem; line-height: 1.8; }
.survey-source { font-size: .95rem; line-height: 1.9; margin-block: 12px 20px; }
.survey-source a { color: var(--ap-link, #0966c2); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 950px) {
  .survey-showcase-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  /* The section link keeps every poll available without stacking three cards. */
  .survey-showcase-secondary { display: none; }
  .survey-spotlight, .survey-teaser { padding: 20px; }
  .survey-spotlight h3, .survey-teaser h3 { font-size: 22px; }
}
