.practice-demo { scroll-margin-top: 100px; }
.practice-demo [hidden] { display: none !important; }
.practice-demo-note { color: #526258; max-width: 70ch; line-height: 1.6; }
.practice-demo-questions { margin-top: 36px; }
.practice-demo-question { border-top: 1px solid #aab9ad; padding: 32px 0; max-width: 850px; }
.practice-demo-question fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.practice-demo-question legend { font-size: 1.3rem; font-weight: 750; line-height: 1.4; }
.practice-demo-number { color: #346345; margin-right: 12px; font-variant-numeric: tabular-nums; }
.practice-demo-question p { line-height: 1.7; }
.practice-demo-choices { display: grid; gap: 12px; margin: 20px 0; }
.practice-demo-choices label { display: flex; align-items: flex-start; gap: 12px; padding: 16px 18px; border: 1px solid #aab9ad; border-radius: 12px; background: #fffdf8; cursor: pointer; line-height: 1.6; }
.practice-demo-choices label:has(input:checked) { border-color: #346345; background: #e8f0e7; }
.practice-demo-choices input { margin: 5px 0 0; min-width: 18px; min-height: 18px; accent-color: #346345; }
.practice-demo-choices label:focus-within { outline: 3px solid #346345; outline-offset: 3px; }
.practice-demo-feedback { background: #e8f0e7; padding: 16px 20px; }
.practice-demo-answer summary { cursor: pointer; min-height: 44px; padding: 12px 0; font-weight: 700; }
.practice-demo-finish { border-top: 1px solid #aab9ad; padding-top: 28px; max-width: 850px; }
.practice-demo-finish p { line-height: 1.7; }
.practice-demo-finish button { margin: 0 0 24px; }
@media (max-width: 600px) { .practice-demo-question { padding: 24px 0; } .practice-demo-choices label { padding: 14px; } }

.practice-demo-heading { max-width: 850px; }
.practice-demo-heading h2 { max-width: 20ch; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.1; }
.practice-demo-heading > p:last-child { max-width: 65ch; font-size: 1.15rem; line-height: 1.6; }
