/* Launch survey, /survey only (preview 2026-11-03) */
.sv-form{max-width:44rem}
.sv-q{border:0;margin:0 0 2.25rem;padding:0}
.sv-q legend{display:block;margin-bottom:.75rem}
.sv-hint{display:block;margin-top:.35rem}
.sv-opts{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.sv-opts label{display:inline-flex;gap:.6rem;align-items:flex-start;cursor:pointer;line-height:1.4}
.sv-opts input[type=radio],.sv-opts input[type=checkbox]{margin-top:.2rem;accent-color:currentColor;width:1.05rem;height:1.05rem}
.sv-write,.sv-select{font:inherit;color:inherit;background:transparent;border:var(--cx-hairline,1px) solid var(--cx-gold-thin);border-radius:.5rem;padding:.55rem .7rem;width:100%;max-width:30rem;opacity:.9}
.sv-area{max-width:100%}
.sv-send{font:inherit;cursor:pointer;padding:.8rem 1.6rem;border-radius:999px;border:var(--cx-hairline,1px) solid var(--cx-gold-thin);background:currentColor}
.sv-send span,.sv-send{color:inherit}
.sv-send{background:#1B232D;color:#EFE6D5;border-color:#1B232D}
@media (prefers-color-scheme:dark){.sv-send{background:#EFE6D5;color:#1B232D;border-color:#EFE6D5}}
.sv-close{margin-top:2.5rem}
.rs-item{margin-bottom:2rem}.rs-item h3{margin-bottom:.4rem}.rs-ways{list-style:none;padding:0;margin:.6rem 0 0;display:grid;gap:.3rem}
.rs-danger{font-weight:600}
.rs-es{margin-top:.5rem}.rs-es-tag{display:inline-block;font-size:.8em;letter-spacing:.04em;text-transform:uppercase;border:var(--cx-hairline,1px) solid var(--cx-gold-thin);border-radius:999px;padding:.05rem .55rem;margin-right:.4rem}
.rs-jump ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
/* UI pass 2026-11-03: cards, chips, one question per screen when JS runs */
.sv-q{border:var(--cx-hairline,1px) solid var(--cx-gold-thin);border-radius:1rem;padding:1.25rem 1.1rem 1.4rem;margin:0 0 1.25rem;background:transparent}
.sv-q legend{float:left;width:100%;margin-bottom:1rem}
.sv-q legend+*{clear:both}
.sv-opts{gap:.6rem}
.sv-opts li{display:grid;gap:.5rem}
.sv-opts label{display:flex;align-items:center;gap:.75rem;min-height:52px;padding:.7rem 1rem;border:var(--cx-hairline,1px) solid var(--cx-gold-thin);border-radius:.85rem;box-sizing:border-box;font:var(--cx-type-text);line-height:1.35}
.sv-opts label:hover{background:color-mix(in srgb,currentColor 6%,transparent)}
.sv-opts input[type=radio],.sv-opts input[type=checkbox]{margin:0;flex:none;width:1.25rem;height:1.25rem;accent-color:var(--cx-chosen-label)}
.sv-opts label:has(input:checked){background:var(--cx-chosen-fill);color:var(--cx-chosen-label);border-color:var(--cx-chosen-fill)}
.sv-opts label:has(input:focus-visible){outline:3px solid var(--cx-ember-bloom);outline-offset:2px}
.sv-opts li:has(input[value="__write"]:not(:checked)) .sv-write{display:none}
.sv-write,.sv-select{min-height:48px;max-width:100%;box-sizing:border-box;font-size:1rem}
.sv-area{min-height:8rem}
.sv-send,.sv-nav button{min-height:48px;min-width:44px;font:var(--cx-type-row);cursor:pointer;border-radius:999px;padding:.75rem 1.6rem}
.sv-nav{display:flex;gap:.75rem;justify-content:space-between;align-items:center;margin-top:1.25rem}
.sv-back{background:transparent;color:inherit;border:var(--cx-hairline,1px) solid var(--cx-gold-thin)}
.sv-next{background:var(--cx-chosen-fill);color:var(--cx-chosen-label);border:1px solid var(--cx-chosen-fill);margin-left:auto}
.sv-back[hidden],.sv-next[hidden]{display:none}
.sv-prog{margin:0 0 .6rem;font:var(--cx-type-label);letter-spacing:.03em}
.sv-bar{height:6px;border-radius:999px;background:color-mix(in srgb,currentColor 14%,transparent);overflow:hidden;margin-bottom:1.25rem}
.sv-bar span{display:block;height:100%;background:var(--cx-gold-thin);width:0;transition:width .25s}
.sv-steps .sv-q{display:none}
.sv-steps .sv-q.is-on{display:block}
.sv-steps .sv-actions{display:none}
.sv-steps.is-last .sv-actions{display:block;margin-top:1.25rem}
.sv-steps.is-last .sv-next{display:none}
.sv-done{border:var(--cx-hairline,1px) solid var(--cx-gold-thin);border-radius:1rem;padding:2rem 1.25rem;max-width:44rem}
.sv-done h2:focus{outline:none}

/* Shared card surface/trim comes from site.css, matching Home/App cards. */
.utility-survey .sv-q, .utility-survey .sv-done { max-width: 44rem; }
.sv-q { margin-bottom: 1.25rem; }
