.assess__head h1{font-family:var(--serif);font-size:clamp(34px,5vw,56px);line-height:1.05;color:var(--green);margin:0}.qcard select,.qcard input:not([type=range]):not([type=radio]){display:block;width:100%;padding:13px;margin:8px 0 18px;background:var(--cream);border:1px solid var(--rule-strong);font:inherit;color:var(--ink)}.qcard fieldset{border:0;padding:0}.qcard legend{font-weight:600;margin-bottom:12px}.choice{display:flex;gap:12px;align-items:flex-start;padding:12px;border-top:1px solid var(--rule);cursor:pointer}.choice input{accent-color:var(--green);margin-top:5px}.qcard__note{font-family:var(--mono);font-size:12px;color:var(--ink-soft)}.result-module{margin:24px auto;scroll-margin-top:18px}.result-module h2,.result__rows h2{font-family:var(--serif);font-size:clamp(22px,3vw,30px)}.result__rows li{padding:10px 0;border-bottom:1px dashed var(--rule)}.result__rows a{color:var(--green)}.qcard a:focus-visible,.choice:focus-within{outline:3px solid var(--green);outline-offset:3px}.qcard__readout{display:flex;align-items:baseline;gap:.55rem;margin:1rem 0 .35rem}.qcard__readout output.is-set{font-weight:700}.qcard .qactions .btn:disabled,.qcard .qactions .btn:disabled:hover{background:var(--rule);color:var(--ink-soft);box-shadow:none;cursor:not-allowed;opacity:.8;transform:none}@media(max-width:560px){.assess__head h1{font-size:36px}}
/* ---------- consent + form errors (behaviour added, palette unchanged) ---------- */
.qcard .qcard__consent{display:flex;align-items:flex-start;gap:12px;margin:0 0 14px}
.qcard .qcard__consent input[type=checkbox]{display:inline-block;flex:0 0 auto;width:22px;height:22px;padding:0;margin:3px 0 0;accent-color:var(--green)}
.qcard .qcard__consent label{margin:0;font-family:var(--sans);font-size:15px;line-height:1.45;cursor:pointer}
.qcard__error{margin:0 0 18px;font-family:var(--sans);font-size:15px;line-height:1.45;font-weight:600;color:var(--ink)}
.qcard__error[hidden]{display:none}
.qcard__q[tabindex="-1"]:focus{outline:none}

/* ---------- slider card furniture ----------
   .qcard__ends, .qcard__band, .qcard__hint and .progress were emitted by
   assessment.js but had no rules, so the two end-anchor spans rendered as one
   run-on line ("…lost its pullA personalized experience…"). Layout only. */
.qcard__ends{display:flex;justify-content:space-between;gap:18px;margin:10px 0 6px;font-family:var(--mono);font-size:12px;line-height:1.35;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em}
.qcard__ends span{flex:1 1 0}
.qcard__ends span:last-child{text-align:right}
.qcard__band{margin:6px 0 22px;font-family:var(--sans);font-size:15px;line-height:1.5;color:var(--ink-soft)}
.qcard__hint{margin:0 0 14px;font-family:var(--sans);font-size:15px;line-height:1.45;color:var(--ink-soft)}
.progress{display:flex;gap:6px;margin:0 0 22px;padding:0;list-style:none}
.progress li{flex:1 1 0;height:3px;border-radius:999px;background:var(--rule-strong)}
.progress li.is-done{background:var(--gold)}
.progress li.is-current{background:var(--green)}
/* assessment sliders: same track/thumb treatment as the calculator */
.qcard input[type="range"]{-webkit-appearance:none;appearance:none;display:block;width:100%;height:28px;margin:0 0 4px;background:transparent;cursor:pointer}
.qcard input[type="range"]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:rgba(23,53,44,.18)}
.qcard input[type="range"]::-moz-range-track{height:4px;border-radius:999px;background:rgba(23,53,44,.18)}
.qcard input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-8px;border-radius:50%;background:var(--green);border:3px solid var(--receipt);box-shadow:0 1px 4px rgba(21,63,51,.4)}
.qcard input[type="range"]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--green);border:3px solid var(--receipt);box-shadow:0 1px 4px rgba(21,63,51,.4)}
.qcard input[type="range"]:focus-visible{outline:3px solid var(--green);outline-offset:4px}
