:root {
  --forest:#173f3a; --forest-2:#24564e; --ink:#173732; --muted:#61726e; --ivory:#f7f3e9; --paper:#fffdf8;
  --gold:#d7aa57; --clay:#c67f5d; --sage:#7d9b83; --blue:#7295a3; --rose:#b77b83; --violet:#9686a4;
  --line:#dcdcd2; --shadow:0 24px 70px rgba(20,56,51,.11); --radius:24px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--ivory);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input{font:inherit} button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(215,170,87,.65);outline-offset:3px}
.skip-link{position:fixed;top:-80px;left:16px;z-index:100;padding:10px 16px;border-radius:10px;color:white;background:var(--forest)}.skip-link:focus{top:16px}
.topbar{width:min(1220px,calc(100% - 40px));height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:auto;border-bottom:1px solid rgba(23,63,58,.11)}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--forest);font-family:Georgia,"Times New Roman",serif;font-size:1.08rem;text-decoration:none}.brand img{width:44px;height:44px;object-fit:contain}.brand strong{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:850}
.topbar-meta{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:.82rem}.privacy{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(23,63,58,.14);border-radius:99px;background:rgba(255,255,255,.45)}.privacy i{width:7px;height:7px;border-radius:50%;background:var(--sage)}
.workspace{width:min(1220px,calc(100% - 40px));margin:0 auto;padding:66px 0 96px}
.intro-copy{max-width:870px;margin-bottom:35px}.eyebrow{margin:0 0 10px;color:var(--clay);font-size:.78rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.intro-copy h1{margin:0 0 18px;font:500 clamp(2.8rem,5.7vw,5.35rem)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.055em;text-wrap:balance}.intro-copy h1 em{color:var(--clay);font-weight:400}.intro-copy>p:last-child{max-width:820px;margin:0;color:var(--muted);font-size:1.05rem}
.progress-header{margin-bottom:18px}.progress-header>div:first-child{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--muted);font-size:.84rem}.progress-header strong{color:var(--forest)}.progress-track{height:6px;overflow:hidden;border-radius:99px;background:#dedfd6}.progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--sage),var(--gold));transition:width .35s ease}
.assessment-layout{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(340px,.62fr);gap:22px;align-items:start}.question-card,.live-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}.question-card{padding:30px}.live-card{position:sticky;top:18px;padding:25px}
.dimension-heading{display:flex;align-items:center;gap:15px}.dimension-number{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:50%;color:white;background:var(--forest);font-family:Georgia,"Times New Roman",serif;font-size:1.15rem}.dimension-heading p{margin:0 0 3px;color:var(--clay);font-size:.75rem;font-weight:850;letter-spacing:.13em}.dimension-heading h2{margin:0;font:500 clamp(1.75rem,3vw,2.6rem)/1.05 Georgia,"Times New Roman",serif}.dimension-description{margin:17px 0 25px;padding-bottom:23px;border-bottom:1px solid #e9e8e0;color:var(--muted);font-size:1rem}
.question-list{display:grid;gap:15px}.question{padding:18px;border:1px solid #e2e2da;border-radius:16px;background:#faf8f1}.question legend{width:100%;margin-bottom:15px;padding:0;color:var(--ink);font-size:1rem;font-weight:700}.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.scale label{position:relative;min-width:0}.scale input{position:absolute;opacity:0;pointer-events:none}.scale span{min-height:62px;display:grid;place-items:center;padding:8px 5px;border:1px solid #d9d9d0;border-radius:10px;color:var(--muted);background:white;text-align:center;font-size:.76rem;line-height:1.18;cursor:pointer;transition:.18s ease}.scale input:checked+span{border-color:var(--forest);color:white;background:var(--forest);box-shadow:0 8px 20px rgba(23,63,58,.16)}.scale input:focus-visible+span{outline:3px solid rgba(215,170,87,.65);outline-offset:2px}.scale span:hover{border-color:var(--sage);transform:translateY(-1px)}
.question-navigation{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:25px;padding-top:22px;border-top:1px solid #e9e8e0}.question-navigation>span{color:#7b8985;font-size:.78rem;text-align:center}.primary-button,.secondary-button,.ghost-button,.download-button{min-height:46px;padding:10px 16px;border-radius:99px;cursor:pointer;font-size:.86rem;font-weight:800}.primary-button{border:0;color:white;background:var(--forest)}.primary-button:disabled{opacity:.35;cursor:not-allowed}.secondary-button{border:1px solid var(--line);color:var(--forest);background:white}.secondary-button:disabled{visibility:hidden}
.live-heading{display:flex;justify-content:space-between;align-items:start;gap:15px}.live-heading span,.panel-heading span,.priority-heading span{display:block;margin-bottom:4px;color:var(--clay);font-size:.72rem;font-weight:850;letter-spacing:.13em}.live-heading h2{margin:0;font:500 1.55rem Georgia,"Times New Roman",serif}.live-score{display:flex;align-items:baseline;gap:2px}.live-score strong{font:600 2.15rem/1 Georgia,"Times New Roman",serif}.live-score small{color:var(--muted);font-size:.75rem}.live-card canvas{width:100%;height:auto;display:block;margin:10px auto}.live-card>p{margin:4px 0 18px;color:var(--muted);font-size:.9rem}.dimension-dots{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.dimension-dots i{height:6px;border-radius:99px;background:#dfe1d9}.dimension-dots i.answered{background:var(--dot-color)}
.results{padding:88px 0;color:#f7f4eb;background:var(--forest)}.result-shell{width:min(1220px,calc(100% - 40px));margin:auto}.result-topbar{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.result-topbar h2{margin:0;font:500 clamp(2.5rem,5vw,4.5rem)/1 Georgia,"Times New Roman",serif;letter-spacing:-.04em}.result-actions{display:flex;gap:8px}.ghost-button{border:1px solid rgba(255,255,255,.25);color:white;background:transparent}.download-button{display:inline-flex;align-items:center;gap:8px;border:0;color:var(--forest);background:#f4dfb9}.download-button svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.result-dashboard{display:grid;grid-template-columns:.75fr 1.25fr;gap:16px}.score-summary,.radar-panel{min-width:0;padding:28px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(255,255,255,.055)}.score-ring{--score:0;--ring-color:var(--gold);position:relative;width:210px;height:210px;display:grid;place-items:center;margin:0 auto 20px;border-radius:50%;background:conic-gradient(var(--ring-color) calc(var(--score)*1%),rgba(255,255,255,.12) 0)}.score-ring:before{content:"";position:absolute;inset:17px;border-radius:50%;background:var(--forest)}.score-ring>div{position:relative;text-align:center}.score-ring strong{display:block;font:600 4.1rem/.9 Georgia,"Times New Roman",serif}.score-ring span{font-size:.68rem;font-weight:850;letter-spacing:.14em;color:#b7c8c3}.score-status{display:block;width:max-content;margin:0 auto 14px;padding:6px 10px;border-radius:99px;color:var(--forest);background:var(--gold);font-size:.75rem;font-weight:850}.score-summary h3{margin:0 0 12px;font:500 1.75rem/1.15 Georgia,"Times New Roman",serif;text-align:center}.score-summary p{margin:0;color:#bdccc8;font-size:.96rem;text-align:center}.panel-heading strong{font:500 1.25rem Georgia,"Times New Roman",serif}.radar-panel canvas{width:min(100%,560px);height:auto;display:block;margin:auto}.dimension-results{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:16px 0}.dimension-result{padding:14px 11px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.05)}.dimension-result i{display:block;width:8px;height:8px;margin-bottom:15px;border-radius:50%;background:var(--dimension-color)}.dimension-result strong{display:block;font:600 1.75rem Georgia,"Times New Roman",serif}.dimension-result span{display:block;margin-top:3px;color:#b4c4bf;font-size:.75rem;line-height:1.25}
.priority-section{margin-top:52px}.priority-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:18px}.priority-heading h3{margin:0;font:500 clamp(2rem,4vw,3.25rem)/1.06 Georgia,"Times New Roman",serif}.priority-heading p{max-width:360px;margin:0;color:#b7c7c2;font-size:.95rem}.priority-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.priority-card{position:relative;overflow:hidden;padding:23px;border-radius:18px;color:var(--ink);background:#f2eee4}.priority-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:var(--priority-color)}.priority-rank{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.priority-rank span{font-size:.72rem;font-weight:850;letter-spacing:.12em}.priority-rank strong{font:600 1.25rem Georgia,"Times New Roman",serif}.priority-card h4{margin:0 0 12px;font:500 1.5rem Georgia,"Times New Roman",serif}.priority-card p{margin:0;color:var(--muted);font-size:.92rem}.priority-card footer{display:block;width:auto;min-height:0;margin:20px 0 0;padding-top:16px;border-top:1px solid #d9d8cf;color:var(--ink);font-size:.84rem;font-weight:750}
blockquote{margin:18px 0 0;padding:35px;border-radius:20px;color:var(--ink);background:#e7dfcc;font:500 clamp(1.65rem,3.2vw,2.55rem)/1.2 Georgia,"Times New Roman",serif;text-align:center}blockquote cite{display:block;margin-top:14px;color:var(--clay);font:850 .72rem Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase}.restart-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;color:#aebfba;font-size:.82rem}.restart-row button{padding:0;border:0;color:#f2cf8d;background:none;text-decoration:underline;cursor:pointer}
body>footer{width:min(1220px,calc(100% - 40px));min-height:100px;display:flex;justify-content:space-between;align-items:center;margin:auto;color:var(--muted);font-size:.82rem}.toast{position:fixed;left:50%;bottom:24px;z-index:100;padding:11px 18px;border-radius:99px;color:white;background:#0f302c;box-shadow:var(--shadow);font-size:.86rem;opacity:0;transform:translate(-50%,90px);transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){.assessment-layout,.result-dashboard{grid-template-columns:1fr}.live-card{position:relative;top:0;grid-row:1;max-width:650px;margin:auto}.dimension-results{grid-template-columns:repeat(4,1fr)}}
@media(max-width:720px){.topbar,.workspace,.result-shell,body>footer{width:min(100% - 24px,1220px)}.topbar{height:auto;min-height:76px}.topbar-meta>span:first-child{display:none}.brand{font-size:.98rem}.privacy{font-size:.72rem}.workspace{padding:45px 0 72px}.intro-copy h1{font-size:clamp(2.5rem,13vw,4rem)}.intro-copy>p:last-child{font-size:1rem}.question-card,.live-card{padding:18px;border-radius:18px}.scale{grid-template-columns:repeat(2,1fr)}.scale label:last-child{grid-column:1/-1}.scale span{min-height:50px;font-size:.82rem}.question-navigation{grid-template-columns:1fr 1fr}.question-navigation>span{grid-column:1/-1;grid-row:1}.primary-button,.secondary-button{width:100%;padding-inline:10px}.result-topbar,.priority-heading{align-items:start;flex-direction:column}.result-actions{width:100%}.result-actions button{flex:1;padding-inline:10px}.dimension-results{grid-template-columns:repeat(2,1fr)}.priority-grid{grid-template-columns:1fr}.results{padding:65px 0}.restart-row,body>footer{flex-direction:column;justify-content:center;text-align:center}body>footer{gap:6px}}
@media(max-width:380px){.topbar{gap:8px}.brand span{max-width:120px}.privacy{padding:6px 8px}.dimension-heading{align-items:start}.dimension-number{width:44px;height:44px;flex-basis:44px}.result-actions{flex-direction:column}.dimension-results{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
