.demo-exam { max-width: 900px; }
.demo-exam-header { margin-bottom:1.75rem; }
.demo-exam-header__meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem 1rem; }
.demo-exam-header__back { display:inline-flex; align-items:center; gap:.5rem; min-height:2.75rem; color:var(--ink-soft); font-size:.8125rem; font-weight:500; text-decoration:none; }
.demo-exam-header__back:hover { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.demo-exam-header__badge { padding:.35rem .75rem; border:1px solid #e2ddf3; border-radius:999px; color:#6551a0; background:#f3effb; font-size:.75rem; font-weight:600; white-space:nowrap; }
.demo-exam-header h1 { margin:1.25rem 0 0; text-align:center; font-size:clamp(1.5rem,4vw,2rem); font-weight:700; line-height:1.25; letter-spacing:-.025em; }
.demo-exam .flow-card { margin-block: 1.5rem; }
.demo-exam [data-demo-status], .demo-exam [data-demo-question] > h2, .demo-exam-note { text-align:center; }
.demo-exam [data-demo-question] > h2 { margin:1.5rem 0; }
.demo-exam [data-demo-question] .exercise-question { margin-top:1.5rem; }
.demo-exam [data-demo-question] .exercise-prompt { margin-bottom:2.5rem; }
.demo-actions { display:flex; justify-content:center; margin-top:1.5rem; }
.demo-exam .demo-exam-note { margin:1.25rem 0 0; color:var(--ink-soft); font-size:.8125rem; line-height:1.5; }
.article-demo-invitation { display:flex; align-items:center; gap:2rem; margin-block:2rem; padding:clamp(1.25rem,3vw,2rem); border:1px solid #e2ddf3; border-radius:1rem; background:#f7f5fd; }
.article-demo-invitation__body { flex:1; min-width:0; }
.article-demo-invitation .article-demo-invitation__label { margin:0 0 .5rem; color:#6551a0; font-size:.7rem; font-weight:750; letter-spacing:.12em; }
.article-demo-invitation h2 { margin:0 0 .65rem; color:#27213d; font-size:clamp(1.2rem,2.5vw,1.5rem); line-height:1.3; letter-spacing:-.025em; }
.article-demo-invitation p { max-width:36rem; margin:0; color:#514d60; font-size:.95rem; line-height:1.6; }
.article-demo-invitation .article-demo-invitation__details { margin-top:.75rem; color:#655d76; font-size:.8rem; }
.article-demo-invitation__details span { margin-inline:.35rem; }
.article-demo-invitation__button { flex-shrink:0; gap:.75rem; white-space:nowrap; }
.article-demo-invitation--exam { padding:clamp(1.5rem,3vw,2.5rem); border-color:#51409b; background:linear-gradient(120deg,#302269,#493397); box-shadow:0 16px 36px -16px #30226966; }
.article-demo-invitation--exam .article-demo-invitation__label { color:#d9ceff; }
.article-demo-invitation--exam h2 { color:#fff; font-size:clamp(1.4rem,2.5vw,1.75rem); }
.article-demo-invitation--exam p { color:#eee8ff; }
.article-demo-invitation--exam .article-demo-invitation__details { color:#d9ceff; }
.article-demo-invitation--exam .article-demo-invitation__button { padding:1rem 1.25rem; background:#fff; color:#352477; box-shadow:0 4px 12px #1e124033; }
.article-demo-invitation--exam .article-demo-invitation__button:hover { background:#eee8ff; color:#302269; }
.article-demo-invitation--exam .article-demo-invitation__button:focus-visible { outline:3px solid #fff; outline-offset:5px; }
.article-content > .article-demo-invitation { margin-top:0; }
.article-demo-invitation + .article-pagination,
.article-topic-demo + .article-pagination { margin-top:3rem; }
@media(max-width:760px) {
    .article-demo-invitation { flex-direction:column; align-items:stretch; gap:1.25rem; }
    .article-demo-invitation__button { width:100%; white-space:normal; }
}
.article-topic-demo { margin-top:clamp(3rem,7vw,5rem); scroll-margin-top:6rem; }
.article-topic-demo > [data-topic-demo] { margin-top:1.5rem; }
.article-topic-demo > [data-topic-demo] > .flow-card { margin:0; }
.article-topic-demo > [data-topic-demo] > .flow-card > h3 { text-align:center; }
.article-topic-demo .answer-result { margin-block:1.5rem; }
.article-topic-demo .answer-result + .button { display:flex; width:min(100%,650px); margin-inline:auto; }
.article-topic-demo__result-cta { margin-bottom:0; }
.demo-exam [hidden], .article-topic-demo [hidden] { display:none !important; }
@media(max-width:600px) { .demo-exam .flow-card { padding:1rem; } .demo-actions .button { width:100%; padding:.75rem; } }

.demo-exam h2 { scroll-margin-top: 90px; }

.demo-result-cta { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(270px,1fr); align-items:center; gap:1.75rem 2rem; margin-block:2.5rem; padding:clamp(1.5rem,4vw,2.5rem); border:1px solid #51409b; border-radius:1.25rem; background:linear-gradient(120deg,#302269,#493397); color:#fff; box-shadow:0 16px 36px -16px #30226966; }
.demo-result-cta__body { min-width:0; }
.demo-result-cta .demo-result-cta__label { margin:0 0 1rem; color:#d9ceff; font-size:.7rem; font-weight:750; letter-spacing:.12em; }
.demo-result-cta h2 { margin:0 0 1rem; color:#fff; font-size:clamp(1.5rem,3vw,1.875rem); line-height:1.2; letter-spacing:-.03em; }
.demo-result-cta__body > p { margin:0; color:#e4ddf7; font-size:.9375rem; line-height:1.7; }
.demo-result-cta__benefits { display:grid; gap:.875rem; margin:1.5rem 0 0; padding:0; list-style:none; }
.demo-result-cta__benefits li { position:relative; padding-left:1.5rem; color:#f3efff; font-size:.8125rem; line-height:1.6; }
.demo-result-cta__benefits li::before { content:""; position:absolute; top:.35rem; left:.125rem; width:.375rem; height:.625rem; border:solid #9de7cc; border-width:0 2px 2px 0; transform:rotate(45deg); }
.demo-result-cta__offer { padding:1.5rem; border-radius:.875rem; background:#fff; color:#232133; box-shadow:0 4px 16px #1e124033; }
.demo-result-cta .demo-result-cta__price { margin:0 0 .5rem; color:#232133; font-size:clamp(1.5rem,3vw,1.875rem); font-weight:750; line-height:1.25; letter-spacing:-.035em; }
.demo-result-cta .demo-result-cta__renewal { margin:0; color:#625e73; font-size:.8125rem; line-height:1.6; }
.demo-result-cta .demo-result-cta__button { display:flex; justify-content:space-between; width:100%; gap:.75rem; margin-top:1.5rem; padding:.875rem 1rem; background:#5843e8; color:#fff; font-size:1rem; }
.demo-result-cta .demo-result-cta__button:hover { background:#4430c7; }
.demo-result-cta .demo-result-cta__button:focus-visible { outline:3px solid #302269; outline-offset:4px; }
.demo-result-cta .demo-result-cta__terms { margin:1rem 0 0; color:#625e73; font-size:.6875rem; line-height:1.7; }
.demo-result-cta .demo-result-cta__restart { grid-column:1 / -1; justify-self:center; color:#eee8ff; text-underline-offset:4px; }
.demo-result-cta .demo-result-cta__restart:hover { background:#eee8ff; color:#302269; }
.demo-result-cta .demo-result-cta__restart:focus-visible { background:#eee8ff; color:#302269; outline:2px solid #fff; outline-offset:3px; }
@media(max-width:760px) { .demo-result-cta { grid-template-columns:minmax(0,1fr); gap:1.5rem; } }

.demo-result-summary__label { margin:0 0 .5rem; color:#6551a0; font-size:.7rem; font-weight:750; letter-spacing:.12em; }
.demo-result-summary > h2 { margin:0 0 .75rem; font-size:clamp(1.75rem,4vw,2.25rem); }
.demo-result-summary__intro { margin:0; color:var(--ink-soft); font-size:.875rem; }
.demo-result-summary__breakdown { margin-top:1.75rem; padding-top:1.5rem; border-top:1px solid #eeebf4; }
.demo-result-summary__breakdown h3 { margin:0 0 .5rem; font-size:1rem; letter-spacing:normal; }
.demo-result-summary__guidance { margin:0; color:var(--ink-soft); font-size:.8125rem; line-height:1.6; }
.demo-result-topics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 2rem; margin:1.5rem 0 0; padding:0; list-style:none; }
.demo-result-topics li { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:.5rem .75rem; }
.demo-result-topics__name { font-size:.875rem; font-weight:600; }
.demo-result-topics__score { color:var(--ink-soft); font-size:.75rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.demo-result-topics__bar { grid-column:1 / -1; height:4px; overflow:hidden; border-radius:999px; background:#eeebf4; }
.demo-result-topics__bar > span { display:block; height:100%; border-radius:inherit; background:#8c79cd; }
@media(max-width:600px) { .demo-result-topics { grid-template-columns:minmax(0,1fr); gap:1rem; } }
