.mandate-flywheel{max-width:1280px;margin:64px auto 0;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.85fr);align-items:center;gap:clamp(30px,5vw,80px)}
.flywheel-instrument{min-width:0;text-align:center}
.flywheel-overline{font:10px monospace;letter-spacing:.13em;text-transform:uppercase;color:#52664c;margin:0 0 22px}
.flywheel-face{position:relative;aspect-ratio:1;max-width:700px;margin:auto}
.flywheel-face>svg{width:100%;height:100%;overflow:visible}
.flywheel-ticks{stroke:#829579;stroke-opacity:.5}
.flywheel-segment{stroke:#183c2d;stroke-width:.8;transition:filter .2s,stroke-width .2s}
.segment-1{fill:#183c2d}.segment-2{fill:#dbe4cb}.segment-3{fill:#c9f273}
.flywheel-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:32%;color:#f2f0e7;pointer-events:none}
.flywheel-hub>span{display:block;font-size:clamp(18px,2vw,28px);font-weight:600;letter-spacing:-.04em}
.flywheel-hub small{display:block;font:10px/1.8 monospace;letter-spacing:.06em;text-transform:uppercase;color:#c7ddac;margin-top:10px}
.flywheel-choice{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:32%;min-height:90px;padding:10px 4px;background:none;border:0;color:#183c2d;cursor:pointer;border-radius:20px}
.choice-1{left:50%;top:16%;color:#f2f0e7}.choice-2{left:79%;top:67%}.choice-3{left:21%;top:67%}
.flywheel-choice>span{font:11px monospace;letter-spacing:.12em;opacity:.75}
.flywheel-choice strong{font-size:clamp(17px,1.65vw,24px);line-height:1.2;letter-spacing:-.025em}
.flywheel-choice:hover strong,.flywheel-choice[aria-pressed=true] strong{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.flywheel-choice:focus-visible{outline:2px solid currentColor;outline-offset:1px}
.mandate-flywheel[data-selected="1"] .segment-1,.mandate-flywheel[data-selected="2"] .segment-2,.mandate-flywheel[data-selected="3"] .segment-3{stroke-width:3;filter:drop-shadow(0 4px 4px #183c2d25)}
.flywheel-caption{font-size:13px;color:#52664c;margin:16px 0 0}
.mandate-reading-wrap{border-top:1px solid #829579;padding-top:24px}
#flywheel-principle{font-size:18px;line-height:1.6;margin:0 0 28px;color:#354b39}
#mandate-reading{min-height:355px}
#mandate-reading h3{font-size:clamp(30px,3.1vw,44px);letter-spacing:-.04em;line-height:1.1;margin:0 0 22px}
#mandate-reading p{font-size:16px;line-height:1.7;margin:0 0 22px;color:#526054}
#mandate-reading .mandate-recursion{padding-left:18px;border-left:2px solid #8ca759}
.mandate-recursion b{display:block;color:#183c2d;margin-bottom:5px}
#mandate-reading a{font-size:14px;color:#183c2d;font-weight:600;text-underline-offset:5px}
.mandate-controls{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;border-top:1px solid #82957950;padding-top:18px;font-size:12px;color:#526054}
.mandate-controls button{border:0;background:none;padding:0;color:#183c2d;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.mandate-flywheel [hidden]{display:none!important}
.flywheel-orbit{transform-origin:300px 300px;pointer-events:none}

@media(max-width:900px){.mandate-flywheel{grid-template-columns:1fr;gap:36px;max-width:660px}.flywheel-choice strong{font-size:23px}.flywheel-hub>span{font-size:27px}#mandate-reading{min-height:0}}
@media(max-width:500px){.mandate-flywheel{margin-top:40px;padding-inline:16px;gap:30px}.flywheel-overline{font-size:9px;letter-spacing:.08em}.flywheel-choice{gap:5px;min-height:62px;padding:3px 0}.flywheel-choice strong{font-size:13px}.flywheel-choice>span{font-size:9px}.flywheel-hub>span{font-size:17px}.flywheel-hub small{font-size:7px;letter-spacing:0;margin-top:6px}.flywheel-caption{font-size:12px}#flywheel-principle{font-size:16px}#mandate-reading h3{font-size:32px}.mandate-reading-wrap{padding-top:22px}}
@media(prefers-reduced-motion:reduce){.flywheel-orbit{animation:none}.flywheel-segment{transition:none}}

/* Set the labels into the wheel like instrument lettering. */
.flywheel-face{container-type:inline-size}
.flywheel-choice.choice-2,.flywheel-choice.choice-3{width:24%;top:64%;gap:7px}
.flywheel-choice.choice-2{left:80%}.flywheel-choice.choice-3{left:20%}
.flywheel-choice strong{display:flex;flex-direction:column;align-items:center;gap:8px}
.flywheel-choice strong em{font-family:var(--serif);font-size:5.5cqw;font-weight:400;line-height:1;letter-spacing:-.035em}
.flywheel-choice strong small{font-family:var(--sans);font-size:clamp(9px,1.8cqw,13px);line-height:1.5;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.flywheel-choice:hover strong,.flywheel-choice[aria-pressed=true] strong{text-decoration:none}
.flywheel-choice>span{border-bottom:1px solid transparent;padding-bottom:3px}
.flywheel-choice:hover>span,.flywheel-choice[aria-pressed=true]>span{border-color:currentColor;opacity:1}
@media(max-width:500px){.flywheel-choice.choice-2,.flywheel-choice.choice-3{gap:3px}.flywheel-choice strong{gap:5px}.flywheel-choice strong small{letter-spacing:.045em}.flywheel-choice>span{padding-bottom:1px}}

.flywheel-choice.choice-1{gap:7px}
@media(max-width:500px){.flywheel-choice.choice-1{gap:3px}}

/* The full painted segment is a pointer target; labels remain keyboard buttons. */
.flywheel-segment{cursor:pointer;pointer-events:visiblePainted}
.mandate-flywheel[data-hovered="1"] .segment-1,.mandate-flywheel[data-hovered="2"] .segment-2,.mandate-flywheel[data-hovered="3"] .segment-3{stroke-width:3;filter:drop-shadow(0 4px 4px #183c2d25)}
.mandate-flywheel[data-selected="1"] .segment-1,.mandate-flywheel[data-hovered="1"] .segment-1{stroke:#c5f26b;stroke-width:3}
