/* Diagnostic page and accessible native dialog, isolated from other forms. */
.page-diagnostic .diagnostic-how{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.page-diagnostic .diagnostic-how .seq{grid-template-columns:1fr;margin-top:28px;gap:24px}
.page-diagnostic .diagnostic-how .seq li{padding-left:60px;padding-right:0}
.page-diagnostic .diagnostic-how .seq li::before{display:none}
.page-diagnostic .diagnostic-how .sn{position:absolute;left:0;top:0}
.page-diagnostic #main-content .diagnostic-how .seq h3{margin-top:0}
.page-diagnostic .diagnostic-start{margin-top:28px}
.page-diagnostic .diagnostic-example{padding:28px;background:var(--paper);border:1px solid var(--rule);border-radius:14px;box-shadow:0 10px 30px #14202814}
.page-diagnostic #main-content .diagnostic-example h3{font-size:22px;font-weight:600;line-height:1.3;margin-bottom:16px}
.page-diagnostic #main-content .diagnostic-example p{color:var(--muted);margin-bottom:16px}
.page-diagnostic .diagnostic-example-answer{padding:12px 16px;background:var(--paper);border:1px solid var(--rule);margin-top:10px;font-size:15px}
.diagnostic-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:14px;box-shadow:0 24px 80px #0005;font:400 17px/1.6 var(--sans);overscroll-behavior:contain}
.diagnostic-dialog::backdrop{background:rgba(10,32,32,.65)}
.diagnostic-dialog [hidden]{display:none!important}
.diagnostic-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--paper);padding:16px 20px;border-bottom:1px solid var(--rule)}
.diagnostic-toolbar>div{flex:1}.diagnostic-toolbar p{font-size:13px;color:var(--muted)}
.diagnostic-dialog button{font:inherit;cursor:pointer}.diagnostic-toolbar button,.diagnostic-skip,[data-diagnostic-restart]{border:0;background:transparent;color:var(--link);padding:8px}
.diagnostic-body{padding:28px 28px 32px}.diagnostic-body>section{padding:0}
.diagnostic-body ul{padding-left:24px;margin:20px 0 28px}
.diagnostic-dialog .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;border:1px solid transparent;border-radius:6px;font-size:16px;font-weight:600;text-decoration:none;line-height:1.6}
.diagnostic-dialog .btn-solid{background:var(--deep);color:var(--paper)}
.diagnostic-answers{display:grid;gap:12px;margin-top:28px}.diagnostic-answer{display:flex;gap:14px;align-items:center;text-align:left;padding:16px 18px;border:1.5px solid var(--rule);border-radius:10px;background:var(--paper);color:var(--ink);width:100%;min-height:60px;line-height:1.4}
.diagnostic-answer>span{width:18px;height:18px;border:2px solid var(--muted);border-radius:50%;flex-shrink:0}
.diagnostic-answer[aria-pressed=true]{border-color:var(--deep);background:var(--stone)}.diagnostic-answer[aria-pressed=true]>span{background:var(--deep);border-color:var(--deep)}
.diagnostic-dialog button:focus-visible,.diagnostic-dialog a:focus-visible,.diagnostic-dialog input:focus-visible{outline:3px solid var(--deep);outline-offset:3px}
.diagnostic-dialog progress{display:block;width:100%;height:8px;accent-color:var(--deep)}
.diagnostic-theme{padding:24px 0;border-bottom:1px solid var(--rule)}.diagnostic-theme progress{margin-bottom:16px}.diagnostic-theme a{color:var(--link);font-size:15px;font-weight:600}
.diagnostic-summary{padding:24px;margin-top:32px;background:var(--stone);border:1px solid var(--rule);border-radius:12px}
.diagnostic-summary .lead-form-grid{gap:16px;margin-block:24px}.diagnostic-summary .lead-field label{display:block;font-size:15px;font-weight:600;margin-bottom:6px}
.diagnostic-summary .lead-field input{box-sizing:border-box;width:100%;min-height:46px;padding:10px 12px;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:6px;font:inherit}
.diagnostic-summary-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:24px 0 18px}.diagnostic-summary-actions a{color:var(--link);font-size:14px}
.diagnostic-summary .lead-consent input{width:18px;height:18px;flex-shrink:0;margin:2px 0 0;accent-color:var(--deep)}
.diagnostic-summary .lead-consent{margin-top:16px}
.diagnostic-summary .lead-consent label{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;font-weight:400}
@media(max-width:980px){.page-diagnostic .diagnostic-how{grid-template-columns:1fr}}
@media(max-width:640px){.diagnostic-dialog{max-height:calc(100dvh - 16px);width:calc(100% - 16px)}.diagnostic-toolbar{padding:12px;gap:8px}.diagnostic-body{padding:24px 18px}.diagnostic-summary{padding:18px;margin-inline:-6px}.diagnostic-summary .lead-form-grid{grid-template-columns:1fr}.diagnostic-summary-actions .btn{width:100%}.page-diagnostic .diagnostic-example{padding:20px}}

