@font-face {
  font-family:'Plus Jakarta Sans';
  font-style:normal;
  font-weight:500 800;
  font-display:swap;
  src:url('/assets/fonts/jakarta-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
.cn-assessment { background:#fff; color:#0b1b2b; font-family:Inter,system-ui,sans-serif; font-size:16px; line-height:1.6; overflow-x:visible; }
.cn-assessment *, .cn-assessment *::before, .cn-assessment *::after { box-sizing:border-box; }
.cn-assessment [hidden] { display:none !important; }
.cn-assessment h1, .cn-assessment h2, .cn-assessment h3, .cn-assessment p { margin:0; }
.cn-assessment h1, .cn-assessment h2, .cn-assessment h3 { font-family:'Plus Jakarta Sans',Inter,sans-serif; color:#0b1b2b; }
.cn-assessment h1 { font-size:clamp(38px,4.8vw,60px); line-height:1.08; font-weight:700; letter-spacing:-.055em; }
.cn-assessment h2 { font-size:clamp(24px,2.6vw,32px); line-height:1.25; font-weight:650; letter-spacing:-.04em; }
.cn-assessment h3 { font-size:17px; line-height:1.4; font-weight:650; letter-spacing:-.02em; }
.cn-assessment a { color:#0e7490; text-underline-offset:4px; }
.cn-assessment a:hover { text-decoration:underline; }
.cn-assessment button, .cn-assessment input, .cn-assessment textarea { font:inherit; }
.cn-assessment :focus-visible { outline:3px solid #0e7490; outline-offset:4px; }
.cn-assessment h1:focus, .cn-assessment h2:focus, .cn-assessment #main-content:focus { outline:none; }
.cn-shell { max-width:1180px; padding-inline:32px; margin-inline:auto; }
.cn-skip { position:fixed; top:12px; left:12px; padding:10px 16px; background:#fff; z-index:100; transform:translateY(-160%); }
.cn-skip:focus { transform:none; }
.cn-assessment-header { border-bottom:1px solid #dce3e8; background:#fff; }
.cn-assessment-header .cn-shell { display:flex; align-items:center; justify-content:space-between; min-height:76px; }
.cn-brand { display:flex; align-items:center; gap:9px; font-weight:650; letter-spacing:-.035em; font-size:21px; color:#0b1b2b !important; text-decoration:none !important; }
.cn-assessment-header nav { display:flex; align-items:center; gap:28px; font-size:13px; }
.cn-assessment-header nav a { color:#45596a; }
.cn-welcome { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:100px; padding-top:82px; padding-bottom:80px; }
.cn-kicker { color:#0e7490; font-size:13px; font-weight:600; margin-bottom:20px !important; }
.cn-intro { color:#526477; font-size:17px; line-height:1.75; max-width:640px; }
.cn-welcome-copy .cn-intro { margin-top:26px; }
.cn-meta { display:flex; flex-wrap:wrap; gap:7px 18px; padding:0; margin:24px 0 30px; list-style:none; font-size:12px; color:#526477; }
.cn-meta li+li { padding-left:18px; border-left:1px solid #cbd6de; }
.cn-primary, .cn-secondary { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:18px; padding:13px 22px; border:1px solid #0e7490; background:#0e7490; color:#fff !important; border-radius:4px; font-size:14px; font-weight:600; text-align:center; text-decoration:none !important; cursor:pointer; transition:background .15s,border-color .15s; }
.cn-primary:hover { background:#155e75; border-color:#155e75; }
.cn-primary:disabled { opacity:.45; cursor:not-allowed; }
.cn-secondary { background:#fff; color:#0b1b2b !important; border-color:#b7c6d1; }
.cn-secondary:hover { background:#f5f9fa; border-color:#0e7490; }
.cn-secondary:disabled { opacity:.4; cursor:not-allowed; }
.cn-text-btn { color:#0e7490; background:transparent; border:0; padding:10px 0; font-size:14px !important; font-weight:500 !important; cursor:pointer; text-decoration:underline; text-underline-offset:5px; }
.cn-small { font-size:12px; color:#596d7d; line-height:1.7; }
.cn-save-note { margin-top:14px !important; }
.cn-resume { border-left:2px solid #0e7490; padding-left:18px; }
.cn-resume p { font-size:13px; color:#526477; margin-bottom:14px; }
.cn-resume .cn-text-btn { margin-left:18px; }
.cn-outcomes { border-top:1px solid #cbd6de; padding-top:25px; }
.cn-outcomes h2 { font-size:22px; }
.cn-outcomes ol { list-style:none; padding:0; margin:28px 0 0; }
.cn-outcomes li { display:flex; gap:20px; margin-top:24px; }
.cn-outcome-mark { flex:0 0 28px; height:28px; display:grid; place-items:center; border:1px solid #9bbec9; color:#0e7490; border-radius:50%; font-size:12px; }
.cn-outcomes h3 { margin:1px 0 8px; }
.cn-outcomes p { font-size:14px; line-height:1.7; color:#526477; }
.cn-foundations { padding-top:50px; padding-bottom:70px; border-top:1px solid #dce3e8; }
.cn-foundations>.cn-intro { margin-top:18px; }
.cn-foundation-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px 52px; padding:0; list-style:none; margin:36px 0 0; }
.cn-foundation-grid li { border-top:1px solid #dce3e8; padding-top:16px; }
.cn-foundation-grid p { color:#526477; font-size:14px; line-height:1.7; margin-top:8px; }
.cn-method { margin-top:40px; max-width:760px; }
.cn-method details { border-bottom:1px solid #dce3e8; padding:16px 0; }
.cn-method summary { font-size:14px; font-weight:600; cursor:pointer; }
.cn-method details p { font-size:14px; color:#526477; line-height:1.8; margin-top:14px; }
.cn-method>.cn-small { margin-top:24px; }
.cn-quiz { max-width:1000px; padding-top:34px; padding-bottom:64px; }
.cn-quiz-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.cn-quiz-top p { color:#526477; font-size:13px; }
.cn-progress { height:4px; background:#e5ecef; overflow:hidden; }
#progress-fill { height:100%; background:#0e7490; transition:width .2s ease; }
.cn-dimension-progress { list-style:none; padding:0; margin:17px 0 60px; display:flex; flex-wrap:wrap; gap:8px 20px; }
.cn-dimension-progress li { color:#687c8b; font-size:11px; }
.cn-dimension-progress li[aria-current="step"] { color:#0e7490; font-weight:600; }
.cn-dimension-progress li[data-complete="true"]::before { content:'✓'; margin-right:5px; color:#0e7490; }
#question-area { max-width:740px; margin:auto; }
#question-area .cn-kicker { margin-bottom:14px !important; }
#question-text { font-size:clamp(26px,3.4vw,38px); line-height:1.3; letter-spacing:-.04em; max-width:720px; }
.cn-question-help { color:#596d7d; font-size:14px; margin-top:18px !important; }
.cn-options { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:30px 0 26px; }
.cn-option { display:grid; grid-template-columns:28px 1fr 20px; gap:14px; align-items:start; text-align:left; background:#fff; border:1px solid #bbcbd5; border-radius:4px; padding:23px 20px; min-height:132px; color:#0b1b2b; cursor:pointer; transition:border-color .15s,background .15s; line-height:1.55; font-size:16px !important; }
.cn-option-letter { width:26px; height:26px; display:grid; place-items:center; border:1px solid #cbd6de; font-size:12px; border-radius:3px; color:#526477; }
.cn-option:hover { border-color:#0e7490; background:#f8fbfc; }
.cn-choice-mark { color:#0e7490; visibility:hidden; }
.cn-option[aria-pressed="true"] { border:2px solid #0e7490; background:#eef6f8; padding:22px 19px; }
.cn-option[aria-pressed="true"] .cn-choice-mark { visibility:visible; }
.cn-option[aria-pressed="true"] .cn-option-letter { background:#0e7490; color:#fff; border-color:#0e7490; }
.cn-uncertain, .cn-consent { display:flex; align-items:start; gap:10px; font-size:13px; cursor:pointer; }
.cn-uncertain input, .cn-consent input { accent-color:#0e7490; margin:4px 0 0; width:16px; height:16px; flex:0 0 16px; }
#uncertain-help { margin:6px 0 0 26px; }
#answer-help { margin-top:26px; }
.cn-quiz-nav { max-width:740px; margin:32px auto 0; padding-top:25px; border-top:1px solid #dce3e8; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cn-results { max-width:1100px; padding-top:56px; padding-bottom:64px; }
.cn-result-heading { max-width:780px; margin-bottom:26px; }
.cn-result-heading h1 { font-size:clamp(34px,4vw,48px); }
.cn-result-heading .cn-intro { margin-top:20px; }
.cn-source-note { font-size:13px; color:#526477; border-left:2px solid #8bb5c3; padding:5px 0 5px 14px; margin-bottom:12px !important; max-width:780px; }
.cn-result-overview { display:grid; grid-template-columns:.75fr 1.25fr; gap:64px; margin-top:36px; padding-block:30px; border-block:1px solid #dce3e8; }
.cn-score { border-right:1px solid #dce3e8; padding-right:40px; }
.cn-score>p:first-child { font-size:14px; font-weight:600; }
#score-number { font-family:'Plus Jakarta Sans',Inter,sans-serif; font-size:86px; font-weight:600; letter-spacing:-.07em; line-height:1.2; }
.cn-score-denominator { font-size:24px; color:#78909f; margin-left:8px; }
#score-level { color:#0e7490; font-size:16px; font-weight:600; margin-top:10px; }
#score-desc { margin-top:10px; }
.cn-dimension-summary h2 { font-size:22px; }
.cn-dimension-summary>.cn-small { margin-top:8px; }
#dimension-results { margin-top:20px; display:grid; grid-template-columns:1fr 1fr; gap:18px 28px; }
.cn-dimension-row>div:first-child { display:flex; justify-content:space-between; font-size:12px; gap:12px; margin-bottom:8px; }
.cn-dimension-row strong { color:#0e7490; font-weight:600; white-space:nowrap; }
.cn-bar { height:4px; background:#e5ecef; overflow:hidden; }
.cn-bar>span { display:block; height:100%; background:#0e7490; }
.cn-reading-section { padding:42px 0; }
.cn-reading-section>h2 { margin-bottom:22px; }
.cn-reading-state { border-left:2px solid #0e7490; padding-left:20px; }
.cn-reading-state p { font-size:14px; line-height:1.8; color:#526477; }
.cn-reading-state h3 { margin-bottom:10px; }
.cn-reading-status { display:flex; align-items:center; gap:10px; color:#0e7490 !important; }
.cn-small-spinner { display:inline-block; width:15px; height:15px; border:2px solid #afcbd5; border-top-color:#0e7490; border-radius:50%; animation:cn-spin .7s linear infinite; }
.cn-primary .cn-small-spinner { border-color:#ffffff60; border-top-color:#fff; }
@keyframes cn-spin { to { transform:rotate(360deg); } }
.cn-reading-intro { font-size:18px; line-height:1.75; max-width:850px; }
.cn-reading-source { font-size:12px; color:#596d7d; margin-bottom:16px !important; }
.cn-constraint { display:grid; grid-template-columns:160px 1fr; gap:26px; padding-block:22px; margin-top:22px; border-block:1px solid #dce3e8; }
.cn-constraint h3 { color:#0e7490; font-size:14px; }
.cn-constraint p { font-size:14px; color:#526477; margin-top:8px; }
.cn-moves { list-style:none; padding:0; margin:28px 0; display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.cn-moves li { padding-top:15px; border-top:2px solid #8bb5c3; }
.cn-moves h3 { font-size:17px; margin:10px 0; }
.cn-move-index { color:#0e7490; font-size:12px; font-weight:600; }
.cn-moves p { color:#526477; font-size:14px; line-height:1.75; }
.cn-impact { color:#0e7490; font-size:12px; display:block; margin-top:12px; }
.cn-reading-bottom { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.cn-reading-bottom h3 { font-size:14px; margin-bottom:10px; }
.cn-reading-bottom p { font-size:14px; line-height:1.75; color:#526477; }
.cn-next-step { padding:32px 0; border-block:1px solid #dce3e8; display:flex; align-items:center; justify-content:space-between; gap:35px; }
.cn-next-step h2 { font-size:25px; }
.cn-next-step p { font-size:14px; line-height:1.75; color:#526477; margin-top:14px; max-width:590px; }
.cn-next-step .cn-primary { flex:0 0 auto; max-width:285px; }
.cn-review { margin-top:36px; }
.cn-review h2 { font-size:23px; }
.cn-review>p { font-size:13px; color:#526477; margin-top:12px; }
#review-answers { margin-top:20px; }
#review-answers details { border-bottom:1px solid #dce3e8; }
#review-answers summary { cursor:pointer; padding:15px 0; font-size:14px; font-weight:600; }
.cn-answer-list { padding:0; list-style:none; margin:0; }
.cn-answer-list li { display:grid; grid-template-columns:1fr auto; gap:18px; padding:14px 0; }
.cn-answer-list h3 { font-family:Inter,system-ui,sans-serif; font-size:13px; font-weight:500; }
.cn-answer-list p { color:#526477; font-size:13px; margin-top:6px; }
.cn-answer-list .cn-text-btn { padding:0 10px; }
.cn-uncertain-badge { display:inline-block; font-size:10px; padding:2px 6px; margin-left:8px; border:1px solid #b6cbd4; color:#456777; }
.cn-contact { border-top:1px solid #dce3e8; margin-top:40px; padding-top:34px; display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; }
.cn-contact h2 { font-size:25px; }
.cn-contact-copy>p { font-size:14px; color:#526477; margin-top:16px; }
.cn-field { margin-bottom:18px; }
.cn-field label { display:block; font-size:13px; font-weight:500; margin-bottom:8px; }
.cn-field label span { color:#687c8b; font-weight:400; }
.cn-field input, .cn-field textarea, .cn-share-fallback input { display:block; width:100%; padding:10px 12px; border:1px solid #b7c6d1; border-radius:3px; font-size:14px; background:#fff; }
.cn-field textarea { resize:vertical; }
.cn-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.cn-consent { margin-bottom:22px; }
#lead-form>.cn-small { margin-top:16px; }
.cn-error { color:#a53b2d; font-size:13px; margin-top:12px !important; }
.cn-success { font-size:15px; color:#155e75; padding:20px 0; border-top:2px solid #0e7490; }
.cn-result-actions { margin-top:40px; padding-top:30px; border-top:1px solid #dce3e8; display:flex; justify-content:space-between; align-items:start; gap:32px; }
.cn-result-actions .cn-small { max-width:610px; margin-top:12px; }
.cn-result-actions>.cn-text-btn { flex:0 0 auto; }
.cn-share-fallback { margin-top:20px; }
.cn-share-fallback label { font-size:13px; }
.cn-share-fallback input { margin-top:8px; }
.cn-toast { position:fixed; bottom:22px; left:50%; transform:translateX(-50%); padding:12px 20px; background:#0b1b2b; color:#fff; border-radius:4px; z-index:70; font-size:13px; max-width:calc(100% - 32px); }
.cn-assessment-footer { padding-block:28px; border-top:1px solid #dce3e8; font-size:13px; color:#526477; }
.cn-assessment-footer nav { display:flex; gap:22px; margin-top:14px; }
.cn-assessment-footer .cn-small { margin-top:8px; }
@media (max-width:900px) { .cn-welcome { gap:45px; } .cn-moves { gap:24px; } .cn-result-overview { gap:35px; } .cn-score { padding-right:25px; } .cn-next-step { align-items:start; flex-direction:column; gap:22px; } .cn-contact { gap:35px; } }
@media (max-width:650px) { .cn-shell { padding-inline:22px; } .cn-assessment-header .cn-shell { min-height:64px; } .cn-brand { font-size:18px; } .cn-brand svg { width:26px; height:26px; } .cn-assessment-header nav { gap:18px; } .cn-backsite { font-size:0; } .cn-backsite::after { content:'consultnow.io'; font-size:11px; } .cn-welcome { grid-template-columns:1fr; padding-top:45px; padding-bottom:42px; gap:40px; } .cn-welcome-copy .cn-intro { margin-top:20px; } .cn-intro { font-size:15px; } .cn-meta { gap:7px 12px; font-size:11px; } .cn-meta li+li { padding-left:12px; } .cn-outcomes h2 { font-size:21px; } .cn-foundations { padding-block:32px 45px; } .cn-foundation-grid { grid-template-columns:1fr 1fr; gap:26px 22px; } .cn-foundation-grid h3 { font-size:15px; } .cn-foundation-grid p { font-size:13px; } .cn-quiz { padding-top:22px; padding-bottom:35px; } .cn-dimension-progress { margin-bottom:34px; gap:7px 15px; } .cn-options { grid-template-columns:1fr; gap:12px; margin-top:25px; } .cn-option { min-height:88px; padding:20px 16px; } .cn-option[aria-pressed="true"] { padding:19px 15px; } .cn-quiz-nav { flex-wrap:wrap; } #btn-review-return { order:3; flex:1 0 100%; text-align:center; } .cn-results { padding-top:36px; padding-bottom:45px; } .cn-result-overview { grid-template-columns:1fr; gap:26px; padding-block:24px; } .cn-score { border:0; padding:0; } #score-number { font-size:70px; } .cn-score>p:first-child { margin-bottom:4px; } .cn-dimension-summary { border-top:1px solid #dce3e8; padding-top:22px; } #dimension-results { gap:18px 22px; } .cn-constraint { grid-template-columns:1fr; gap:12px; } .cn-moves { grid-template-columns:1fr; gap:24px; } .cn-reading-section { padding-block:30px; } .cn-reading-bottom { grid-template-columns:1fr; gap:22px; } .cn-contact { grid-template-columns:1fr; gap:24px; } .cn-result-actions { flex-direction:column; gap:18px; } .cn-result-actions>.cn-text-btn { font-size:13px !important; } }
@media (max-width:360px) { .cn-shell { padding-inline:16px; } .cn-meta li+li { padding-left:0; border:0; } .cn-meta { gap:7px 14px; } .cn-form-row { grid-template-columns:1fr; gap:0; } #dimension-results { grid-template-columns:1fr; } .cn-brand { font-size:16px; } .cn-assessment-header nav { gap:12px; } }
@media (prefers-reduced-motion:reduce) { .cn-assessment *, .cn-assessment *::before, .cn-assessment *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
