:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#173140;background:#f3f6f7;font-synthesis:none;--green:#08765f;--line:#dce5e7}*{box-sizing:border-box}body{margin:0}body:before{content:"";height:5px;background:linear-gradient(90deg,#e82539 0 25%,#ffd52a 25% 50%,#10a65e 50% 75%,#05a5e9 75%);display:block}header{background:white;padding:23px max(25px,calc((100vw - 1220px)/2));display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.brand strong{display:block;font-size:29px;letter-spacing:-1.2px;color:#102d36}.brand strong span{font-weight:400;font-size:19px;letter-spacing:1px}.brand small{font-size:9px;letter-spacing:2.7px}.badge{border:1px solid #cadbd7;border-radius:20px;font-size:10px;font-weight:700;padding:8px 12px;letter-spacing:.6px;color:#376458}main{max-width:1260px;margin:auto;padding:35px 20px 70px}.intro{max-width:810px;padding:9px 0 19px}h1{font-size:clamp(28px,3.2vw,41px);font-weight:640;letter-spacing:-1.5px;margin:10px 0 16px;line-height:1.16}p{line-height:1.7;margin:10px 0 18px}.intro p:not(.eyebrow){color:#526874;font-size:17px}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:800;color:var(--green);margin:0 0 11px}nav{display:flex;gap:5px;padding:6px;border-radius:12px;background:#e6eded;margin:12px 0 18px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:#203f4b;border-radius:7px;padding:11px 15px;font-size:13px;font-weight:600}button:hover{border-color:var(--green);color:var(--green)}nav button{flex:1;background:none;border:none;padding:14px 8px}nav button[aria-current]{background:white;box-shadow:0 2px 5px #23412c10;color:var(--green)}button.primary{background:var(--green);color:white;border-color:var(--green)}button:disabled{opacity:.45;cursor:not-allowed}.notice{color:#667378;font-size:12px;margin-bottom:24px;line-height:1.6}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}article{background:white;border:1px solid var(--line);border-radius:12px;padding:28px;margin-bottom:24px;box-shadow:0 6px 25px #24445504}h2{font-size:22px;letter-spacing:-.4px;margin:0 0 20px}h3{font-size:15px}label{display:block;font-size:13px;font-weight:600;margin:17px 0}label input:not([type=checkbox]):not([type=radio]),label select,textarea{display:block;width:100%;margin-top:8px;padding:11px;border:1px solid #c9d6da;border-radius:6px;background:white;color:#1c3844;font-weight:400}input[type=checkbox],input[type=radio]{accent-color:var(--green);width:17px;height:17px;flex-shrink:0}.check{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:8px;padding:12px;margin:9px 0;cursor:pointer}.check strong{display:block;font-size:14px}.check small{display:block;font-weight:400;line-height:1.5;margin-top:3px;color:#5d7078}.muted{font-size:12px;color:#697b82}a{color:var(--green)}.question-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.question-list .check{margin:0;border:0;border-bottom:1px solid #e9eeee;border-radius:0;font-weight:400;font-size:12px}.party-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.party{border:1px solid var(--line);padding:17px;border-radius:8px}.party input{max-width:100%;font-size:10px}.party img{width:55px;height:55px;object-fit:contain}.party small{display:block;color:#65747a;font-size:11px}.candidate-form{display:grid;grid-template-columns:1.2fr .8fr 1.2fr auto;align-items:end;gap:15px}.candidate-form button{margin-bottom:17px}.candidate-row{display:flex;align-items:center;gap:17px;padding:12px 0;border-bottom:1px solid var(--line)}.candidate-row img{width:56px;height:56px;border-radius:8px;object-fit:cover}.candidate-row .info{flex:1}.candidate-row label{font-size:11px}.survey-wrap{max-width:740px;margin:auto}.survey-wrap article{padding:40px}.survey-wrap h2{font-size:25px;line-height:1.4}.survey-option{display:flex;gap:15px;align-items:center;border:1px solid var(--line);padding:13px;border-radius:8px;margin:10px 0;font-weight:450}.survey-option:has(input:checked){border-color:var(--green);background:#f0faf5}.survey-option img{height:64px;width:64px;object-fit:contain}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.progress{height:5px;width:100%;accent-color:var(--green);margin:18px 0 27px}.matrix-row{border-bottom:1px solid var(--line);padding:8px 0}.rank-row{display:flex;align-items:center;gap:8px;padding:8px 0}.rank-row span{flex:1}.status{padding:12px;background:#edf5f2;font-size:12px;border-radius:6px;line-height:1.6}.error{color:#a52b38;font-size:13px}#candidateError{color:#a52b38}footer{background:#153541;color:#dae7e8;padding:24px max(25px,calc((100vw - 1220px)/2));display:flex;justify-content:space-between;font-size:11px;gap:16px}footer span{color:#aec4c7}[hidden]{display:none!important}:focus-visible{outline:3px solid #74bfb0;outline-offset:3px}@media(max-width:800px){.grid{grid-template-columns:1fr;gap:0}.candidate-form{grid-template-columns:1fr 1fr}.party-grid{grid-template-columns:1fr 1fr}nav{display:grid;grid-template-columns:1fr 1fr}.question-list{grid-template-columns:1fr}header{padding:18px 20px}.badge{font-size:8px}.survey-wrap article{padding:23px}.intro{padding-top:0}}@media(max-width:500px){.brand strong{font-size:25px}.brand strong span{font-size:13px}.badge{max-width:115px;text-align:center}.candidate-form{grid-template-columns:1fr}.candidate-row{flex-wrap:wrap}article{padding:21px}main{padding:23px 14px}footer{flex-direction:column}.party-grid{grid-template-columns:1fr 1fr;gap:8px}.party{padding:12px}}
/* A separate contained logo preserves both face and party identity without cropping the source. */
/* Shared containment: do not hide overflow globally, since that conceals controls. */
body{overflow-wrap:anywhere}img,video,canvas,svg{max-width:100%}img{height:auto}
.brand{max-width:100%;min-width:0;width:275px}.brand img{display:block;width:100%;height:auto;object-fit:contain}
.admin-logo{display:block;max-width:220px}.admin-logo img{display:block;max-width:100%;width:185px;height:auto}
main,section,article,form,fieldset,details,.table-scroll,.grid>*,.question-list>*,.party-grid>*,.candidate-form>*{min-width:0;max-width:100%}
fieldset{margin-inline:0}input,select,textarea,button{min-width:0;max-width:100%}button{white-space:normal;overflow-wrap:anywhere}
pre{max-width:100%;overflow:auto}header,footer,.actions{flex-wrap:wrap}.actions>*{min-width:0;max-width:100%}
.table-scroll{width:100%;max-width:100%;overscroll-behavior-x:contain}
.survey-option>span,.check>span,.candidate-row .info{min-width:0;overflow-wrap:anywhere}
.survey-wrap select{display:block;width:100%;min-height:44px;padding:11px;border:1px solid #c9d6da;border-radius:6px;background:white;color:#1c3844}
.survey-option img{flex-shrink:0}.survey-option>input{flex-shrink:0}
@media(max-width:360px){.survey-option{flex-wrap:wrap}.survey-option>span{flex:1 1 100%}.brand{width:175px}article{padding:16px}.survey-wrap article{padding:17px}}
.survey-option img.ballot-party-logo{width:48px;height:48px;object-fit:contain;flex:0 0 48px;border-radius:4px;background:#fff}
@media(max-width:480px){.survey-option img.ballot-party-logo{width:36px;height:36px;flex-basis:36px}.survey-option{gap:8px}}

/* Participant navigation only; does not change question requirements or stored answers. */
#participation .survey-section-note,#participation .survey-submit-note{padding:14px 16px;border:1px solid #b7d9cd;border-radius:8px;background:#f0faf5;color:#173f34;font-size:15px;line-height:1.6}
#participation .survey-section-choice{margin:0 0 20px}
#participation .survey-section-choice .primary{width:100%;min-height:48px;font-size:15px}
#participation input[inputmode="numeric"]{width:100%;min-height:44px;padding:10px 12px;border:1px solid #c9d6da;border-radius:6px;font-size:16px}
#participation .survey-submit-actions{display:grid;gap:12px;margin-top:18px}
#participation .survey-submit-actions .primary{width:100%;min-height:54px;font-size:17px}
#participation .survey-submit-actions button:not(.primary){justify-self:start}
.survey-wrap .survey-locality-input{display:block;width:100%;min-height:48px;padding:11px 12px;border:1px solid #c9d6da;border-radius:6px;background:#fff;color:#1c3844;font-size:16px}
.table-scroll{overflow-x:auto;margin:15px 0}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th,td{padding:10px 12px;border-bottom:1px solid #dce5e7}th{background:#edf5f2}td:not(:first-child),th:not(:first-child){text-align:right}dt{font-weight:700;margin-top:13px}dd{margin:4px 0 12px}.digest{overflow-wrap:anywhere;font-size:11px}summary{padding:16px 0;cursor:pointer}footer a{color:#fff}@media print{.no-print,body>header,body>footer{display:none!important}body,article{background:#fff;box-shadow:none}main{padding:0}article{border:0;padding:10px 0;break-inside:avoid}h1{font-size:24pt}h2{font-size:17pt}table{font-size:10pt}a{color:inherit}.table-scroll{overflow:visible}}
:root {
  --brand-primary:#203641; --brand-secondary:#4b606a;
  --brand-background:#f3f6f7; --brand-surface:#fff;
  --brand-text-primary:#172c36; --brand-text-secondary:#52636d;
  --brand-border:#ced8dd; --brand-success:#236347;
  --brand-warning:#74500b; --brand-danger:#9e2735; --brand-info:#315d76;
  --brand-disabled:#73818a; --green:var(--brand-primary); --line:var(--brand-border);
  color:var(--brand-text-primary); background:var(--brand-background);
}
body:before { background:var(--brand-primary); height:3px; }
.brand {width:clamp(175px,25vw,275px);flex-shrink:0;}
.brand img {display:block;width:100%;height:auto;object-fit:contain;}
.brand small {display:block;text-align:center;letter-spacing:1.15px;font-size:10px;margin-top:8px;color:var(--brand-text-primary);}
.badge {color:var(--brand-text-secondary);border-color:var(--brand-border);}
.survey-option:has(input:checked) {background:#edf1f4;}
.status {background:#edf1f4;}
.error,#candidateError {color:var(--brand-danger);}
footer {background:var(--brand-primary);}
footer a,footer span {color:#f1f4f6;}
button {min-height:44px;}
input[type=checkbox],input[type=radio] {width:20px;height:20px;}
:focus-visible {outline:3px solid var(--brand-info);outline-offset:3px;}
/* The survey title receives programmatic focus for screen readers, not as a control. */
#participation > h1[tabindex="-1"]:focus {outline:none;}
.catalog-controls {display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;}
.catalog-actions {display:flex;flex-wrap:wrap;gap:10px;}
.dependency-fields {border:0;padding:0;margin:0;min-width:0;}
.dependency-status {border-left:3px solid var(--brand-info);padding:12px 16px;margin:16px 0;background:#edf1f4;border-radius:6px;}
.dependency-status p {margin:8px 0;}
.dependency-status ul {padding-left:20px;}
input:disabled,select:disabled,button:disabled {cursor:not-allowed;}
.check:has(input:disabled),label:has(>input:disabled),label:has(>select:disabled) {color:#66747b;}
.dependency-fields:disabled {background:#f4f6f7;border-radius:10px;padding:12px;}
.party .check {min-height:48px;justify-content:space-between;align-items:center;}
.party button {margin:6px 5px 0 0;}
.party-grid {margin:18px 0 24px;}
.party img,.candidate-row img,.survey-option img {border-radius:12px;background:var(--brand-surface);border:1px solid var(--brand-border);}
.survey-option:has(input:disabled) {color:var(--brand-disabled);background:#f4f6f7;cursor:not-allowed;}
.selection-count {font-size:14px;padding:12px;border-radius:8px;background:#edf1f4;color:var(--brand-text-primary);}
.survey-progress {--progress-color:#cc4552;--glow-radius:3px;--shine-opacity:.13;position:sticky;top:8px;z-index:5;background:#fff;border:1px solid var(--brand-border);border-radius:10px;padding:10px 14px 13px;margin:0 0 14px;box-shadow:0 3px 12px #17314009;}
.survey-progress[data-phase=orange] {--progress-color:#ce7529;--glow-radius:4px;--shine-opacity:.19;}
.survey-progress[data-phase=yellow] {--progress-color:#d5ad23;--glow-radius:5px;--shine-opacity:.25;}
.survey-progress[data-phase=lime] {--progress-color:#86a632;--glow-radius:6px;--shine-opacity:.31;}
.survey-progress[data-phase=green] {--progress-color:#17855d;--glow-radius:7px;--shine-opacity:.38;}
.survey-progress-meta {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;color:#435965;font-size:12px;line-height:1.4;}
#surveyCard,#participation {scroll-margin-top:95px;}
.survey-effects {display:flex;align-items:center;gap:8px;flex-shrink:0;}
.survey-effects>span {font-size:12px;color:#435965;}
.survey-progress-toggle {position:relative;flex:none;width:50px;min-width:50px;height:44px;min-height:44px;padding:0;border:0;background:transparent;border-radius:8px;}
.survey-progress-toggle:before {content:'';position:absolute;left:0;top:9px;width:50px;height:26px;border-radius:20px;background:#b62d3c;box-shadow:inset 0 0 0 1px #0002;transition:background .2s;}
.survey-progress-toggle[aria-checked=true]:before {background:#17804b;}
.survey-effects-thumb {position:absolute;top:12px;left:3px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:white;color:#872331;font-size:13px;font-weight:800;box-shadow:0 1px 3px #0004;transition:transform .2s;}
.survey-progress-toggle[aria-checked=true] .survey-effects-thumb {transform:translateX(24px);color:#12683d;}
.survey-progress-toggle:disabled {opacity:.65;}
.reorder-button {display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:82px;min-height:46px;padding:7px 10px;border:2px solid #315d76;background:#eaf2f7;color:#173e56;font-size:12px;font-weight:750;box-shadow:0 2px 3px #173e5615;flex-shrink:0;}
.reorder-button:before {content:'⬆';font-size:25px;line-height:1;}
.reorder-button[data-direction=down]:before {content:'⬇';}
.reorder-button:hover:not(:disabled) {background:#173e56;border-color:#173e56;color:#fff;}
.reorder-button:disabled {opacity:1;color:#88969f;background:#f0f2f4;border-color:#d4dce1;box-shadow:none;}
.rank-row {gap:8px;}
.rank-row>span {min-width:0;overflow-wrap:anywhere;}
@media(max-width:500px){.rank-row{flex-wrap:wrap;}.rank-row>span{flex:1 1 100%;}.rank-row .reorder-button{flex:1;}.candidate-row .reorder-button{min-width:82px;}}
@media(prefers-reduced-motion:reduce){.survey-effects-thumb,.survey-progress-toggle:before{transition:none;}}
.survey-progress-track {height:7px;position:relative;border-radius:10px;background:#e9eff0;isolation:isolate;}
.survey-progress-track:before {content:'';position:absolute;left:0;top:0;width:7px;height:7px;border-radius:50%;background:var(--progress-color);pointer-events:none;z-index:1;}
.survey-progress progress {display:block;width:100%;height:7px;appearance:none;border:0;border-radius:10px;overflow:hidden;background:transparent;box-shadow:0 0 var(--glow-radius) color-mix(in srgb,var(--progress-color) 25%,transparent);}
.survey-progress progress::-webkit-progress-bar {background:#e9eff0;border-radius:10px;}
.survey-progress progress::-webkit-progress-value {background:linear-gradient(90deg,color-mix(in srgb,var(--progress-color) 82%,white),var(--progress-color));border-radius:10px;transition:width .7s cubic-bezier(.22,.61,.36,1);}
.survey-progress progress::-moz-progress-bar {background:var(--progress-color);border-radius:10px;}
.survey-progress-sheen {position:absolute;inset:0 auto 0 0;width:var(--progress-position,0%);overflow:hidden;border-radius:10px;pointer-events:none;transition:width .7s cubic-bezier(.22,.61,.36,1);}
.survey-progress-halo {position:absolute;left:0;top:0;width:var(--progress-position,0%);min-width:7px;height:7px;border-radius:10px;pointer-events:none;opacity:var(--ambient-opacity,.16);box-shadow:0 0 var(--ambient-radius,4px) 2px var(--progress-color);transition:width .7s cubic-bezier(.22,.61,.36,1),opacity .7s;}
.survey-progress-spark {position:absolute;top:0;left:0;width:7px;height:7px;opacity:0;pointer-events:none;background:#fff9d5;transform:translateX(-50%);clip-path:polygon(50% 0,65% 35%,100% 50%,65% 65%,50% 100%,35% 65%,0 50%,35% 35%);filter:drop-shadow(0 0 2px #fff);}
.survey-progress-spark:nth-last-child(2) {margin-left:-8px;top:-3px;width:5px;height:5px;}
.survey-progress-spark:last-child {margin-left:-16px;top:5px;width:4px;height:4px;}
.survey-progress[data-motion=off] .survey-progress-halo,.survey-progress[data-motion=off] .survey-progress-spark {display:none;}
.survey-progress[data-motion=off] .survey-progress-sheen,.survey-progress[data-motion=off] progress::-webkit-progress-value {transition:none;}
.survey-progress-sheen:after {content:'';position:absolute;inset:0 auto 0 0;width:23%;background:linear-gradient(90deg,transparent,#fff,transparent);opacity:var(--shine-opacity);transform:translateX(-110%);}
.survey-progress[data-motion=on]:not([data-complete=true]) progress {animation:survey-soft-glow 3.8s ease-in-out infinite;}
.survey-progress[data-motion=on]:not([data-complete=true]) .survey-progress-sheen:after {animation:survey-soft-sheen 6s ease-in-out infinite;}
@keyframes survey-soft-glow {0%,100%{box-shadow:0 0 2px color-mix(in srgb,var(--progress-color) 16%,transparent);}50%{box-shadow:0 0 var(--glow-radius) color-mix(in srgb,var(--progress-color) 40%,transparent);}}
@keyframes survey-soft-sheen {0%,20%{transform:translateX(-110%);}80%,100%{transform:translateX(540%);}}
.survey-progress[data-complete=true] {border-color:#76bf96;--glow-radius:16px;--shine-opacity:.8;}
.survey-progress[data-complete=true][data-motion=on] progress {box-shadow:0 0 14px #00c85388;animation:survey-complete-glow 2.8s ease-in-out 1;}
.survey-progress[data-complete=true][data-motion=on] .survey-progress-sheen:after {animation:survey-soft-sheen 2.8s ease-in-out 1;}
@keyframes survey-complete-glow {0%,100%{box-shadow:0 0 12px #00c85366;}50%{box-shadow:0 0 22px #00c853bb;}}
.completion-confetti {position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:100;}
.completion-connect {border-top:1px solid var(--brand-border);margin-top:28px;padding-top:26px;}
.completion-connect h3 {font-size:20px;line-height:1.3;margin:0 0 12px;}
.completion-connect>p:not(.eyebrow):not(.muted),.completion-sharing>p:not(.muted) {font-size:14px;color:var(--brand-text-secondary);}
.completion-contact-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0;}
.completion-contact,.completion-share {display:flex;align-items:center;gap:11px;min-height:72px;padding:13px 15px;text-decoration:none;border:1px solid #cedbe0;border-radius:14px;background:#f6f9fa;color:#203e4a;transition:background .2s,border-color .2s;}
.completion-contact svg,.completion-share svg {width:28px;height:28px;flex:none;color:#000;}
.completion-contact strong {display:block;font-size:14px;}
.completion-contact small {display:block;margin-top:3px;font-size:11px;color:#526874;}
.completion-contact:last-child {grid-column:1/-1;}
.completion-contact:hover,.completion-share:hover:not(:disabled) {background:#eaf2f4;border-color:#688b9a;color:#102d3b;}
.completion-sharing {background:#edf3f4;border-radius:16px;padding:20px;margin:24px 0 16px;}
.social-featured-photo {display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1200/630;object-fit:contain;border-radius:16px;margin:18px 0 24px;}
.survey-submit-note {padding:16px 18px;background:#edf6fb;border-left:4px solid #007bb6;border-radius:8px;color:#173140;font-size:17px;font-weight:600;}
.survey-submit-actions {display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:20px;}
.survey-submit-actions > button.primary {min-height:64px;padding:18px 22px;background:#0074a8;border-color:#0074a8;color:#fff;font-size:18px;font-weight:800;line-height:1.4;white-space:normal;}
.survey-submit-actions > button.primary:hover:not(:disabled) {background:#005d88;border-color:#005d88;color:#fff;}
.survey-submit-actions > button:not(.primary) {align-self:center;background:transparent;border-color:transparent;text-decoration:underline;font-size:14px;min-height:44px;}
.completion-share-actions {display:flex;flex-wrap:wrap;gap:10px;}
.completion-share {flex:1 1 200px;font-size:12px;font-weight:700;min-height:58px;background:#fff;}
.completion-share svg {width:23px;height:23px;}
.completion-share:disabled {opacity:.6;cursor:not-allowed;}
@media(max-width:450px){.completion-contact-grid{grid-template-columns:1fr;}.completion-contact{min-height:64px;}.completion-sharing{padding:16px;}.completion-share{flex-basis:100%;}}
@media(prefers-reduced-motion:reduce){.completion-contact,.completion-share{transition:none;}}
@media(prefers-reduced-motion:reduce){.completion-confetti{display:none;}}
@media(prefers-reduced-motion:reduce){.survey-progress progress,.survey-progress-sheen:after{animation:none!important;transition:none!important;}.survey-progress progress::-webkit-progress-value,.survey-progress-sheen{transition:none;}.survey-progress-halo,.survey-progress-spark{display:none;}}
@media(max-width:500px){.survey-progress{padding:8px 10px 11px;top:4px;}.survey-progress-meta{font-size:11px;}.survey-progress-toggle{font-size:10px;max-width:130px;}}
.collection-status {--lamp:#66747b;display:flex;align-items:center;gap:10px;max-width:290px;padding:11px 14px;border:1px solid var(--brand-border);border-radius:24px;background:var(--brand-surface);font-size:12px;font-weight:600;line-height:1.45;}
.collection-status.active {--lamp:#16804b;}
.collection-status.drafts {--lamp:#c88b00;}
.collection-status.idle {--lamp:#d13343;}
.status-light {display:block;flex:none;width:11px;height:11px;border-radius:50%;background:var(--lamp);box-shadow:0 0 0 3px color-mix(in srgb,var(--lamp) 15%,transparent),0 0 9px var(--lamp);animation:pulso-status-glow 2.8s ease-in-out infinite;}
.unknown .status-light {animation:none;box-shadow:none;}
@keyframes pulso-status-glow {0%,100%{opacity:.4;box-shadow:0 0 3px var(--lamp);}50%{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--lamp) 15%,transparent),0 0 11px var(--lamp);}}
@media(prefers-reduced-motion:reduce){.status-light{animation:none;}}
@media(max-width:600px){.collection-status{font-size:10px;padding:9px;gap:8px;max-width:165px;}}
.section-guide {padding:0 16px;margin:12px 0;border:1px solid var(--brand-border,#ccdce4);border-radius:12px;background:#f6f9fc;}
.section-guide img {display:block;width:100%;max-width:720px;height:auto;margin:12px auto;}
.section-guide summary {color:#005d8f;}
.pulso-opinion-welcome {display:flex;align-items:center;gap:20px;max-width:100%;min-width:0;padding:24px;margin:24px 0;border:1px solid #c5dfd4;border-radius:20px;background:#f0f8f4;color:#183d32;box-sizing:border-box;}
.pulso-opinion-welcome > svg {display:block;flex:0 1 155px;width:155px;max-width:100%;height:auto;}
.pulso-opinion-welcome > div {flex:1;min-width:0;}
.pulso-opinion-welcome h2 {margin:0 0 12px;font-size:clamp(1.25rem,2.5vw,1.7rem);line-height:1.2;color:#123e30;overflow-wrap:anywhere;}
.pulso-opinion-welcome p {margin:8px 0;line-height:1.55;color:#244a3e;}
.pulso-opinion-welcome .pulso-opinion-detail {font-size:.95rem;}
@media(max-width:600px){.pulso-opinion-welcome{flex-direction:column;align-items:flex-start;padding:18px;gap:10px;}.pulso-opinion-welcome > svg{flex:none;width:120px;align-self:center;}}
details>summary {cursor:pointer;padding:14px 0;font-weight:600;min-height:44px;}
/* The new social pilot opts in; existing municipal and road surveys keep their layout. */
#participation.social-pilot-v1 {min-width:0;overflow-wrap:anywhere;}
.social-pilot-v1 .survey-pilot-intro {font-size:19px;line-height:1.55;color:#173140;}
.social-pilot-v1 .survey-pilot-overview {padding:18px 20px;margin:20px 0;background:#edf6fb;border:1px solid #d2e8f2;border-radius:16px;}
.social-pilot-v1 .survey-pilot-duration {margin:0 0 12px;font-size:16px;font-weight:700;color:#12516d;}
.social-pilot-v1 .survey-pilot-overview ol {display:flex;flex-wrap:wrap;gap:8px 28px;margin:0;padding-left:22px;line-height:1.5;font-size:14px;}
.social-pilot-v1 .survey-option-group {min-width:0;}
.social-pilot-v1 .survey-option {min-height:58px;padding:16px;gap:13px;margin:12px 0;border:2px solid #d4e0e4;border-radius:14px;background:#fff;font-size:16px;line-height:1.45;cursor:pointer;flex-wrap:nowrap;}
.social-pilot-v1 .survey-option>span {flex:1;min-width:0;}
.social-pilot-v1 .survey-option input {width:21px;height:21px;}
.social-pilot-v1 .survey-option:has(input:checked) {background:#edf7f2;border-color:#08765f;box-shadow:inset 3px 0 #08765f;}
.social-pilot-v1 .survey-option:focus-within {outline:3px solid #287da4;outline-offset:3px;}
.social-pilot-v1 .actions {flex-wrap:wrap;}
.social-pilot-v1 .actions>button,.social-pilot-v1>button.primary {min-height:52px;font-size:16px;white-space:normal;}
.social-pilot-v1>button.primary {width:100%;margin-top:12px;}
.social-pilot-v1 .completion-reports {padding:22px;margin-top:24px;border:1px solid #cde2ec;border-radius:16px;background:#edf6fb;}
.social-pilot-v1 .completion-reports h3,.social-pilot-v1 .completion-feedback h3 {font-size:20px;line-height:1.35;margin:0 0 12px;}
.social-pilot-v1 .completion-report-link {display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 18px;border-radius:10px;background:#0074a8;color:#fff;text-decoration:none;font-size:16px;font-weight:700;}
.social-pilot-v1 .completion-feedback {margin-top:28px;padding-top:24px;border-top:1px solid var(--brand-border);}
.social-pilot-v1 .completion-feedback-send {min-height:48px;font-size:15px;}
.social-pilot-v1 .completion-subscription {padding:22px;margin-top:24px;border:1px solid #d5e5de;border-radius:16px;background:#f1f8f4;}
.social-pilot-v1 .completion-subscription h3 {font-size:20px;line-height:1.35;margin:0 0 12px;}
#subscription {max-width:740px;min-width:0;margin:0 auto;overflow-wrap:anywhere;}
#subscription .subscription-form {display:flex;flex-direction:column;gap:16px;min-width:0;}
#subscription .subscription-form>label {margin:0;font-size:16px;line-height:1.5;}
#subscription .subscription-form input[type=email] {min-height:52px;font-size:16px;max-width:100%;}
#subscription .subscription-form input[type=checkbox] {width:21px;height:21px;}
#subscription .subscription-form>button {min-height:54px;font-size:16px;white-space:normal;}
#subscription .subscription-status {margin:0;line-height:1.6;}
@media(max-width:450px){.social-pilot-v1 .survey-pilot-overview ol{display:block;}.social-pilot-v1 .survey-pilot-overview li+li{margin-top:7px;}.social-pilot-v1 .actions>button.primary{flex:1 1 100%;}.social-pilot-v1 .completion-reports{padding:18px;}.social-pilot-v1 .completion-report-link{width:100%;}.social-pilot-v1 .survey-option{padding:14px 12px;}}
@media(max-width:600px){
 .catalog-controls{grid-template-columns:1fr;gap:0;}
 .party-grid{grid-template-columns:1fr;}
 .brand{width:175px;}
 .brand small{font-size:8px;letter-spacing:.7px;}
 .candidate-row .check{flex-basis:100%;}
}
