:root { --ink:#14213d; --muted:#566276; --line:#dbe2ea; --paper:#ffffff; --wash:#f4f7fa; --accent:#177e89; --accent-dark:#0f5e67; --amber:#b86913; --danger:#a33131; --radius:18px; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:var(--wash); color:var(--ink); font:16px/1.55 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input { font:inherit; }
.page-shell { width:min(1180px, calc(100% - 40px)); margin:0 auto; padding:64px 0 80px; }
.site-header { max-width:850px; margin:0 0 42px; }
.eyebrow, .panel-kicker { margin:0 0 8px; color:var(--accent-dark); font-size:.74rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1, h2, h3, p { margin-top:0; } h1 { max-width:760px; font-size:clamp(2.4rem,5vw,4.8rem); line-height:1.03; letter-spacing:-.055em; } h2 { font-size:clamp(1.45rem,2.4vw,2.25rem); line-height:1.15; letter-spacing:-.035em; } h3 { margin-bottom:4px; font-size:1rem; }
.lede { max-width:700px; color:var(--muted); font-size:1.15rem; }
.signal-row { display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }.signal-row span { padding:5px 11px; border:1px solid #a8d6da; border-radius:999px; color:var(--accent-dark); font-size:.83rem; font-weight:700; }
.assessment-layout { display:grid; grid-template-columns:minmax(240px, .72fr) minmax(0,1.6fr); gap:28px; align-items:start; }.method-panel, .assessment-form, .results-hero, .result-detail, .priority-section, .methodology-section { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 12px 32px rgba(20,33,61,.055); }.method-panel { position:sticky; top:20px; padding:28px; }.method-panel h2 { font-size:1.45rem; }.method-panel p { color:var(--muted); }.progress-list { margin:24px 0; padding:0; list-style:none; }.progress-list li { display:flex; gap:10px; padding:9px 0; border-top:1px solid var(--line); font-size:.9rem; font-weight:600; }.progress-list span { color:var(--accent); font-variant-numeric:tabular-nums; }.method-panel details { border-top:1px solid var(--line); padding-top:14px; color:var(--muted); font-size:.9rem; }.method-panel summary { cursor:pointer; color:var(--ink); font-weight:700; }
.assessment-form { padding:clamp(22px,4vw,46px); }.form-heading { margin-bottom:30px; }.form-status { min-height:1.5em; color:var(--danger); font-weight:650; }.intake-fields, .consent-fields, .question-group { margin:0 0 22px; padding:22px; border:1px solid var(--line); border-radius:14px; }.intake-fields legend, .consent-fields legend, .question-group legend { padding:0 6px; font-weight:800; }.intake-fields label { display:grid; gap:6px; margin:0 0 13px; color:#27354d; font-size:.9rem; font-weight:700; }.two-column { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.intake-fields input { width:100%; padding:11px 12px; border:1px solid #b8c3d1; border-radius:8px; background:#fff; color:var(--ink); font-weight:500; }.intake-fields input:focus { outline:3px solid rgba(23,126,137,.2); border-color:var(--accent); }.dimension-number { display:inline-grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#dff0f1; color:var(--accent-dark); font-size:.74rem; }.dimension-description, .question-guidance, .microcopy { color:var(--muted); font-size:.88rem; }.question-block { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }.question-prompt { margin-bottom:5px; font-weight:760; }.maturity-options { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; margin-top:13px; }.maturity-option { display:flex; gap:9px; align-items:flex-start; min-height:72px; padding:12px; border:1px solid #cbd5df; border-radius:10px; cursor:pointer; }.maturity-option:has(input:checked) { border-color:var(--accent); background:#edf8f8; box-shadow:inset 0 0 0 1px var(--accent); }.maturity-option input { margin-top:4px; accent-color:var(--accent); }.maturity-option strong, .maturity-option small { display:block; }.maturity-option small { margin-top:2px; color:var(--muted); font-size:.76rem; line-height:1.35; }.check-label { display:flex; gap:10px; align-items:flex-start; margin:12px 0; color:#33445c; font-size:.9rem; }.check-label input { margin-top:4px; accent-color:var(--accent); }.primary-button { width:100%; padding:15px 20px; border:0; border-radius:10px; background:var(--accent); color:#fff; cursor:pointer; font-weight:800; }.primary-button:hover { background:var(--accent-dark); }.primary-button:disabled { cursor:wait; opacity:.65; }
.results-view { max-width:920px; }.results-hero, .result-detail, .priority-section { margin-bottom:20px; padding:clamp(24px,4vw,48px); }.results-hero h1 span { color:var(--accent); }.results-band { display:inline-block; margin:5px 0 15px; padding:5px 10px; border-radius:999px; background:#dff0f1; color:var(--accent-dark); font-size:.84rem; font-weight:800; }.score-scale { position:relative; display:grid; place-items:center; width:166px; height:166px; margin-top:28px; border-radius:50%; background:conic-gradient(var(--accent) calc(var(--score, 0) * 1%), #e4e9ef 0); }.score-scale::after { content:""; position:absolute; inset:12px; border-radius:50%; background:var(--paper); }.score-scale strong { position:relative; z-index:1; font-size:2.65rem; letter-spacing:-.08em; }.score-scale small { margin-left:4px; color:var(--muted); font-size:.9rem; letter-spacing:0; }.dimension-results { margin-top:25px; }.dimension-result { display:grid; grid-template-columns:1fr minmax(155px,.55fr); gap:20px; align-items:center; padding:17px 0; border-top:1px solid var(--line); }.dimension-result p { margin:0; color:var(--muted); font-size:.87rem; }.bar-wrap { display:flex; align-items:center; gap:10px; }.bar { display:block; flex:1; height:9px; border-radius:999px; background:linear-gradient(90deg, var(--accent) calc(var(--score) * 1%), #e3e9ef 0); }.bar-wrap strong { width:28px; text-align:right; font-variant-numeric:tabular-nums; }.priority-section ol { display:grid; gap:12px; padding-left:22px; }.priority-section li { padding-left:5px; }.priority-section li strong, .priority-section li span { display:block; }.priority-section li span { color:var(--muted); }.method-note { margin-top:24px; color:var(--muted); font-size:.9rem; }.methodology-section { max-width:920px; margin-top:32px; padding:32px; }.text-link { color:var(--accent-dark); font-weight:800; }.noscript { margin:20px; padding:16px; background:#fff1d8; color:#5b3d0b; }
@media (max-width: 820px) { .page-shell { width:min(100% - 28px, 680px); padding-top:36px; }.assessment-layout { grid-template-columns:1fr; }.method-panel { position:static; }.maturity-options, .two-column, .dimension-result { grid-template-columns:1fr; }.score-scale { width:142px; height:142px; } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
