.cnww-sa { max-width: 44rem; margin: 0 auto; color: #221f1a; }
.cnww-sa__intro p { margin: 0 0 1rem; line-height: 1.65; }
.cnww-sa__privacy { font-size: .92em; color: #5c5750; border-left: 2px solid #d9d2c5; padding-left: .9rem; }
.cnww-sa fieldset { border: 0; padding: 1.5rem 0; margin: 0; min-width: 0; border-top: 1px solid #d9d2c5; }
.cnww-sa fieldset:first-of-type { border-top: 0; padding-top: 1rem; }
.cnww-sa legend { font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; line-height: 1.45; padding: 0; margin: 0 0 1rem; color: #221f1a; }
.cnww-sa legend .cnww-sa__num { color: #005098; margin-right: .4em; }
.cnww-sa__scale { display: grid; grid-template-columns: repeat(5, 1fr); gap: .35rem; }
.cnww-sa__opt { position: relative; }
.cnww-sa__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.cnww-sa__opt label { display: block; text-align: center; font-size: .85rem; line-height: 1.25; padding: .7rem .35rem; border: 1px solid #d9d2c5; border-radius: 3px; cursor: pointer; background: #fff; color: #221f1a; transition: background .12s, border-color .12s; }
.cnww-sa__opt label:hover { border-color: #005098; }
.cnww-sa__opt input:checked + label { background: #005098; border-color: #005098; color: #fff; }
.cnww-sa__opt input:focus-visible + label { outline: 2px solid #005098; outline-offset: 2px; }
.cnww-sa fieldset.is-missing legend::after { content: " — please choose an answer"; color: #9b2c2c; font-family: inherit; font-size: .85rem; }
.cnww-sa__actions { border-top: 1px solid #d9d2c5; padding-top: 1.5rem; margin-top: .5rem; }
.cnww-sa button { font: inherit; background: #005098; color: #fff; border: 0; border-radius: 3px; padding: .8rem 1.5rem; cursor: pointer; }
.cnww-sa button:hover { background: #003d75; }
.cnww-sa button:focus-visible { outline: 2px solid #221f1a; outline-offset: 2px; }
.cnww-sa button.is-secondary { background: transparent; color: #005098; border: 1px solid #005098; }
.cnww-sa button.is-secondary:hover { background: #eef3f8; }
.cnww-sa__result { border-top: 1px solid #d9d2c5; padding-top: 1.5rem; }
.cnww-sa__eyebrow { color: #005098; font-size: .9rem; margin: 0 0 .35rem; }
.cnww-sa__result h3 { font-family: Georgia, "Times New Roman", serif; font-size: 1.9rem; line-height: 1.2; margin: 0 0 .35rem; color: #221f1a; }
.cnww-sa__score { color: #5c5750; margin: 0 0 1rem; }
.cnww-sa__result p { line-height: 1.65; }
.cnww-sa__meter { height: 10px; background: #ece7dd; border-radius: 5px; margin: 1.25rem 0 .4rem; overflow: hidden; }
.cnww-sa__meter-fill { height: 100%; width: 0; background: #005098; border-radius: 5px; transition: width .5s ease; }
.cnww-sa__meter-labels { display: flex; justify-content: space-between; font-size: .8rem; color: #5c5750; margin-bottom: 1.5rem; }
.cnww-sa__themes { list-style: none; padding: 0; margin: 0 0 1.5rem; }
.cnww-sa__themes li { display: grid; grid-template-columns: 1fr 2fr; gap: 1rem; align-items: center; padding: .55rem 0; border-top: 1px solid #ece7dd; font-size: .95rem; }
.cnww-sa__themes li:first-child { border-top: 0; }
.cnww-sa__bar { height: 6px; background: #ece7dd; border-radius: 3px; overflow: hidden; }
.cnww-sa__bar span { display: block; height: 100%; background: #005098; border-radius: 3px; }
.cnww-sa__compare { border-top: 1px solid #d9d2c5; padding-top: 1.25rem; margin: 1.5rem 0; }
.cnww-sa__compare ul { list-style: none; padding: 0; margin: 0; }
.cnww-sa__compare li { margin: .4rem 0; }
.cnww-sa__compare a { color: #005098; text-decoration: none; border-bottom: 1px solid #b9cde0; }
.cnww-sa__compare a:hover { border-bottom-color: #005098; }
@media (prefers-reduced-motion: reduce) { .cnww-sa__meter-fill { transition: none; } }
@media (max-width: 600px) {
.cnww-sa__scale { grid-template-columns: 1fr; }
.cnww-sa__opt label { text-align: left; padding: .65rem .9rem; }
.cnww-sa__themes li { grid-template-columns: 1fr; gap: .4rem; }
}