/* Explicit specificity keeps the shared editorial headings from overriding the dialog. */
.page-diagnostic #main-content .diagnostic-body h2{font-family:var(--serif);font-size:26px;font-weight:600;line-height:1.3;margin:0 0 16px}
.page-diagnostic #main-content .diagnostic-body h2:focus{outline:none}
.page-diagnostic #main-content .diagnostic-body h3{font-size:22px;font-weight:600;line-height:1.35;margin:0 0 12px}
.page-diagnostic #main-content .diagnostic-body p{margin:0 0 18px;line-height:1.6;color:var(--muted)}
.page-diagnostic #main-content .diagnostic-body .kicker,.page-diagnostic #main-content .diagnostic-example .kicker{margin-bottom:10px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--deep)}
.page-diagnostic #main-content .diagnostic-toolbar p{margin:0 0 6px;font-size:13px;line-height:1.4}
.page-diagnostic #main-content .diagnostic-dialog .btn,.page-diagnostic #main-content .diagnostic-start{min-height:48px;padding:10px 22px;border-radius:6px;font-size:16px;line-height:1.5}
.page-diagnostic #main-content .diagnostic-dialog [data-diagnostic-start]{min-height:52px;padding-inline:32px;font-size:17px}
.page-diagnostic #main-content .diagnostic-dialog .btn-ghost{border:1.5px solid var(--deep);color:var(--link);background:var(--paper)}
.page-diagnostic .diagnostic-answer{transition:border-color .15s,background-color .15s}
.page-diagnostic .diagnostic-answer:hover{border-color:var(--deep);background:var(--stone)}
.page-diagnostic .diagnostic-answer[aria-pressed=true]>span{box-shadow:inset 0 0 0 3px var(--paper)}
.page-diagnostic .diagnostic-example-answer{display:flex;align-items:center;gap:12px;border-radius:10px;line-height:1.4}
.page-diagnostic .diagnostic-example-answer::before{content:'';width:16px;height:16px;border:1.5px solid var(--rule);border-radius:50%;flex-shrink:0}
.page-diagnostic #main-content h2.diagnostic-result-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin:0 0 10px;font-size:24px}
.page-diagnostic .diagnostic-score{flex-shrink:0;color:var(--deep);font:600 52px/1.1 var(--serif);font-variant-numeric:tabular-nums}
.page-diagnostic .diagnostic-score small{font:400 26px/1.4 var(--sans);color:var(--muted)}
.page-diagnostic .diagnostic-theme-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}
.page-diagnostic #main-content .diagnostic-theme h3{font:600 17px/1.4 var(--sans);margin:0}
.page-diagnostic .diagnostic-theme-score{flex-shrink:0;font-size:14px;font-weight:600;color:var(--muted)}
.page-diagnostic #main-content .diagnostic-theme p{font-size:16px;margin-bottom:10px}
.page-diagnostic .diagnostic-theme progress{appearance:none;border:0;border-radius:4px;overflow:hidden;background:var(--rule);height:6px}
.page-diagnostic .diagnostic-theme progress::-webkit-progress-bar{background:var(--rule)}
.page-diagnostic .diagnostic-theme progress::-webkit-progress-value{background:var(--deep);border-radius:4px}
.page-diagnostic .diagnostic-theme progress::-moz-progress-bar{background:var(--deep);border-radius:4px}
.page-diagnostic #main-content .diagnostic-result-note{font-size:13px;margin-top:24px}
.page-diagnostic #main-content .diagnostic-summary .lead-form-note,.page-diagnostic #main-content .diagnostic-summary .diagnostic-retention{font-size:12px;line-height:1.6;margin-bottom:0}
.page-diagnostic #main-content .diagnostic-summary .diagnostic-retention{margin-top:12px}
@media(max-width:640px){.page-diagnostic .diagnostic-summary{padding:18px}.page-diagnostic .diagnostic-score{font-size:38px}.page-diagnostic .diagnostic-score small{font-size:20px}.page-diagnostic .diagnostic-summary-actions .btn{box-sizing:border-box;text-align:center}.page-diagnostic .diagnostic-theme-heading{align-items:flex-start}}

.page-diagnostic #main-content .diagnostic-confirmation{margin:24px 0 0;padding:20px 24px;border:1px solid var(--rule);border-left:4px solid var(--deep);border-radius:6px;background:var(--stone);color:var(--ink);font-weight:600;line-height:1.6}
.page-diagnostic #main-content .diagnostic-confirmation[hidden]{display:none}

/* The native questionnaire shares the same typography and theme colors. */
.diagnostic-native #main-content .diagnostic-native-form,.diagnostic-native #main-content .diagnostic-native-result,.diagnostic-native #main-content .lead-form-card{max-width:800px;margin-top:32px}
.diagnostic-native #main-content .diagnostic-native-question{min-width:0;margin:0 0 28px;padding:24px;border:1px solid var(--rule)}
.diagnostic-native #main-content .diagnostic-native-question legend{font-weight:600;color:var(--deep);padding-inline:8px}
.diagnostic-native-question label{display:block;padding-block:8px;cursor:pointer}
.diagnostic-native-question input{accent-color:var(--deep);margin-right:8px}
.diagnostic-native #main-content .diagnostic-native-theme{padding-block:24px;border-bottom:1px solid var(--rule)}
.diagnostic-native #main-content .diagnostic-native-theme h3{color:var(--deep);font-size:22px;margin-bottom:12px}
.diagnostic-native #main-content .errorlist{color:#A03024}
