.role-explorer{margin:0 0 64px;padding:30px 0 34px;border-block:1px solid var(--line)}
.role-explorer-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px}
.role-explorer-heading>p{font-size:.75rem;max-width:43ch;text-align:right}
.role-explorer-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1fr);gap:clamp(28px,5vw,76px);align-items:center;margin-top:26px}
.role-instrument{position:relative;width:100%;min-width:0;max-width:420px;margin-inline:auto}
.role-dial{position:relative;width:100%;aspect-ratio:1;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;border-radius:50%;outline-offset:5px}
.role-dial:focus-visible{outline:2px solid var(--green)}
.role-dial.is-dragging{cursor:grabbing}
.role-dial-center{position:absolute;inset:25%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;pointer-events:none}
.role-dial-caption{font-size:.6rem;letter-spacing:.18em;color:var(--muted)}
.role-dial-index{font-size:clamp(3.6rem,7vw,6rem);line-height:1.15;letter-spacing:-.08em;color:var(--green);font-weight:700}
.role-dial-name{font-size:clamp(.7rem,1.2vw,.9rem);line-height:1.4;max-width:19ch;margin-top:5px}
.role-dial-total{margin-top:13px;font-size:.65rem;color:var(--muted)}
.role-dial-total b{color:var(--green);font-weight:400}
.role-controls{position:absolute;inset:0 0 auto;aspect-ratio:1;z-index:3;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.role-controls button{pointer-events:auto;flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);background:transparent;color:var(--green);font-size:1.3rem;transition:border-color .2s,background .2s}
.role-controls button:hover{border-color:var(--green);background:#00f12c0b}
.role-controls button:disabled{opacity:.4;cursor:default}
.latest-project{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin:12px auto 0;font-size:.75rem;color:var(--green);padding:6px 0;text-underline-offset:5px}
.latest-project:hover{text-decoration:underline}
.latest-project-dot{flex:none;width:6px;height:6px;border-radius:50%;background:currentColor;animation:latest-project-pulse 1.8s ease-in-out infinite}
@keyframes latest-project-pulse{0%,100%{opacity:1}50%{opacity:.25}}
.motion-paused .latest-project-dot{animation:none}
@media(prefers-reduced-motion:reduce){.latest-project-dot{animation:none}}
.role-readout{padding:12px 0 12px clamp(20px,3vw,44px);min-height:310px;display:flex;align-items:center}
.role-definition{width:100%}
.role-definition[hidden]{display:none}
.project-experience:hover{background:transparent}
.project-experience:hover h3{color:var(--text)}
.role-definition .eyebrow{font-size:.65rem;margin-bottom:20px}
.role-title{display:flex;align-items:center;gap:14px}
.role-title h3{flex:1;min-width:0;font-size:clamp(1.45rem,2.5vw,2.15rem);max-width:19ch}
.role-count{flex:none;display:inline-flex;align-items:baseline;gap:6px;color:var(--green);border:1px solid #00f12c44;padding:4px 9px;font-size:.9rem;font-variant-numeric:tabular-nums}
.role-count small{font-size:.6rem;font-weight:400}
.role-definition>p{font-size:.875rem;line-height:1.9;margin-top:24px;max-width:54ch}
.role-example{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.role-example span{color:var(--green);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}
.role-example p{font-size:.8rem;line-height:1.9;margin-top:9px;max-width:54ch}
@media(max-width:760px){.role-explorer{padding-block:24px;margin-bottom:40px}.role-explorer-heading{display:block}.role-explorer-heading>p{text-align:left;margin-top:12px}.role-explorer-grid{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:12px}.role-instrument{max-width:330px}.role-dial-index{font-size:clamp(3rem,17vw,4.5rem)}.role-dial-name{font-size:.8rem}.role-readout{border-left:0;border-top:1px solid var(--line);padding:26px 0 0;min-height:285px;align-items:flex-start}.role-definition .eyebrow{margin-bottom:15px}.role-definition>p{font-size:.875rem;margin-top:18px}.role-title h3{font-size:clamp(1.2rem,5vw,1.6rem);overflow-wrap:anywhere}.role-controls{gap:10px}}
@media(prefers-reduced-motion:reduce){.role-controls button{transition:none}}
@media print{.role-instrument,.role-explorer-heading>p{display:none}.role-explorer-grid{display:block}.role-readout{border:0;padding:10px 0;min-height:0}}
