/* A shared clock drives the orbit and the phase it reaches. */
.about-cycle.phase-cycle-ready .orbit-runner,
.about-cycle.phase-cycle-ready .orbit-track .orbit-pulse{animation:none!important}
.about-cycle .orbit-track{color:#80bbc6}
.about-cycle .orbit-track>circle:not(.orbit-pulse){stroke:#6c8fa8;stroke-width:1.8}
.about-cycle .orbit-track>path{stroke:#a5d8dc;stroke-width:2.2}
.about-cycle .orbit-track .orbit-pulse{stroke:#74e3d7;stroke-width:4;stroke-dasharray:100 937}
.about-cycle .orbit-runner-halo{fill:#67dece;opacity:.2}
.about-cycle .orbit-track .orbit-runner-arrow{fill:#e0fffa;stroke:#70e5d9;stroke-width:1.2;filter:drop-shadow(0 0 5px #70e5d966)}
.concept .about-cycle .orbit-nodes button{
 min-height:68px;border-color:#55768d;background:#162b45;
 transition:background .3s,color .2s,border-color .3s,box-shadow .35s;color:#f7f8ff
}
.concept .about-cycle .orbit-nodes button small{font-size:9px;letter-spacing:.09em;color:#a4c3d7;white-space:nowrap;margin-bottom:5px;transition:color .2s}
/* Selection retains its explanation; only contact with the arrow fills a box. */
.concept .about-cycle .orbit-nodes button[aria-pressed=true]{background:#162b45;border-color:#55768d}
.concept .about-cycle .orbit-nodes button.is-exploring,
.concept .about-cycle .orbit-nodes button:hover{border-color:#b9eee8;box-shadow:0 0 0 3px #74e3d726,0 7px 22px #080c2d50}
.concept .about-cycle .orbit-nodes button.is-arriving{
 background:#74e3d7;border-color:#d0fff8;color:#0b0f2c;
 box-shadow:0 0 0 4px #74e3d724,0 0 28px #74e3d750,inset 0 0 18px #e0fffa30
}
.concept .about-cycle .orbit-nodes button.is-arriving small{color:#173d46}
.concept .about-cycle .orbit-nodes button:focus-visible{outline:3px solid #b9eee8;outline-offset:5px}
.about-cycle .orbit-controls .sdlc-play{background:#245668;border:1px solid #8bbec8;color:#f7f8ff;min-height:44px}
.about-cycle .orbit-controls .sdlc-play:hover{background:#317286;border-color:#b9eee8}
.about-cycle .orbit-controls>span{color:#c5d9e7}
.phase-popover[hidden],.phase-reading-guide[hidden]{display:none!important}
.about-cycle-visual{position:relative}
.phase-popover-dock{position:relative;margin-top:24px;overflow-anchor:none}
.concept .about-cycle .phase-popover-dock .orbit-controls{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;gap:12px 16px;margin:16px 0 0}
.concept .about-cycle .phase-popover-dock .orbit-controls .sdlc-play{min-height:44px;min-width:144px;padding:12px 20px;font-size:14px;white-space:nowrap}
.concept .about-cycle .phase-popover-dock .orbit-controls>span{font-size:12px;line-height:1.6;flex:1;min-width:140px}
.concept .phase-reading-guide{box-sizing:border-box;padding:18px 22px;border:1px solid #47677e;border-radius:10px;background:#162b45;text-align:left}
.concept .phase-guide-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#9eddd8}
.concept .phase-reading-guide p{font:400 15px/1.6 ConceptSans,sans-serif;color:#d2e1ec;margin:8px 0 0;max-width:46ch}
.concept .phase-popover{
 position:relative;z-index:2;box-sizing:border-box;width:100%;min-height:var(--phase-card-height,0);
 padding:22px 24px;border:1px solid #bdd8d6;border-top:3px solid #65d6d0;
 border-radius:12px;background:#f7f8ff;color:#0b0f2c;
 box-shadow:0 10px 24px #03071933;
 animation:phase-card-in .18s ease-out;
 font:400 15px/1.6 ConceptSans,sans-serif;text-align:left
}
.concept .phase-popover-measure{position:absolute;top:0;left:0;visibility:hidden;pointer-events:none;min-height:0;animation:none}
.concept .phase-popover-number{display:block;color:#17676a;font-size:10px;font-weight:600;letter-spacing:.13em;padding-right:80px}
.concept .phase-popover h3{font:500 26px/1.2 ConceptDisplay,sans-serif;color:#0b0f2c;margin:8px 0 13px;letter-spacing:-.02em;padding-right:60px}
.concept .phase-popover p{font:400 15px/1.6 ConceptSans,sans-serif;color:#36415d;margin:0;max-width:none}
.concept .phase-popover-output{margin-top:16px;border-top:1px solid #d0e2e0;padding-top:13px}
.concept .phase-popover-output>span{display:block;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#17676a;margin-bottom:5px}
.concept .phase-popover-output p{color:#17213c;font-size:14px}
.concept .phase-popover-close{display:flex;align-items:center;justify-content:center;gap:8px;position:absolute;right:8px;top:8px;min-width:80px;height:44px;padding:0 10px;border:1px solid #c7dddf;background:#edf5f5;color:#17676a;border-radius:7px;box-shadow:none;font:600 13px/1 ConceptSans,sans-serif;cursor:pointer}
.concept .phase-popover-close span{font:400 24px/1 sans-serif}
.concept .phase-popover-close:hover{background:#dcefeb;color:#0b0f2c}
.concept .phase-popover-close:focus-visible{outline:2px solid #17676a;outline-offset:3px}
@keyframes phase-card-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:980px){
 .concept .about-cycle .phase-popover-dock .orbit-controls>span{order:0;flex-basis:auto}
}
@media(max-width:540px){
 .concept .about-cycle .orbit-nodes button{min-height:58px;padding:8px 4px}
 .concept .about-cycle .orbit-nodes button small{font-size:8px;letter-spacing:.04em;margin-bottom:4px}
 .concept .phase-popover{padding:20px;width:100%}
 .concept .phase-popover h3{font-size:24px}
}
@media(prefers-reduced-motion:reduce){
 .concept .phase-popover{animation:none}
 .concept .about-cycle .orbit-nodes button,.concept .about-cycle .orbit-nodes button small{transition:none}
 .about-cycle .orbit-runner{display:none}
 .about-cycle .orbit-track .orbit-pulse{display:none}
}
